workflow-animation-styles — procedure
Detail for SKILL.md §5-6. Every model is a ROLE from knowledge/ad-formats/_MODEL-REGISTRY.md; the model name in brackets is today's pick for that role, not a constant.
1. Style catalog (one entry per run.py --style choice + the Zach-D grammar)
Pack style_block text must end with ", premium animated commercial storyboard." — h3.video_prompt strips exactly that phrase for the video prompt and keeps the rest; canvases keep all of it.
claymation (style dir clay)
- Anchor:
output/dawn-iterate-2026-10-04/video/style-refs/clay/anchor.png(mom on the stairway diorama) +anchor2.png(clay hand + band macro). Both are frames of OUR 8-14 daily-dependency final (LIVE, QA PASS). Two search rounds found no outside narrative-claymation winner at scale; Sculpd / Pawfect Love frames in the same folder are texture-only. - Ruling (Fish 8-16): bergamot 3D "is not even claymation". True clay = handmade stop-motion, hand-sculpted matte plasticine, visible fingerprints, miniature diorama, tilt-shift, simple dot-eyed figures; negatives against smooth 3D / Pixar / glossy.
- Pack
style_block(use this, not canvas.py's genericclaymationentry, which reads "cinematic claymation… real fabric clothing" and drifts toward smooth 3D): the canonical text is thestyle_block:line ofoutput/concept-packs/dawnbands-song-nottardy-2026-10-04.md(reskin.pyPROVEN_BLOCK_PACKScopies it from there; copy it verbatim, never retype it). It reads: "Handmade stop-motion claymation exactly like our 8-14 Dawn claymation (the style anchor): hand-sculpted matte plasticine figures with simple dot eyes and soft rounded sculpted features, visible fingerprints and hand-tool marks on skin, hair and clothing, clothing with a felted textile clay look; built-to-scale miniature diorama rooms (staircase, bedroom, kitchen, nightstand) with tilt-shift shallow depth of field and a toy-scale eye-level camera; warm soft directional practical light (window light, lamps) raking across the clay to reveal texture; warm earthy palette of ochre and mustard walls, warm wood tones and muted clothing colors; genuine stop-motion cadence with slight jitter and settle, never fluid CGI motion; never smooth or glossy 3D, never Pixar-style, never photoreal humans, no readable text anywhere, premium animated commercial storyboard." - visual_negative: smooth or glossy 3D; Pixar faces; photoreal humans; overhead dollhouse camera; readable text.
- Motion: H3 smooths motion; the block asks for stepped cadence. davidaistar's clay prompt asks for "12 fps stop-motion cadence, no motion blur" (N9Cl7PKrlxQ). Gemini QA cannot see cadence: eyes.
- Camera: toy-scale EYE LEVEL inside the diorama, never overhead (overhead = Zak-D observation, §6).
- Light + materials (starpop
ai-claymation-prompts,ai-claymation-ad-examples): clay reads as clay only in bright, warm practical light; dusk, golden hour and low-key light turn it into plastic or turn the skin blue. Dawn's pre-dawn wake shots are the risk: keep a warm practical IN frame (hallway lamp, bedside lamp, kitchen light) and, when a cold source is the point (blue window, phone glow), write "skin stays warm clay-toned against the cold light" into the intent. Hard materials are written as clay imitations ("a sculpted clay imitation of a phone", "...of a coffee mug"), or the model drops into product photography mid-diorama; the band itself stays on its product sheet (matte silicone, display dark).
disney3d
- Anchor:
output/dawn-iterate-2026-10-04/video/style-refs/disney3d/anchor.png(=OURS-exhibita-90.png) andanchor2.png(=OURS-exhibita-150.png): frames of exhibit A, our best paying song. Le Petit Chef / ivannd / WAUZY frames in the folder are secondary only. - Block: canvas.py
STYLE_BLOCKS["disney3d"]as is (Fish 9-19, replaced the flat Bluey attempt): oversized glossy irises, soft rounded faces, clumped hair, matte skin with subsurface glow, warm cozy light, eye-level camera. - visual_negative: flat 2D; ink outlines; photoreal humans; glossy plastic skin; readable text.
- Use: default for a NEW Dawn story (only style with paying evidence).
pixar
- Anchor: none on disk. canvas.py block = the 9-17 Turning Red audit (college sniper; sheet v3b scored 6/10). Until an anchor exists, use disney3d for Dawn; pixar is a different face model (bigger eyes, wider mouths, chunkier bodies) and should not borrow the disney3d anchor.
- Image role note: davidaistar (TozlaC3-rCA, IolBFaQIrl4) ranks Seedream far above his other image models for Pixar/CGI composition. Our canvases run on Image gen (GPT Image 2.5); a Seedream canvas backend is NOT BUILT (§4.3).
skeleton
- Anchor:
output/dawn-iterate-2026-10-04/video/style-refs/skeleton/anchor.png(Pilloway spine character) +anchor2.png(pillow character + heat-map device). Brand family 100 ads / 629 duplicates / longest 119 days (TrendTrack pull 10-04). - Block: canvas.py
STYLE_BLOCKS["skeleton"](Fish 10-04): dressed friendly 3D skeletons with simple cartoon faces on the skull, in photoreal real rooms, warm practical light, never scary. - Decide up front (PB §4): cartoon faces on skulls yes/no; skeletons wear clothes + hair that identify each character (identity lives in the outfit, so similar-age characters need very different outfits).
- visual_negative: gore, organs, glowing eyes, horror lighting, Halloween props, x-ray gags, readable text.
paper
- Anchor: none on disk, no Dawn run ever. Find one first (§2): davidaistar claims paper ads "performed really well on Meta" with no numbers (867Fbi-lyCw).
- Block: canvas.py
STYLE_BLOCKS["paper"]is one line. ILLUSTRATIVE fuller pack block (our wording, unproven, Fish approves on the first sheet): "Layered cut-paper animation: characters, props and rooms built from stacked matte cardstock with visible paper thickness and slightly torn fibre edges, three or more depth planes with soft cast shadows between the layers, flat matte colours, small fold and score-line details, warm soft top light, the camera inside the paper world with layers running past every frame edge, premium animated commercial storyboard." - Motion need: pans, push-ins, slight parallax, stepped movement. This is tier C motion (core §2b); only the reveal/CTA/hook batches need the Stylized video role. Route: §4.2 (NOT BUILT). Today it runs on H3 like every style (works, overpays).
- visual_negative: 3D render; plastic; glossy; photoreal; outlines drawn on top of paper.
bluey (flat 2D)
- Status: rejected 9-19: the image model of the day always drew ink outlines; Fish swapped to disney3d. Canvases now run on GPT Image 2.5, so the outline failure is unverified today. Re-open only with Fish's go and a one-sheet proof. The block forbids Bluey/Bingo/Bandit/Chilli and Heeler markings: original characters only, never the IP.
bergamot
- Status: legacy smooth 3D cartoon (cartoon-pipeline
villain_parade). Abandoned as a clay substitute 8-16. No Dawn anchor. Don't start new runs on it.
Zach-D grammar (not a style key)
- Fast, matter-of-fact narration; 3-5 s beats; one hero character on one consistent "stage"; floating literal props; the camera never stops (push-throughs, whip pans, morphs, match cuts); bold title hook on top. davidaistar's version (IolBFaQIrl4) renders it as Pixar-style 3D with a stage preset (light grid / clean studio), not the 2D style REPORT.md row 19 guessed from the transcript; the Gemini watch is the better source.
- For Dawn: run it on
disney3d(orpixaronce anchored) at EYE LEVEL with the mom in frame. Recipe A (her first person) or recipe B (brand voice to "you"). Never the Zak-D overhead diorama with an observer narrator (§6). - Stage plate: one env ref named
stage(§3.4: the empty eye-level backdrop, not an isometric layout) attached to every non-room beat, so floating-prop beats share one world.
2. Finding and locking an anchor (free, ~20 min)
- Search the CATEGORY that sells the style, not the style word: transcript openers for talking characters ("I'm your…", "meet the…"), not ad-copy text (song-ad-playbook §4; the 10-04 README method note).
- Download each candidate; Gemini-classify 3+ sampled frames: is it animated, which medium, is it a story with a character.
- Prefer, in order: our own paying ad in that style → an outside winner with longevity/duplicates → our own QA-passed final (label it OURS, not a winner).
- Save frames as
output/dawn-iterate-2026-10-04/video/style-refs/<style-dir>/anchor.png(+anchor2.png), write aSTYLE.mdwith the source, proof numbers, the style guide and what to avoid (copy the shape of the clay/skeleton STYLE.md files). - Fish sees the anchor before any sheet. The anchor is for rendering style only: copy none of its characters, products, text or settings.
3. Sheet templates (our 10-04 prompt structure; one prompt file per sheet)
Layout: output/cartoon-h3/_refs/<slug>/<style-dir>/ holds char-<name>.png, env-<room>.png, product-band.png; sheet.py writes <name>.prompt.txt beside each PNG. The .args file points at the same paths (reskin.py --from-video writes it in this exact pattern).
Every prompt ends with the anchor clause: "Image 1 is a STYLE ANCHOR ONLY: copy its rendering style, materials, lighting and level of cartoon appeal, but this is a different subject, never copy its characters, faces, text or objects."
3.1 Character sheet
"Character model sheet for an animated commercial: ONE sheet on a plain soft light-grey seamless background. Show the SAME character in a clean horizontal layout: full-body front, three-quarter, side and back views, and a close-up head row of three expressions (neutral, warm smile, surprised). Identical proportions, face and outfit in every view.