Commit Graph
3 Commits
Author SHA1 Message Date
ausboss a61d3d4ee0 H3 Prompt Writer node with width and height outputs 2026-11-02 02:07:29 -06:00
ausboss 341b1cef51 Check the node API snapshot in CI, without ComfyUI
The snapshot test needed a ComfyUI checkout, so CI always skipped it and
a renamed or reordered input passed every CI check. The same comparison
now also runs on an offline load of the pack: a standard-library Python
with torch, NumPy, Pillow, PyAV and SciPy replaced by stand-ins that
accept anything. Input and output names come from the node code itself;
with ComfyUI, a test checks that the offline load describes every node
exactly as the real load does. The ComfyUI load now runs in CPU mode, so
it never touches a GPU.

Also:
- The "became required" rule had no test of its own: its example also
  broke the input order, so deleting the rule failed nothing. It now has
  two cases only that rule can catch.
- --update refuses to write a snapshot that would break saved workflows
  or API prompts, unless --allow-breaking says the node never shipped.
2026-09-29 21:43:40 -05:00
ausboss 0532757b10 Keep Frame's resize inputs optional and pin the node API
Video Crop + Rotate + Pad -> Frame had gained its four resize inputs as
required, so an API prompt saved before them stopped validating. They
are optional now; the widget order is unchanged.

tests/test_node_api.py loads the pack the way ComfyUI does and holds every
node to tests/fixtures/node_api.json: inputs and outputs may only be
appended, never renamed, reordered, removed or newly required. Its rule
tests need only the standard library and run in CI.
2026-09-24 15:11:22 -05:00