Composes
googly-eye-loop(the most common case) ORcharacter-loop(for any other looping figure)bg-swapon entry (hard-cut into the mascot's bg)
Layout
canvas: 1080x1920 (or pack-specified)
mascot_zone:
anchor: center
origin: { x: canvas_w/2, y: canvas_h/2 }
size_pct_of_canvas: 0.7 # mascot is BIG (eats 60-80% of frame)
align: center
bleed_off_canvas: true # mascot often clips edges; that's intentional
Choreography
phase_1_appear:
start_frame: 0
effect: pop-in or hold (depends on pack)
duration_frames: 4 # quick reveal — mascot scenes are mostly hold
phase_2_loop:
start_frame: 4
effect: googly-eye-loop OR character-loop
loop: true
cycle_frames: pack-specific (default 75 for eyes)
phase_3_hold:
start_frame: last - 4
duration_frames: 4 # let the loop settle before scene cut
Style pack compatibility
supported: [SP-A, SP-B, SP-E, SP-G]
preferred_in: [SP-A, SP-G]
incompatible: [SP-C, SP-D, SP-F]
Pack-specific overrides
SP-A (marshmallow)
- Default: googly-eye-loop with
asymmetric_pupil_offset: 4for the "alive" feel. - Sclera #FFFFFF, pupils #0F0F0F.
- Bg: alternating pink/cream per pack rhythm.
- No text overlay.
SP-B (pinterest-saturated)
- Mascot is usually a hand-drawn doodle character (squiggle-driven, not eyes).
- Bg: saturated swatch from rotation pool.
SP-E (chaos-card)
- Character-loop on a 3D character (skating, dancing, jumping).
- Source asset required (mp4 or svg-animation).
- Slight ±5° tilt + music-beat-anchor.
SP-G (riso-illustration)
- Illustration character with
illustration-bob+ grain overlay. - Often paired with a hand-drawn motion-line if the character is in motion.
Duration
duration_seconds: [1.4, 2.0]
default: 1.6
Mascot beats should NOT linger. Long enough for ~2 loop cycles, no more.
Quality Checks
- No text overlay on the mascot. The scene is wordless by definition.
- Mascot bbox can bleed offscreen (intentional — implies "personality larger than the frame").
- Loop cycles for at least 2 full cycles inside the scene duration.
- For googly-eyes:
asymmetric_pupil_offset ≥ 2so the eyes don't look like a "doll".
Failure Modes
- Mascot looks like a stamp. Missing the bob/loop. Verify
character-looporillustration-bobis wired. - Scene feels too long. Reduce duration to 1.4-1.6s.
- User adds copy. Mascot beats are wordless — text breaks the archetype. Move copy to an adjacent A1 scene.