Cockpit LP — Cinematic sequence (clouds → jet → cockpit → ignition)
The four scenes that play as you scroll the SQUAREONE Cockpit landing page from top to bottom, joined in page order into a 31-second film: a jet tears out of a sea of cloud, instruments light up in a dark cockpit, and a pilot's finger presses the Keyless AI key until the frame burns to white. On the page itself the scrollbar is the timeline — the film moves at the reader's own pace.
The page these films live on. Scroll it and scenes 2–4 advance with the scrollbar.
사이트 열기 — SQUAREONE Cockpit landing page ↗
| Kling 3.0 | Cloud loop generated with start frame = end frame (scene 1) |
|---|---|
| 動画生成モデル (8〜10 秒 / 24fps) | Jet, cockpit and button shots; the jet was made both image-to-video and text-to-video and compared |
| ffmpeg (scrub encode) | All-intra re-encode for the LP (193 of 194 frames) so seeks to any scroll position are instant |
| requestAnimationFrame | On the LP, each section's visibility is written to video.currentTime every frame; no autoplay |
| ffmpeg (xfade) | For this archive the four scenes are joined with 0.6-second fades (1280×720 / 24 fps) |
Story
The whole page rides on a fighter-cockpit metaphor. Open it and a sea of cloud drifts endlessly (scene 1, a 7-second loop); start scrolling and a jet tears through the cloud (scene 2, 8 s), instruments light up one by one in a dark cockpit (scene 3, 8 s), and finally a gloved finger presses the Keyless AI key until the frame burns to white (scene 4, 10 s). That white-out hands over to the next section — it is the page's ignition.
On the page, scenes 2–4 have no play button. A permanent requestAnimationFrame loop normalises each section's visibility to 0–1 and writes it to video.currentTime. Stop scrolling and the film stops; scroll back and it reverses. The reader's hand sets the tempo.
How it was made
Scene 1's clouds come from Kling 3.0. Giving it the same cloud image as both start and end frame produces motion that returns to its first frame, so the loop joins without a crossfade. A 16-second version moved too much and the cycle became readable; a 9.8-second cut slowed it down; the final 7-second drift is where the period stops being noticeable.
Scene 2's jet was generated two ways — image-to-video from a still, and prompt-only text-to-video — both 1920×1080, 24 fps, 8 s. Both were scrolled through on the real page, and the take whose airframe held its shape and whose cloud motion tracked the scroll speed naturally was adopted. Scene 3 trims a dead beat from the start of an 8.1-second take and maps the stretch from first light to visible airframe onto the scroll. Scene 4 — hands and finger counts are where generated video breaks most — was exported three times before a take with fingers closing naturally to the end.
A normal encode has one keyframe per 8 seconds, so seeking to an arbitrary time means decoding everything after it — far too slow to follow a scroll. The versions on the LP are therefore "scrub" encodes with every frame a keyframe, three to four times the size of a normal file. The first cut put quality first and was heavy on mobile (10.4 MB); dropping to 720p brought each scene to around 6 MB. Where to draw that cost line was the main tuning of every scrub clip.
The film on this page joins the four LP clips with 0.6-second xfade transitions in ffmpeg. On the LP only scene 1 loops; scenes 2–4 are scroll-driven, so a version you can simply watch through was made for this archive.
- Jet (i2v / t2v), cockpit and the 16-second cloud loop generated; scrub encodes tested
- Cloud 9.8 s cut; button first and second cuts; cockpit scrub first cut (10.4 MB)
- 7-second cloud, 720p cockpit and final button cuts adopted and wired into the LP
- Four scenes joined into one 31.4-second film for this archive