Skill: Object System (Visual DNA)
What
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.
Objects vs Props (Gaming Terms)
- Objects = things that need their own reference PNG and folder
- Props = accessories/items in the scene — NOT everything needs a ref
What NEEDS a ref PNG:
- Characters (always)
- Props introduced AFTER the establishing shot (phone appearing in panel 11 — chain hasn't seen it yet)
- Small critical items at risk of being lost or changed across frames (butterfly clip)
What does NOT need a ref PNG:
- Props visible in the establishing shot — the chain carries them (bunny held from frame 1)
- Environmental items (bed, pillows, IV stand, window) — set in first frame
- Anything the expensive first frame already establishes
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.
Why Expensive Model for Object Refs
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.
Object Folder Structure
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.
Sheet.md Content
Extracted FROM the scene plan (not invented separately):
- Physical description (age, skin, hair, eyes, build)
- Clothing/accessories (specific — "yellow corduroy dungarees" not "casual clothes")
- Distinguishing features (pink bow clip, stuffed bunny, wedding ring)
- Art style note (e.g., "Pixar 3D animation style")
- For rooms: dimensions, furniture, colors, lighting, spatial arrangement
- For props: material, size, condition, how it's held/used
Reference Sheet Generation
- Model: best available (gemini-3-pro-image-preview or equivalent)
- Character sheets: single character, full body, neutral grey background
- Expression sheets: grid of face close-ups, CHAINED from character sheet
- Motion sheets: key poses in sequence, CHAINED from character sheet
- Rooms: multi-angle views (door, window, overhead)
- Props: clean reference on neutral grey
- See
reference-sheet-system skill for full prompt patterns and chaining rules
Wiring Into Prompts
In 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.
INDEX.csv
name,type,folder,tags
Ovi,character,daughter,daughter toddler 3yo purple-pajamas butterfly-clip
Maintain this for quick lookup without reading every sheet.
Common Mistakes
- Creating sheet.md without generating reference.png — the model needs PIXELS not markdown
- Leaving characters: [] empty — refs never get sent
- Generating refs with cheap model — low quality propagates everywhere
- Style mismatch between ref and project style — breaks visual consistency
- Creating refs for everything — over-engineering. The chain carries props from frame 1.