Commit Graph
10 Commits
Author SHA1 Message Date
ausboss ac9cc58592 Report each failed input check once, and let ComfyUI check the rest
A VALIDATE_INPUTS that takes **kwargs makes ComfyUI skip its own range
and list checks for every input, and a failed check comes back once per
input: Image Crop + Rotate + Pad without a picture showed 20 copies of
"Select or upload a source file first". Each validator now names only
what it reads.

- Image Crop + Rotate + Pad, Load Video and LaMa Inpaint read one input
  and report one error, on it. Video Crop + Rotate + Pad (Frame and
  Clip) read the three that choose the source. LoRA Loader reads the
  stack and on_missing; Save Image reads its two names and output_dir.
- Save Video has no validator any more: ComfyUI's own check holds a
  typed fps to 0.01-240.
- Load Video and the Clip node check the trim window, force_rate and
  Fixed frames as they run, where a wired bound has its value. They are
  async, so ComfyUI starts them ahead of other nodes.
- The sources still skip ComfyUI's list check on purpose, so uploads,
  subfolders, MaskEditor saves and a stale video choice in local path
  mode keep working. The path checks behind them are unchanged.
- crop_aspect_ratio accepts any whole-number W:H, as the transform
  always has, so a workflow made with someone else's presets still runs;
  anything else is now refused before the run.

tests/test_validate_inputs.py pins what each validator names (runs in
CI) and, with ComfyUI, drives ComfyUI's own validation.
2026-09-29 21:43:01 -05:00
ausboss 964e82ad7a Update contributor documentation 2026-09-28 22:02:19 -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
ausboss c390a412c9 Update the agent and contributor guides to the current pack
AGENTS.md: the lab sync is the maintainer's step, the no-network rule and
the link helper are written down, the node template it pointed to never
existed, validation lists all four checks, publishing follows version
changes only, and the dated registry status becomes durable history. A
new section sets the bar for example workflows. docs/adding_a_node.md
adds the PUBLIC_NODE_IDS step and the documentation a node needs, and
the brand skill matches Save Image's pill and the shared helpers.
2026-09-24 00:23:48 -05:00
ausboss 699208dadc Prepare 2.0.0 release candidate 2026-09-07 19:56:23 -05:00
ausboss c1fa6bb494 Guard mapping keys against a scanner-invisible regression 2026-08-13 20:08:22 -05:00
ausboss da03a3c21e Add the node brand skill and refresh agent docs 2026-08-12 22:19:13 -05:00
ausboss ec6a3c843b Brand node categories with the AB emoji
Both nodes now live under the "AB-button AusBoss" category in the node
search, matching how established packs brand their category trees. The
emoji travels to the frontend as JSON and is never printed to the console,
so the ASCII import-output rule is unaffected. Also aligns the stale
Phase 2 naming note in AGENTS.md with the AUSBOSS_NODES_<Purpose> keys.
2026-07-24 22:15:36 -05:00
ausboss 83fae3b36b Build polished transform editors 2026-07-24 20:43:53 -05:00
ausboss 8254f647ca Scaffold ComfyUI-AusBoss node pack
Project structure modeled on ComfyUI-Pixaroma (MIT) with original code:
fail-soft module loader in __init__.py, one file per node under nodes/,
per-node frontend folders under js/ with shared .mjs utilities, offline
validation script, docs, and a smoke-test workflow.

Phase 1 placeholder nodes: Text Box, Show Text (with JS frontend),
Random Line, Image Dimensions.
2026-07-24 17:21:30 -05:00