Files
DemonGatanjieu-Anomalous_Mo…/docs/architecture
DemonGatanjieuandClaude Opus 5.5 ec81f8b230 Bring a save's pictures back onto the output nodes
Going back to a save left the last run's picture on the output node, so the canvas and the picture told different stories.

- api/workflow_saves.py keeps what each output node made, previews too, the newest 16, and read_group gives them as `outputs`.
- ui_snapshot_bar.js puts them on the nodes through the tab's changeTracker (store, restore): no `executed` event, so no plugin takes them for a new run. Several runs sit on the node as a batch does. A node the save has no picture for goes empty; Load Image's own picture stays (snapshot_plan.outputsAt).

The lit number went out every other time with a Preview Image on the canvas, and an empty undo step came with it: a loaded workflow serializes a little differently from its file, and a node gains an empty widget list when it shows a picture. The number now goes out only when the canvas really changed (withoutEmptyValues), and those differences take no step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:20:59 +08:00
..

Architecture Topic Guide

Start with the repository-root ARCHITECTURE.md, then open only the topic needed for the current task.

  • ui-flows.md: the UI map's hand-written part, in Chinese: what each part of a page is for, what a click does and why, and one name per thing (a glossary the structure check enforces). Where a word on screen is drawn and what it calls comes from the code: node tools/ui_map.mjs find <words> (tools/ui_map.mjs, its index tools/ui_map_scan.mjs; build writes the whole map to the untracked docs/ui-map.md).
  • 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: saved prompts and node values (material files), keeping an output image, and dragging prompts onto the canvas.
  • 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 lessons.md.