notebook_apply.js plans and makes a note's changes to the canvas: the main loader takes the note's model (same kind only), the LoRA chain right after it is rebuilt with the note's LoRAs, rewiring MODEL and, for LoraLoader, CLIP to what the old chain fed (a kept LoRA keeps its strengths), and the positive prompt box of the sampler that model reaches takes the prompt. A selected loader or prompt node decides when there are several. The note editor's "Put into this workflow" shows each change and what is left as is before writing, as one Ctrl+Z step; "New group of nodes" (formerly Send to canvas) now wires a UNet note's prompts to the canvas's only CLIP loader, and says so when there is none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Architecture Topic Guide
Start with the repository-root ARCHITECTURE.md, then
open only the topic needed for the current task.
backend.md: Python routes, filesystem safety, persistence, scan state, model sidecars, and backend performance.frontend.md: extension bootstrap, UI ownership, localization, media lifecycle, panel state, and graph mutations.recipes.md: Workflow Recipes, packages, galleries, Parameter Notebooks, prompt roles, and recipe-to-model transitions.material-library.md: generated-image snapshots, material assets, node-block reuse, and Model Check handoff.recipe-model-lifecycle.md: authoritative model fields, Hash synchronization, local matching, partial append, and note privacy.model-resolution.md: model provenance, Model Check, hash injection, model scanning, and recovery policy.../decisions/README.md: concise records of product and architectural decisions that still explain current behavior.
These documents describe current contracts rather than implementation history.
For exact changes, use Git history. For user-visible releases, use
CHANGELOG.md. For recurring implementation traps, use
.agents/logs/ai_lessons.md.