Commit Graph
342 Commits
Author SHA1 Message Date
ausboss 8314bde808 Center Compare identity divider with equal-width labels 2026-09-26 17:54:02 -05:00
ausboss 9e086969bf Improve Compare slider snapping and explicit A/B preview locks 2026-09-26 17:51:07 -05:00
ausboss 77477c1646 Merge pull request #69 from ausboss/feat/source-previews
Preview the file under the pointer in every Source list
2026-09-25 14:27:01 -05:00
ausboss 679fbcdb8f Merge main into feat/source-previews 2026-09-25 14:16:06 -05:00
ausboss 7e697d5f3d Merge pull request #68 from ausboss/fix/seed-roll-on-switch
Roll the seed when switching to Random
2026-09-25 14:05:59 -05:00
ausboss f63b6aaaaa Merge main into fix/seed-roll-on-switch 2026-09-25 14:04:14 -05:00
ausboss 5ca4d818d7 Merge pull request #70 from ausboss/fix/qwen3vl-caption-thinking
Keep Text Generate's thinking on for the Qwen3-VL captions
2026-09-25 14:01:29 -05:00
ausboss 963b4dfe48 Merge pull request #67 from ausboss/docs/readme-creators
Point readers to the Civitai workflows and pitch the creator nodes
2026-09-25 14:01:13 -05:00
ausboss e94d50a9a7 Keep Text Generate's thinking on for the Qwen3-VL captions
Krea 2's text encoder is Qwen3-VL-4B-Instruct, which has no thinking
mode. With thinking off, ComfyUI appends an empty think block and the
model often ends its turn at once, so Krea 2 Prompt from Image could
return no text. The five examples that caption with Qwen3-VL now keep it
on; the Krea notes explain it instead of blaming greedy sampling.
2026-09-25 09:06:32 -05:00
ausboss 153eb3a25d Preview the file under the pointer in every Source list
A native select draws its option list itself, so hovering a name gave
nothing to go on: you picked by filename alone. Load Image + Pad, Load
Video and the crop / rotate / pad editors now open a list that shows the
hovered picture, or plays the hovered clip muted with its size and
length, and filters as you type; arrow keys, Enter and Escape work.

