💨
USD list edit op のメモ
op(指示子)
- ResetToExplicit(デフォルト. qualifier なし)
- add(要素を最後に評価)
- delete(要素の削除を指示. 投機的に処理が行われるので, delete 要素が事前に無くともよい(e.g. composition で遅延評価で add された要素を delete したいなどに使う?)
- prepend(要素を最初に評価)
- order(使われない? pxrUSD の実装にはある)
それぞれ排他である. つまりリストが add
であれば, delete
の要素を持つことはできない
(pxrUSD C++ API 上はできるようであるが...)
つまり
def "bora" (
add references = [</a>]
prepend references = [</b>]
) {}
のような定義をしても add, prepend を混在させることはできない(USD としては, metadatum が複数定義された場合, 最後の要素が active になる)
また, list edit は上の state 以外の状態は持たない(空配列 or None
は explicit になる).
explicit = authored 状態(定義がされている)といえるか?
つまり authored or not authored はより上位で扱うことになる.
empty
references = []
pxrUSD では references = None
と print される. empty list の場合は explicit 状態となる.
add references = []
などは NG
Discussion