<h1 align="center">
<a href="https://prompts.chat">
Characters and key props get reference PNGs — generated with the most expensive model available. These PNGs are sent alongside prompts to anchor identity across the sequence.
Loading actions...
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
Characters and key props get reference PNGs — generated with the most expensive model available. These PNGs are sent alongside prompts to anchor identity across the sequence.
The first frame does the heavy lifting. Get panel 01 right with the expensive model, and the chain propagates everything — characters, props, environment, lighting — downstream. Don't over-create refs. The chain IS the consistency system.
The reference PNG is seen by the generation model in every panel that character appears in. If the ref is low quality, generic, or stylistically inconsistent, that propagates everywhere. Spend $0.14 on a reference to save quality across 14+ panels.
Each folder = ONE entity. Characters, rooms, props — each gets its own folder with its own reference sheets.
objects/{name}/
sheet.md — visual description, design rules
character-sheet.png — (characters) full-body identity reference
expression-sheet.png — (characters) facial expression grid
motion-sheet.png — (characters) key action poses
view-door.png — (rooms) view from entrance
view-window.png — (rooms) reverse angle
view-overhead.png — (rooms) top-down layout
reference.png — (props) clean object reference
Not every entity needs every sheet type. See reference-sheet-system skill for which sheets each entity kind needs.
Extracted FROM the scene plan (not invented separately):
reference-sheet-system skill for full prompt patterns and chaining rulesIn prompts.json, every entry that features a character MUST have:
"characters": ["daughter", "mother"]
NEVER leave "characters": [] when objects exist. The resolve_refs() function in generate.py looks up objects/{name}/ and sends all PNGs found there as image inputs to the model.
name,type,folder,tags
Ovi,character,daughter,daughter toddler 3yo purple-pajamas butterfly-clip
Maintain this for quick lookup without reading every sheet.