Files
photocraft/crates/codecs/src
Dylan M. Taylor bbcb4b825a codecs: list each Cryptomatte layer once and index streams by name (#10978)
* codecs: list each Cryptomatte layer once and index streams by name

layers() cloned the cached stream list for every cryptomatte/<key>/name
attribute that named a layer, so many keys naming one layer (in any
case or _/- spelling) retained keys x channels strings. Streams are now
indexed by normalized layer name in one pass over the channels, each
layer's list is moved into the first key that names it, and later keys
naming the same layer are skipped (decode resolves a name to its first
layer anyway).

decode() searched the layer's stream list for every decoded channel;
it now builds a stream-name -> slot map once.

* address review: compare cryptomatte layer names normalized in decode

* address review: prefer exact Cryptomatte layer name

* address review: sort cryptomatte keys so layer names are stable

* address review: prefer the key with a usable manifest when keys name one cryptomatte layer
2026-11-11 16:28:01 -05:00
..
…