Commit Graph
31 Commits
Author SHA1 Message Date
Dumitru Picalau 0368201dc8 docs: rewrite the user docs in plain words (#94)
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.
2026-10-22 06:26:44 +02:00
Dumitru Picalau 8d0fa337b2 chore: fixes from the 2026-10-21 review (#93)
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.
2026-10-22 06:15:13 +02:00
Claude f8c156cd82 feat(image-filter): fit button scales the overview to fill the picker
Fit (or F) sizes the tiles so every image fits the picker without
scrolling, using the images' shape; remembered across runs.
2026-10-07 20:49:13 +00:00
Claude 8878ca879c feat(image-filter): details panel in the zoom; loop locks follow frame changes
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.
2026-10-07 20:43:29 +00:00
Claude ac27f96667 feat(image-filter): click a frame or the header button to zoom and refine
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.
2026-10-07 19:03:37 +00:00
Claude c45d3d56fa feat(image-filter): sweep grid with rows, columns and split-by for any number of wildcards 2026-10-07 18:21:25 +00:00
Claude f7f3a04844 docs(image-filter): refine step, labels, sweep grid, send to loop and the carry-over picture 2026-10-07 17:55:51 +00:00
Claude df97210d74 feat(context-loop): none button to clear a swept wildcard's options 2026-10-07 17:12:48 +00:00
Claude ab1f8e78ed feat(image-filter): chime when the picker opens, with a setting to turn it off 2026-10-07 16:34:54 +00:00
Claude 1a76ea9d45 feat(nodes): pick which images go on with WP Image Filter
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.
2026-10-07 16:20:18 +00:00
Claude 68326e855a feat(model-info): keep the model variables out of the assembler unless shown
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.
2026-10-06 05:31:17 +00:00
Claude dd234875db feat(model-info): give the node a proper widget and drop the string outputs
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.
2026-10-06 04:39:42 +00:00
Claude 929cd53652 feat: add a model info node and match-variable wildcards for model-aware pipelines
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.
2026-10-06 03:53:50 +00:00
Claude 291ac58217 feat(cleaner): empty groups, merge weights and LoRA spacing rules
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.
2026-10-06 02:31:42 +00:00
Claude 4c7303e03b docs(context-loop): describe sweep in the node help page 2026-10-05 19:26:23 +00:00
Claude 4d74851ff3 docs: document send-to-negative
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.
2026-09-30 09:24:31 +00:00
DumiFlex 10696bb98b fix(docs): lighter exemplar, more highlights, remove false Ctrl-B claim
- 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).
2026-05-27 21:17:52 +03:00
DumiFlex df95e81ec6 feat(assembler): round-trip template identity + richer Save/Load modals
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).
2026-05-27 02:22:41 +03:00
DumiFlex a553a0b37c docs(assembler): document Save / Load template buttons
Adds a Save / Load template section to the PromptAssembler help doc
covering the library save flow, the searchable load picker, and
missing-variable markers.
2026-05-27 00:34:53 +03:00
DumiFlex baf18d2dcf docs(help): per-node doc for wp_context_loop 2026-05-26 17:43:35 +03:00
DumiFlex edb9eb4687 docs(help): per-node docs for wp_var_to_int/float/bool 2026-05-26 15:22:50 +03:00
DumiFlex 388a666c3f docs(context): rewrite to describe module runner, not value holder 2026-05-26 01:52:24 +03:00
DumiFlex 84462a8fa3 docs(cleaner): document blocklist modes + tags vs text behavior 2026-05-26 01:48:42 +03:00
DumiFlex cf9251a803 docs(help): rewrite all 5 node docs concise per comfy help_page conventions 2026-05-26 01:44:29 +03:00
DumiFlex f108043bac feat(cleaner): native title tooltips on rules, mode, intensity, badge, counter 2026-05-26 01:34:01 +03:00
DumiFlex 01ae5e1c0f docs(cascade): contract doc covers option-id + (option, delete) cascade 2026-05-24 08:39:01 +03:00
DumiFlex ada7c940b1 fix(cascade): align affected_entities type with server shape + document post-undo stale-state limitation 2026-05-24 05:04:48 +03:00
DumiFlex 3d22d47805 docs: cascade-edit cross-language contract reference 2026-05-24 04:46:34 +03:00
DumiFlex c6f9f6f8b0 fix(injector): cap dynamic socket count at 10; v3 autogrow doesn't shrink 2026-05-10 19:40:15 +03:00
DumiFlex 6f358b9b48 feat(injector): help doc 2026-05-10 18:41:46 +03:00
DumiFlex 926eb2cb07 feat: i18n locales (en) + per-node help pages (#2)
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).
2026-04-26 05:51:57 +03:00