| name | A9-phone-card-carousel |
| description | motion-graphic scene archetype — multiple phone-shaped cards conveyor-panning across the canvas at constant velocity. canonical UTURN / TikTok-feed look. partial cards at canvas edges imply infinite content. composes conveyor-pan as the sole motion + sticker-chip-pop overlays per card. |
A9 — phone-card carousel
Composes
conveyor-pan (the signature mechanic)
sticker-chip-pop per card (tier-2, fires as each card enters the visible window)
bg-swap on entry
Layout
canvas: 1080x1920 (or pack-specified)
outer_bg:
color: pack.background (often black for SP-E)
fills_canvas: true
card_strip:
laid_out: horizontal flex
card_width: 720
card_height: 1280
card_gap: 80
card_radius: 32
card_tilt_random: random_uniform(-8, 8, seed=card_index)
cards_visible_at_once: 2.3
Choreography
phase_1_conveyor:
start_frame: 0
effect: conveyor-pan
velocity_px_per_sec: 360
easing: linear
phase_2_per_card_stickers:
trigger: card.entered_visible_window
effect: sticker-chip-pop
delay_after_entry_frames: 8
phase_3_no_hold:
description: conveyor doesn't hold — it continuously moves through the scene
Style pack compatibility
supported: [SP-E]
preferred_in: [SP-E]
incompatible: [SP-A, SP-B, SP-C, SP-D, SP-F, SP-G]
This is an SP-E-specific archetype. The continuous-conveyor mechanic doesn't fit other packs' transition vocabularies.
Pack-specific overrides
SP-E (chaos-card)
- Card bg: each card uses a different saturated swatch.
- Card tilt: ±5-8° per card.
- Music beat anchor optional (conveyor is continuous, doesn't beat-lock).
- Card content: brand wordmark top-left + headline + product image.
Duration
duration_seconds: [4.0, 12.0]
default: 6.0
Driven by card count × visible window. Computed as (card_w + gap) × cards.length / velocity_px_per_sec.
Quality Checks
- Velocity is constant (linear, no spring).
- Partial cards visible at both canvas edges throughout.
- Card-tilt is randomized but seeded (deterministic across renders).
- Strip total width ≥ scene duration × velocity (so the strip doesn't run out).
- Sticker chips on each card fire AFTER the card enters the visible window, not before.
Failure Modes
- Conveyor pauses or stutters. Easing isn't linear. Force linear translateX.
- Strip runs out — white gap at canvas edge. Increase card count or duplicate the strip.
- Stickers pop on offscreen cards. Compute card visibility window correctly; only pop when card's bbox enters canvas bounds.
- Cards all tilt the same direction. Seeded random isn't varying enough; use full ±8° range.