[skip-agent]
Follow-ups from the PR #45 review (non-blocking suggestions). Sprite tab shipped in v0.47.0/v0.47.1.
core/sprite/pipeline.py: project.plate_color is absent from the key and alpha stage fingerprints, yet auto_key_color falls back to it when the border is not uniform and alpha_runner uses it when no key report exists. Changing the plate colour and rerunning serves the cached frames. Add the plate colour to both fingerprints when key_color is auto.
core/sprite/extract.py: sorted(temp.glob("*.png")) is lexical, so 10000.png sorts before 2000.png in exact_n mode on long clips. Sort by int(p.stem).
core/sprite/project.py from_dict: an explicit null for actions, frames, cost_ledger or cell_size raises a bare TypeError; load() only converts JSON errors into a user message. Tolerate null and report other shape errors as a user-facing ValueError. Also: stage_fingerprints is mutated by the worker while to_dict iterates it under the save lock (the code comment acknowledges this); snapshot it first.
Source: review comment on #45
[skip-agent]
Follow-ups from the PR #45 review (non-blocking suggestions). Sprite tab shipped in v0.47.0/v0.47.1.
core/sprite/pipeline.py:project.plate_coloris absent from thekeyandalphastage fingerprints, yetauto_key_colorfalls back to it when the border is not uniform andalpha_runneruses it when no key report exists. Changing the plate colour and rerunning serves the cached frames. Add the plate colour to both fingerprints whenkey_coloris auto.core/sprite/extract.py:sorted(temp.glob("*.png"))is lexical, so10000.pngsorts before2000.pnginexact_nmode on long clips. Sort byint(p.stem).core/sprite/project.pyfrom_dict: an explicitnullforactions,frames,cost_ledgerorcell_sizeraises a bareTypeError;load()only converts JSON errors into a user message. Toleratenulland report other shape errors as a user-facingValueError. Also:stage_fingerprintsis mutated by the worker whileto_dictiterates it under the save lock (the code comment acknowledges this); snapshot it first.Source: review comment on #45