30 Commits
Author SHA1 Message Date
DumiFlex 6818abdc25 fix(tutorials): A17 fills a toggle's settings in its new window (#368)
A17 Switches fills name, variable, value and When off in the toggle window (#361) and saves with its Done; the Pick one line says Show in Assembler. Retaken on the PC against dev f30185d3.
2026-11-12 02:15:57 +01:00
DumiFlex 46b8690e19 refactor(note): open the note's text in the kit Modal instead of a one-off window shell (#362)
* refactor(note): open the note's text in the kit Modal instead of a one-off window shell

NodeEditWindow duplicated the kit's Modal (header, body, footer, × with Esc)
and lacked its focus handling. The note text window now uses Modal at size lg
with a ConfirmModal before discarding changes; NodeEditWindow and its kit
page entry are gone.

* chore(docs): regenerate docs index after dropping the NodeEditWindow kit entry
2026-11-11 23:09:27 +00:00
DumiFlex 18e9243542 feat(tutorials): review round 3 (callout hold rule, A17 rewrite, AI3 image ending, starter library) (#357)
Callout hold rule, dead-pause fix after runs, A17 rewrite (toggle variables first), AI3 ends by rendering with the built pack's top bundle, AI1 line, box lines in A16/T10/T12, N13 at 20x, and three starter-library items (Daydream, Lights on or off, Shot per frame).
2026-11-11 22:58:26 +01:00
DumiFlex 089b803497 feat(note): write the note's text in its own window, and drag Note and Bookmark while editing (#359)
The text and a live preview move into a window like the module editors
(NodeEditWindow, shared with the Toggles editor). The node keeps tone,
look, colour, title, pin and the bookmark settings. An open Note or
Bookmark editor now lets presses on its background through, so the node
drags.
2026-11-11 21:57:47 +00:00
DumiFlex 25dac0aa40 fix(tutorials): A07 cut-off line, A09 nested reach scene, A14 callout pacing (#355)
A07's line no longer ends on a clipped "or"; A09 shows a constraint reaching inside a nested wildcard; A14 holds each Var node box for its own line.
2026-11-11 19:25:16 +01:00
DumiFlex 59371343d7 fix(tutorials): AI4 tag lookup from the local tag list, and review retakes (#353)
AI4 asks the chat for a tag from the local tag list instead of the live Danbooru lookup. Retake fixes: template tooltips left open (A04/A18/A19), A18 convert box timing, N12 grid label, T10 reset line split, T12 callouts held for their lines.
2026-11-11 18:36:58 +01:00
DumiFlex d34fc8f8cf feat(tutorials): in-depth Context Loop, Context Injector and Image Filter videos (#352)
* feat(tutorials): in-depth Context Loop, Context Injector and Image Filter videos

N05 walks the whole Context Loop (frames vs batch size vs Run count, Edit
frame chips, Override Context seed, strategies, the seeds panel, Ctrl/Alt
click, values, a rule on $iteration, Seed List, Hold, Bypass loop). N04
takes the Context Injector apart and N12 the Image Filter (labels, prompt
edits with clip, the mask painter, Compare, Zoom, Send to Loop, the node's
settings). The old Nodes videos move to their new numbers (Debug N03,
Label & Grid N13, Note N14, Bookmark N15); N12 replaces the old N01.

* fix(tutorials): tick both rows in T03's bulk edit

The selection bar slides in after the first tick and moves the rows, so the
second click could land where its row used to be. Tick one row at a time and
check each one took.

* fix(tutorials): scroll T05's rules into view before boxing them

scrollTo now falls back to scrolling the part's own scrolling box when the
wheel doesn't move it, and T05 scrolls each branch (and the second action)
to the upper screen before its callout, so the boxes are on screen.

* fix(tutorials): narrate T06's canvas build so it plays at normal speed

The two builds had no line, so the render squeezed them to 4.5x and the
hand looked rushed. A line over each keeps them at normal speed.

* fix(tutorials): a hand at work plays at most 2x in the render

The Tutor now records when the hand clicks, drags, types or presses a key
(cues.json acts), and render.mjs speeds a silent stretch with hand work up
by at most 2x instead of up to 8x, so builds don't look rushed. The ten
longest silent builds (T04, A04, A05, A06, A09, A10, A12, L03 and two in
N14) get a line, so they play at normal speed.

* fix(tutorials): give N04's Injector room beside the stand-in nodes

The Injector landed on the first text box and covered its output, so the
first wire never connected. The stand-ins sit further right, the Injector
further right still, and the canvas slides left before the Context step.

* fix(tutorials): keep both ends of N12's new wires on screen

The mask wire was dragged from the filter to a node that had scrolled off
the top, so it dropped on empty canvas. The canvas now fits the nodes of
each wire into the free part of the screen first, and the new Set Latent
Noise Mask goes under the refine sampler.

* fix(tutorials): N05 and N04 fixes from the first takes

N05: zoom in on the Seed List while it's talked about (it sat under the
caption), and drop the callout labels that covered the frame chips and the
template. N04: narrate the Context / Assembler / preview build (36 s of
silence) and move the hand off the rows so the globe tooltip closes.

* fix(tutorials): paint N12's mask on the painter's canvas

In paint mode the mask painter replaces the detail image, so the strokes
aimed at an image that was no longer there.

* fix(tutorials): a single click doesn't hold a long wait at 2x

A Run click followed by a long wait counted as hand work, so the wait played
at 2x instead of being squeezed. A stretch now needs two or more hand
actions to be capped.

* fix(tutorials): tuck N12's picker away with its minus button

Escape in Detail goes back to the grid instead of tucking the picker away,
so the waiting pill never showed.

* fix(tutorials): box N12's two extra slots as a pair

The callout took one locator matching both slot dots, which strict mode
refuses.

* fix(image-filter): keep the picker's keys after a view change

Switching mode or leaving the painter removed the focused control and dropped
focus to body, so the picker's keys went to the canvas bookmarks. Focus goes
back to the picker. N12 hands the keys back before Compare and Zoom.

* fix(tutorials): L05 waits for Role's save to store a history entry

* fix(tutorials): a few clicks across a long wait don't cap the squeeze

* fix(tutorials): review 2026-11-11 first half (lines over empty canvas, late boxes, N12 framing)

* fix(tutorials): review 2026-11-11 A09-A19 findings

* fix(tutorials): review 2026-11-11 L03, L05, N14, E4 findings; jumpTo keeps tall notes above the caption

* fix(tutorials): A06 and T05 build their Context before the line

* fix(tutorials): N14 keeps the label's peek open through its line

* fix(tutorials): N12 boxes the extra slot rows; callouts fall back to the raw box

* fix(tutorials): N14 hovers the label before its line

* fix(tutorials): N14 keeps the hover card up while its line plays
2026-11-11 03:33:14 +00:00
DumiFlex 0a64577b87 fix(tutorials): AI1 narration fits a cloud model (#350) 2026-11-10 18:38:53 +00:00
DumiFlex 09a8630444 fix(tutorials): apply the 2026-11-10 video review (#348)
Render: squeeze silent stretches over 12 s and cut a silent opening.
Tutor: clear tooltips after each line, close suggestion lists in DOM-widget
fields, deselect(), zoomOn(top), jumpTo() zooms example steps and boxes
their notes; the caption moves up over open lists.
Tests: AI4 fails on a refused lookup, AI3 fixes until clean, Assembler
preview out of frame (A05/A12/A13), actions before their lines, late and
oversized callouts, parts under the caption, Done before the outros.
2026-11-10 16:29:23 +00:00
DumiFlex 60347372f4 fix(tutorials): keep A14's variable list open to pick from it (#346) 2026-11-10 15:18:41 +00:00
DumiFlex 55297b3e92 feat(tutorials): spoken text apart from captions (#340) 2026-11-10 05:25:10 +00:00
DumiFlex ed3b3c37aa fix(tutorials): recording fixes from the video review (#325)
Fixes every recording issue from the tutorial video review; T10 shows ComfyUI palettes; records on Watchwright 0.16 high quality at 60 fps with correct colours.
2026-11-10 05:37:49 +01:00
DumiFlex 1a807ce976 feat(tutorials): L05 shows an item's own version history (last three saves) (#321) 2026-11-09 23:48:38 +00:00
DumiFlex 7bb834a6b1 fix(tutorials): T02 ticks Setting too, through pickModules (#315) 2026-11-09 22:24:27 +00:00
DumiFlex 50223ab0ea fix(tutorials): T00 on 2.22, callouts kept inside the frame (#314)
* fix(tutorials): T00 says the videos are recorded on 2.22

* fix(tutorials): callouts stay inside the frame; T00's tags and library highlights
2026-11-09 21:02:18 +00:00
DumiFlex b7ea6582ed fix(tutorials): fixes found while re-recording the videos on Klein (#313)
Clipped callouts, addNode blur, A04/A15/A16 test fixes, L06 tidy library, example workflows on an installed SDXL checkpoint without the missing-model toast or old tabs.
2026-11-09 20:35:53 +01:00
DumiFlex 069ac06835 feat(tutorials): a clearer tutorial pack and rewritten videos (#311)
Reworks the video tutorials from the review notes: a new precise tutorial library, every video moved to it, a new pool video (A03b), pool filter by variable in A05/A12/A15, and presenter fixes.
2026-11-09 16:09:24 +01:00
DumiFlex 931e4733ad feat(tutorials): presenter fixes and Flux Klein showcase (#306)
* feat(tutorials): smaller straight-moving pointer, callouts follow their target, Flux Klein showcase

- the pointer is smaller and scrolls along a straight line to its target
- a callout follows its target and leaves when the target is hidden or covered
- the showcase loads a UNET + CLIP + VAE (Flux 3 Klein by default) or a checkpoint
- the voice reads LoRA, ComfyUI and $var_names the way they are said
- T01 boxes the whole Import committed toast

* style(tutorials): shorten speak.py docstring
2026-11-09 12:16:07 +00:00
DumiFlex 4b534a3ade fix(extension): send every per-node edit to the Assembler preview (#291)
The preview dropped 11 instance keys the engine reads (constraint reach, cell/exception overrides, derivation branch edits, hold seeds), so it could show picks the run never makes. A test now checks the whitelist against the engine handlers.
2026-11-05 19:24:25 +01:00
DumiFlex 477211ab31 fix(extension): preview reads a Context seed wired from another node; A09 rolls one shared seed (#290)
The Assembler preview now follows a seed input wired from an Int or seed node. Tutorial A09 wires one Int into all three Contexts and steps it.
2026-11-05 18:22:57 +01:00
DumiFlex cf478135f1 fix(tutorials): drag the A06 constraint between Hero and Setting before the fallback (#288)
A06 showed the fallback with the constraint below Setting, where it reached nothing. The video now shows the wrong pick and the badge, drags the constraint into place, then shows the throne room on every seed.
2026-11-05 16:01:15 +01:00
DumiFlex 7bd346c58f fix(tutorials): loop videos show every frame with Easy-Use's Show Any (#287)
A05 and A16 use Show Any (Easy-Use) instead of Preview as Text, which shows only one frame of a loop; A05's injector step is laid out in frame.
2026-11-05 15:11:34 +01:00
DumiFlex 8294f99a20 fix(tutorials): A02 shows inline picks in a fixed value, not the Assembler (#286)
The Assembler prints inline picks as typed; A02 now writes the multi-pick in the Style fixed value and reads $style in the template.
2026-11-05 13:12:45 +01:00
DumiFlex a989f2cf5c fix(tutorials): T00 opens each page before talking about it (#284)
The wildcards list, Hero editor, docs and settings now open before their line, so the page is on screen when it is named.
2026-11-05 11:16:33 +01:00
DumiFlex 3a6bc02c15 fix(tutorials): tour first, then the library import, then the first prompt (#282)
Get started opens with the tour (T00), then the library import (T01), then the first prompt (T02), with re-chained narration and a 2.21 version note. AI1 says models can make things up and bigger ones do better.
2026-11-05 10:49:25 +01:00
DumiFlex 02d7bf18c0 test(tutorials): the full tutorial curriculum, 51 videos (#281)
All 51 video tutorials as Watchwright tests in tutorials/ (T00-T12, A01-A19, L01-L06, N01-N05, E1-E4, AI1-AI4), with the Tutor fixes found while recording them.
2026-11-05 02:39:53 +01:00
DumiFlex b712b82c0e fix(tutorials): cut page loads out of the videos (#274)
* fix(tutorials): cut page loads out of the videos

go() waits for the line being spoken, then the page load and the canvas
clean-up are cut from the video instead of playing under the narration.

* fix(tutorials): open the page before the line that talks about it

A line spoken before go() played over the previous page (at the start of a
take, the last take's canvas). Load first, then speak; a take that opens a
page first starts after that load.
2026-11-04 19:39:21 +01:00
DumiFlex 043b0dc1c5 chore(tutorials): T07–T09, A01, hidden variables, WP Debug in showcases, caption and zoom fixes (#273)
* fix(tutorials): never wheel-scroll on the canvas, where the wheel zooms

* chore(tutorials): T04 hides Hero and Outfit once the combine uses them

* chore(tutorials): show WP Debug while the showcase images land

* chore(tutorials): T07 templates: save, load and edit Prompt Assembler templates

* chore(tutorials): T08 bundles; keep WP Debug above the captions

* chore(tutorials): T09 Context node, A01 tag groups, hide unused variables, WAI checkpoint

- T09: seed after-run modes, item seed lock, row menu, per-node edit, node help
- A01: tag groups (descriptive and accepts), $gear.SHOES; Travel gear in library.json
- T04, T05, T08 hide variables no template prints; T08 opens its bundles before folding them
- Fast-forward waits for the caption so it no longer flashes past
- WP Debug refits after each run; a tall Context folds its rows first
- Default checkpoint waiIllustriousSDXL_v170

* fix(tutorials): render starts a sped-up part after the caption on screen ends

* fix(tutorials): WP Debug sits snug under the Context; node search retries; T09 picks Randomize

* style(tutorials): wrap a long line in speak.py

* fix(tutorials): keep voice in sync, bigger previews, one bundle open at a time

render.mjs makes the recording constant frame rate before cutting it (the
recorder only writes changed frames, so still stretches dropped out at each
cut and the picture ran ahead of the voice), lines the voice up at every
sync mark and paints the marks out. The hand waits until the voice is
partway into a line, and page loads no longer wait for the line to end.
Nodes sit higher and the Assembler further left, so the preview and the
Debug rows fit; T08 opens one bundle at a time; T09 really sets Randomize.
2026-11-04 18:10:33 +01:00
DumiFlex 00195077cd chore(tutorials): add tutorials 2-6 (#270)
Adds go/fill/scrollTo/pickModules helpers to the presenter and an optional
showcase that renders real images with a chosen checkpoint.
2026-11-04 14:29:28 +01:00
DumiFlex d1f89d0e64 chore(tutorials): record video tutorials with a Watchwright pack (#264)
Adds the tutorials/ Watchwright pack (T01 "Your first random prompt"), Kokoro voice lines and render.mjs; bench resetLibrary checks the fixture's own module count.
2026-11-04 12:38:10 +01:00