- Opening a workflow on the canvas only hides the browser; the Workflows list stays, so opening the browser again no longer shows an empty page (the old close hid the workspace without restoring the page under it). - Card Open and more are two small round buttons in the cover's corner, so a press meant for the details does not open the canvas. - Workflow details: the models' fold says whether all are here; folds open as the viewer last left them; a tip when a workflow has no set (with Save the canvas) and one pointing at compare on a set until used. Narrow (docked) details turn the left column into a row of pills. - Save dialog rebuilt in ui_recipe_save_dialog.js: cover on the left from the canvas, the current cover or recent pictures as thumbnails; fields on the right; Cancel and Save always in view; the name starts as the canvas's saved workflow name; Esc and Enter. 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: 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.