The picker (js/shared/media_picker.mjs) only reads the combo widget's
options and writes the chosen value back, so saved workflows, undo and
the API are unchanged. Pure parts live in media_list.mjs with tests.
2026-09-25 09:02:20 -05:00
ausboss 48e225766e Roll the seed when switching to Random
The mode only rewrites the seed after a queue, so the first queue after
switching from Fixed to Random reused the last seed and ComfyUI returned
the cached result. Entering Random now rolls a new seed right away, and
leaving Fixed for Step takes the first step; flipping Step's direction
leaves the number alone. Checked live on a CPU instance: a Fixed run used
12345, clicking Random showed a new seed, and the next run used it.
2026-09-25 08:48:13 -05:00
ausboss b1330993f9 Point readers to the Civitai workflows and pitch the creator nodes
Adds a line before Install linking the Civitai workflows and X with a star
ask, a short For workflow creators section (Workflow Note, Image Compare,
Seed, Run Timer, Save Image) and its row in the Find a node table.
2026-09-25 08:44:53 -05:00
ausboss 081a14217b Merge pull request #66 from ausboss/docs/manager-missing-nodes-tip
Show what to click when Manager can't find AusBoss
2026-09-25 00:18:25 -05:00
ausboss 5428a149c2 Show what to click when Manager can't find AusBoss 2026-09-24 23:23:31 -05:00
ausboss 9f96e7b673 Merge pull request #65 from ausboss/chore/share-ready-polish
Release 2.2.0: share-ready pass, no network code, new examples
2026-09-24 15:52:51 -05:00
ausboss de3112d547 Release 2.2.0: no network code, consistent nodes and new examples 2026-09-24 15:51:32 -05:00
ausboss f995ab6332 Hold Krea 2 Outpaint's canvas at 1.6 MP
With the budget at 0 a large photo kept its full size, and on a 4 MP
canvas Krea 2 painted the new sky a shade darker, creased at the corners
and cut invented limbs at the old edge. A 16-run matrix on two sky
photos (VLM on/off, feather 64/96, full size vs 1.6 MP) and a budget
sweep put the cause on canvas size alone: 1.6 and 2 MP were clean, 2.5 MP
began to band and 1 MP went blotchy. The example now uses the 1.6 MP
budget the Klein outpaint already had; the note and thumbnail follow.
2026-09-24 15:50:23 -05:00
ausboss 0932478408 Name the node tour and watermark remover like the other examples 2026-09-24 15:38:05 -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 555ddcd586 List the three new examples in the README and changelog 2026-09-24 15:02:22 -05:00
ausboss 3d63196866 Add a Dataset Frames from a Clip example
Load Video, Select Every Nth, Image Resize and Align Image turn the pier
clip into nine 768 x 1344 frames, and Save Image writes each with a
caption sidecar and size-and-counter names. No models.
2026-09-24 14:59:39 -05:00
ausboss 43a799c26b Add a LaMa Object Removal example
The rowboat PNG's painted mask goes through Mask Refine, Crop For Inpaint,
LaMa Inpaint and Stitch Inpaint, with Compare against the source: the
first LaMa example that needs no other pack, only big-lama.pt.
2026-09-24 14:59:39 -05:00
ausboss 3d295b71ac Add a model-free Video Reframe and Slow Motion example
The pier clip is cropped to a square on the Clip node, Frame Interpolate
doubles its frames with blend, and Save Video plays them at the source
rate for 2x slow motion; Select Frame and Compare check an in-between.
No models, and it runs in seconds on a CPU.
2026-09-24 14:59:39 -05:00
ausboss 04a6243efc Say what Align Image's crop and pad and Color Match's first-frame mode really do 2026-09-24 00:49:14 -05:00
ausboss 28753d3d61 Describe the shared transform face and Load Image + Pad's Reset padding
The three Crop + Rotate + Pad nodes now share one canvas row (Fill,
Feather in px, Resize) and an Open editor | Reset crop | Reset row, the
image and frame nodes report width and height, the frame node resizes,
and Load Image + Pad has a Reset padding button. Their pages still
described the old image quick row and outputs.
2026-09-24 00:48:13 -05:00
ausboss 63eb70b940 Document Select Every Nth's fps pair and Show Text's copy button 2026-09-24 00:46:14 -05:00
ausboss 358ea00b4b Name controls in the help pages the way the node faces show them
Help pages named the raw widget (divisible_by, max_frames, color_match)
where the card shows a label (Multiple, Limit, Tone match), so a reader
could not find the control. Each such control now reads as the visible
label with the widget name beside it, and option values show the text
on the segment (match a, hist, cover, guided).
2026-09-24 00:46:14 -05:00
ausboss a5070a793b Describe the Mask Refine fold and the transform resets as they now work 2026-09-24 00:46:14 -05:00
ausboss 3522c293ee Say what Color Match's first-frame mode can and cannot fix 2026-09-24 00:46:14 -05:00
ausboss 32b18d01f4 Name the Krea 2 patch output model, as the node does 2026-09-24 00:46:14 -05:00
ausboss 0948ad49ee Move the status and runtime badges clear of the node-source badge
Both badges floated above the right end of the title bar, the spot where
the frontend draws its own node-source badge, so turning them on hid one
behind the other. They sit above the left end now.
2026-09-24 00:42:43 -05:00
ausboss 4b812414d9 Describe the unreleased changes in the changelog 2026-09-24 00:38:37 -05:00
ausboss 1ac1506deb List what the workflow contract checks in AGENTS.md 2026-09-24 00:37:55 -05:00
ausboss d4cedb81be Show Select Every Nth doing the thinning in the node tour
The tour's Select Every Nth sat at nth 1, doing nothing, because it could
not carry the frame rate. Load Video now decodes every frame and Select
Every Nth keeps every other one and hands the halved rate to Frame
Interpolate; the output is unchanged: three seconds, 72 frames at 24 fps.
2026-09-24 00:37:50 -05:00
ausboss 58c0a5fab0 Check the example problems this round fixed so they stay fixed
The workflow contract now fails an example whose named widget values
disagree with the values it loads, whose id is not a random UUID, whose
saved zoom is too low to draw widget text, whose download info names a
file its loader does not select, or whose save node writes into a
folder.
2026-09-24 00:36:09 -05:00
ausboss 448194520b Make the examples' named widget values match the values they load
The frontend saves each node's widget values twice, by position and by
name, and restores by name when its experimental Restore widget values
by name setting is on. Nine example nodes had a stale named copy: the
watermark example would have loaded a different source clip and trim
window, two MiniMax H3 samplers would have randomized their seed, and
three copies had the wrong keys. Each now mirrors its loaded values.
2026-09-24 00:35:10 -05:00
ausboss e31282a0b5 Turn VLM reference back on in the Krea 2 Outpaint example
The 2.1.0 refresh reset Krea 2 Encode to its defaults when it wired the
prompt in, which switched VLM reference off; the example's own note, the
README and the patch's help page all describe the AnyPaint recipe with
it on. The node's tooltips and help page described only Registered
Outpaint; they now name both setups, as the card already did.
2026-09-24 00:33:41 -05:00
ausboss adf0c28029 Store numbered stage groups in order in four examples 2026-09-24 00:31:55 -05:00
ausboss 135b410150 Stop promising source audio from the silent sample clip
ausboss_pier_9x16.mp4 has no audio stream, so the node tour, LTX and
watermark setup cards now say Save Video keeps the source audio when the
clip has a track.
2026-09-24 00:31:55 -05:00
ausboss 8086eacdde Strip other tools' metadata from the example workflows
Drop cg-use-everywhere's ue_properties and ue_links/links_added_by_ue,
comfyui_mcp workflow ids and VideoHelperSuite's VHS_* settings. None of
these packs is part of the examples; extra.ds and the pack's own node
properties stay.
2026-09-24 00:31:55 -05:00
ausboss 5b1f117314 Open the examples at a zoom that still draws widget text
Fourteen examples saved a view scale between 0.41 and 0.51, under the
frontend's default level-of-detail cutoff (about 0.57), so they opened
with blank widget faces. Raise those to 0.6 and keep each offset, so the
view still starts at the graph's top-left corner.
2026-09-24 00:31:55 -05:00
ausboss ae10a18929 Give every example workflow a valid unique id 2026-09-24 00:31:55 -05:00
ausboss 814b0a2bba Save LoRA Loader's on_missing value in six examples
These loaders were saved before on_missing existed, so their stored
[stack, separator, panel] values put the panel's "" into the on_missing
combo. Store the current order with the default "error".
2026-09-24 00:31:55 -05:00
ausboss ba128f94bc Credit SAM3 Segment to ComfyUI-RMBG in the watermark example 2026-09-24 00:31:55 -05:00
ausboss 0aa39eaa99 Link the caption encoders to the Qwen3-VL 8B download they load 2026-09-24 00:31:55 -05:00
ausboss ce3030354b Point example model loaders at the official download filenames
Eleven examples saved the maintainer's local subfolders (Flux.2 Klein 9B/,
Krea 2/, LTX/, minimax-h3/, Upscale-Models/ ...), so the files the setup
cards link to showed up as "Value not in list". Every core loader now
selects the basename of its download URL, carries a matching
properties.models entry, and the Krea cards name the official
krea2_turbo_fp8_scaled.safetensors their link fetches.
2026-09-24 00:31:55 -05:00
ausboss db7535751d Add the megapixel resize to Video Crop + Rotate + Pad → Frame
The image and clip transform nodes could resize their output to a pixel
budget; the frame picker, whose single frame often feeds an image or
video model, could not. It takes the same appended resize inputs, off by
default, and its face and editor show them like the other two.
2026-09-24 00:31:55 -05:00
ausboss 83b8f299f1 Give the three Crop + Rotate + Pad faces the same controls
The image node had a feather on/off checkbox and no fill colour on its
face while the video nodes showed a fill swatch and a feather amount,
and only the image node had a full Reset. All three now show the same
canvas row (fill, feather in px, and the resize budget where the node
has one) and the same Open editor | Reset crop | Reset buttons.
2026-09-24 00:29:49 -05:00
ausboss 53331fa346 Report the output size from the image and frame transform nodes
Load Image + Pad, Image Resize, Align Image and the Clip node all hand
their width and height to the next node; Image Crop + Rotate + Pad and
Video Crop + Rotate + Pad → Frame did not, so sizing a latent from them
took an extra Image Size node. Both append width and height outputs.
2026-09-24 00:28:19 -05:00
ausboss a2c6b343d1 Seek transport streams from a keyframe before the target
A transport stream seeks to whichever packet precedes the target, not
to a keyframe, so after a seek the decoder dropped everything up to the
next keyframe: a trimmed load began late or, on a clip with a single
keyframe, found no frames at all, and the preview showed and reported
a later frame than the one asked for - frame 0 included, since a seek
to the stream's own start lands past its first keyframe.

decode_from checks the first frame out of a seek and, when it lands
after the target, seeks again from further back and from the top last.
Load Video, the clip decode and the frame previews all seek through it.
2026-09-24 00:26:58 -05:00