Composes
bg-swap(hard-cut on scene entry — the saturated color IS the visual punch)pop-in(on the headline)- Optional
squiggle-draw-onaccent (underline under the headline)
Layout
canvas: 1080x1920 (or pack-specified)
headline_zone:
anchor: center
origin: { x: canvas_w/2, y: canvas_h/2 }
align: center
max_width_pct: 80
vertical_align: center
squiggle_accent: # optional anchor: below headline origin: { x: canvas_w/2, y: headline_y + 80 } width: 280 align: center
## Choreography
```yaml
phase_1_bg_swap:
start_frame: 0
mode: hard-cut
phase_2_headline_pop:
start_frame: 4 # let the bg-swap "land" first
effect: pop-in
delay_frames: 4
phase_3_optional_accent:
start_frame: 12 # after headline settles
effect: squiggle-draw-on
duration_frames: 14
phase_4_hold:
start_frame: 30
duration_frames: 30 # 1.0s hold
Style pack compatibility
supported: [SP-B, SP-E]
preferred_in: [SP-B]
incompatible: [SP-D, SP-F]
SP-A doesn't use centered headlines (always anchors). SP-D is mono and continuous-scroll. SP-F doesn't hard-cut.
Pack-specific overrides
SP-B (pinterest-saturated)
- Bg from rotation pool — saturated swatch.
- Headline: Inter Italic 700 at h1 size (88px).
- Squiggle accent: hand-drawn, draws on with stroke-on, ends in arrow tip.
SP-E (chaos-card)
- Bg from rotation pool — saturated swatch.
- Headline: Inter 900 at display size, ALL CAPS.
- Squiggle accent: optional, more "wobble", less polish.
- Music beat anchor required.
Duration
duration_seconds: [1.0, 1.8]
default: 1.5
This is a punctuation beat — should NOT linger. Used as breath between heavier scenes.
Quality Checks
- Headline fits within
max_width_pctat the pop-in peak. - No more than ONE squiggle accent per slate (more reads as clutter).
- Scene duration ≤ 2.0s — anything longer should be a different archetype.
Failure Modes
- Headline too long for centered layout. Two-line headlines are OK but more than 2 lines = wrong archetype. Use A12 (letter-as-canvas) or split into multiple A7 slates.
- Two consecutive A7 slates with same bg. Pack rhythm forbids — orchestrator validates at impl-brief time.
- Squiggle covers headline ascenders. Move squiggle below the headline baseline + 80px minimum.