Every built-in docs page, node help panel and the README is shorter and
plainer, with new screenshots of the current nodes. The AI assistant page
is split into short pages, a new How to group covers variations, making
picks agree, keeping something steady, sharing and troubleshooting, and
wildcard import has its own page. The warnings reference uses WP Debug's
labels, the AI image descriptions match the new screenshots, and the
release notes are rewritten in plain words. Local models need at least
16k of context; 32k is recommended.
Shorter release notes, SeedList help, small-model docs; _chat_turn split and pyright in CI; ESLint a11y ratchet and Modal focus trap; tags/models/Image Filter tests; AI LAN warning, web allow expiry, one thinking setting per answer on local models, recommended hints and Reset to recommended (16k context minimum, 32k recommended); Assembler Clear template clears the negative; Vue 3.5.44, SECURITY and Dependabot.
I (or Details) adds the frame's variable values, seed, other images and
the prompt with each value marked to the zoom. The node now sends each
frame's variables. Lowering a Context Loop's count drops seed locks and
bypasses past it, and a sweep edit moves them with their combination
instead of leaving them on whatever frame lands there. Budget 468 KB.
Clicking an image only picks it; clicking the frame around it (border or
label) opens the zoom, and a Zoom & refine header button toggles it, so
prompt edits and mask painting are findable without knowing Space. A
frame with several images gets an 'all' button that picks the frame.
A new node that pauses the run and lets you pick images in a picker.
Only the picks continue, and every other slot follows them: latent and
masks are sliced, batched CONDITIONING is sliced (pooled_output too),
prompt texts and Contexts are kept or dropped with their frame, and two
MatchType extras carry anything else. Works per frame for Context Loop
lists, sends picks as the same shape or one item per image, can reuse
the last picks or pass everything, and stops only its own branch when
asked. The picker can be minimised without losing picks.
Raises the js/ bundle budget from 440 to 452 KB for the picker glue.
Each Detected row gets the Injector's globe. All three start internal:
later rules read them, the Assembler and its chips leave them out until
the globe is clicked. The canvas walkers and preview chain follow the
same flags.
Detected values with their source and a pin per row replace the
override text boxes; variant rules become editable rows that light up
on a match. The family shows after a run via the node's UI payload.
The node now outputs only its context.
WP Model Info writes $model_family (from the model's config class),
$model_variant (file-name rules) and $model_name into the Context, reading
the checkpoint name by following its MODEL link back to the loader. Graph
walkers, the assembler preview and WP Debug know the new variables.
A wildcard instance can now match a variable instead of rolling, so a
model wildcard becomes a constraint source. The derivation editor gains a
LoRA by model preset. Docs, node help, README and release notes updated;
bundle budget raised to 432 KB.
Three prompt-syntax rules for WP Prompt Cleaner, run before whitespace so
the existing rules tidy the seams they leave:
- empty_groups drops (), [], ( , ), (:1.2) and groups left empty
- merge_weights folds nested ( ) weights into one group, ComfyUI-style
(((a:1.1):1.2) -> (a:1.32)), and unwraps a weight of 1
- lora_spacing tidies <lora:...> tags and the space around them
Balanced turns on empty groups + LoRA spacing; aggressive adds merge
weights. The negative column follows the same presets.
A new Negatives page in the in-app docs covers where negative words come
from, how they follow the variable, what each negative field accepts, the
Assembler's negative output and $negatives slot, quiet refs that never
shift picks, the Cleaner's negative column, the bulk `--` syntax and the
schema 8 stamp. The Assembler, Cleaner, Injector, Derivation, WP Debug
and Test Runner pages (and the node help files) describe their new
inputs, outputs and fields, and the release notes gain an entry.
- DocKeyList primitive: controls/options render as highlighted accent
term-chips + spaced descriptions instead of a wall of bold bullets.
- DocSection: flex-column rhythm (even spacing; images no longer sit
flush against text) + accent-colored bold so highlights aren't carried
by weight alone.
- WP Context Loop page uses DocKeyList for its controls.
- Remove the FALSE claim that Ctrl-B doesn't work on WP Context Loop
(it works fine, as does Ctrl-M) — from the node page, the seeds-and-loops
concept page, and the WP_ContextLoop help doc. The config Bypass switch
is described accurately (collapses to a single run, keeps the node wired).
Load now persists the picked template's {id,name} on node.properties
(workflow-serialized, survives reload), so Save can offer to update the
exact row the user loaded — the template-side analogue of the bundle
push-to-library identity. Clearing the template drops the ref.
Rebuilds both modals on ModalShell with the library look adapted from
ModulePickerModal / PushToLibraryModal:
- LoadTemplateModal: search + category/tags/favorites filter popover +
scrollable rows, single-click pick (no kind tabs / multi-select).
- SaveTemplateModal: name/description/category/tags + live preview, with
a dual footer — "Update existing" (the loaded or same-name row) and
"Save as new entry" (create, auto-suffixed). Saving rebinds the load
identity so the next Save defaults to updating that entry.
Bumps the total bundle budget 380 -> 385 KB for the two heavier lazy
modal chunks (~3 KB net gzip; entry untouched).
Adds a Save / Load template section to the PromptAssembler help doc
covering the library save flow, the searchable load picker, and
missing-variable markers.
Wires two ComfyUI extension points so the nodes are discoverable to
casual users without reading source.
* i18n — `locales/en/` follows ComfyUI's auto-scan layout:
- `nodeDefs.json` — display names, descriptions, input/output names,
tooltips for WP_Context, WP_PromptAssembler, WP_Debug.
- `settings.json` — Reduce motion + Contrast accessibility combos
keyed as `wildcardPipeline_a11y_*`.
- `main.json` — settings category labels (Wildcard Pipeline,
Accessibility).
English baseline only; structure ready for community PRs to add
zh/ja/fr/etc. without code changes.
Docs: https://docs.comfy.org/custom-nodes/i18n
* Help pages — `docs/help/<NodeId>.md` (markdown) gets copied to
`js/docs/` (the WEB_DIRECTORY) at build time via
`scripts/copy-help-docs.mjs`. ComfyUI auto-scans
`${WEB_DIRECTORY}/docs/<NodeId>.md` and surfaces the rendered
markdown in the node-help panel. Three pages written in casual-user
voice: what the node does, how to use it, what icons mean — no dev
jargon (no "last-write-wins", "idempotent", regex, etc.).
Docs: https://docs.comfy.org/custom-nodes/help_page
* Build pipeline: `pnpm build:extension` now chains
`vite build && pnpm docs:copy` so a fresh `js/` always carries the
latest help pages alongside the bundled JS chunks. CI picks this up
automatically (the same script ran by .github/workflows/ci.yml).