Files
DemonGatanjieu-Anomalous_Mo…/docs/architecture
DemonGatanjieuandClaude Opus 5.5 8c044d0d5a Keep very large pictures from freezing the gallery
A 20480x13312 upscale is past Pillow's pixel limit, so its card image
failed and the catch-all fallback served the 324 MB original as the
thumbnail: the gallery and the AI workbench decoded it every time.

- A picture past the limit is shrunk once by a child process
  (huge_picture.py, low priority, one at a time) and cached; a card is
  never a large original, one with no card image gets an SVG with its size.
- /anomalous/output_preview gives the viewers the picture or a cached
  4096 px copy of a very large one; the viewer (moved to
  ui_gallery_viewer.js), the image workbench's stage and the AI pages'
  larger pictures use it, with a note and "Open the original".
- The listing carries each file's size (and big ones' pixel size); such a
  card says "Very large".
- The browser-side PNG metadata read stops at the image data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 14:23:22 +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.