Skip to content
Docs
Open Promoeyes
Heartline

Heartline

The heartbeat drives everything: a needle field turns toward a pulse, an ECG spikes on the beat while BPM climbs, the number bursts into a particle activity ring that becomes the phone screen.

A flat night sheet under a locked lens, a field of needles and a pulse with ripples and a sharp trace, then one 3D chapter of a mirror floor between rings of dotted light. Five quick 3 s beats over 15 s at about 126 bpm, cut hard on the heartbeat, with a burst into particles in the middle and a heart beating twice to land.

Length
15 s
Scenes
5
Device
iphone
Style
hyperkinetic
Camera
fast cuts, locked off, pull back

The AI keeps this film's shots, timing and camera, and puts your app in it.

//
    HEARTLINE — "Every beat, counted." ~15.2 s, 16:9, five chapters. 1 unit = 1 mm.
    Preview: http://localhost:4444/runtime?project=projects/templates/heartline/heartline.promo

    THE IDEA — a fitness app that listens to your heart. A pulse wanders a night-blue field and every
    needle in it turns to face it; each beat rings a cyan ripple through the field. The field lies
    down into one line and the line becomes a live ECG whose peaks spike on the beat while the BPM
    climbs 64 → 118. The 118 bursts into particles, gathers as a sphere, then as a dotted activity
    ring, and the ring drops onto the screen of a silver iPhone showing the run's summary.

    THE STAGE — a flat night sheet (H1–H3, H5). One locked lens: fov 30 at z 2015.3, so the z = 0
    plane is exactly 1920 × 1080 mm and 1 mm reads as 1 px. Unlit basic colour (tone_mapping=None,
    film_grain output_transform=2): every hex prints as authored. H4 is the one 3D set: a silver
    iPhone standing on a black mirror, two dotted rings of light on the floor around it, a live
    ECG running along the far wall, coral and cyan haze behind.

    PALETTE — night #0A1438 · deep #050A1E · ice #EEF2FF · needle navy #3E5590 ·
    heart coral #FF4D5E (the pulse, the peaks, the ring) · pulse cyan #2EF2FF (ripples, the trace).

    HUD — a cardiac-monitor chrome on every flat chapter: a hairline rule top and bottom with ECG-paper
    ticks, a coral beat lamp that blinks on every heartbeat, HEARTLINE + the chapter, the lead read-out
    (LEAD II · 25 MM/S), a status line, and five heart-rate-zone bars that fill one per chapter.
    The ids repeat scene to scene, so each match-move crossfades the chrome in place.

    CHAPTERS (scene · local seconds; a scene's clock starts when the gap into it starts)
      h1-pulse     2.6  01 PULSE   a 30 × 16 field of needles; the coral pulse hops three times and
                                   every needle turns to it (atan2), longer the nearer it is; on each
                                   beat a dotted cyan ripple rings out and the needles it crosses flash
                                   cyan; then the field lies down into one line at y −110.
      h2-trace     3.0  02 TRACE   the pulse pens the line: a cyan ECG sweeps left → right, five
                                   PQRST complexes spike on the beat (keyframed path d), RR intervals
                                   shorten, BPM 64 → 72 → 88 → 103 → 118; the 118 slides to centre.
      h3-ring      2.8  03 RING    118 bursts into 5,000 particles → a point sphere → a dotted
                                   activity ring that fills to 78 %, turns to face us and shrinks.
      h4-summary   3.6  04 SUMMARY the ring lands on a silver iPhone: the summary fills (ring dots,
                                   stats, heart-rate bars), the personal-best banner drops, pull back
                                   onto the phone on its mirror, Save is pressed.
      h5-lockup    2.4  05         the trace draws in from the left and spikes through the coral
                                   heart; Heartline rises, the rule draws, the tagline lands, the heart
                                   beats twice.
promo#heartline(width=1920 height=1080 fps=30 gap-clock=run)
  // score: audio/score.py (D minor, 126 BPM, a kick-pair heartbeat) · SFX stem: audio/sfx.py
  audio
    tracks
      track#music(asset="music:heartline-score" start=0 duration=15.19 volume=0.85)
      track#sfx_1(asset="media:heartline-sfx" start=0 volume=0.9)
  materials
    // flat, unlit, transparent so every element can fade
    basic#m-ice(color=#EEF2FF transparent=true opacity=1)
    basic#m-ice-dim(color=#EEF2FF transparent=true opacity=0.6)
    basic#m-ice-faint(color=#EEF2FF transparent=true opacity=0.16)
    basic#m-grid(color=#EEF2FF transparent=true opacity=0.06)
    basic#m-needle(color=#3E5590 transparent=true opacity=1)
    basic#m-dim(color=#2C3870 transparent=true opacity=1)
    basic#m-coral(co