Skip to content

Showcase

zhanglinghao edited this page Oct 29, 2026 · 5 revisions

English · 中文

Every film on this page was made by an agent reading only this repo's docs. Each folder keeps the request, the brief, storyboard, review notes, fix-up log and full source, so you can start a similar video from it. The README shows each film as a thumbnail with its request and a link to the MP4. The videos live in the media release, outside git, so a clone doesn't download them; tools/fetch_media.sh puts each one at its folder's media/final.mp4 (checking its checksum), which you need if you rebuild a showcase.

The five showcase films

# Film Type · engine Format What to look at
00 Launch short promo · HyperFrames 20 s, 1920×1080, code-composed score and 41 sound effects (MP4, 6.8 MB) A launch film built only from real material: the real output of bin/vh new, the routing table copied verbatim. Snapshot rounds, drafts and a fresh-context review, with every FAIL and fix logged in NOTES.md. The electronic score has a bar head on every cut
01 Clawd and the leaf hand-drawn · ClaudeAnimationBase (p5.brush) 12 s, 1920×1080, 24 fps, cartoon score and 38 sound effects (MP4, 9.0 MB) Reads used as a timing sheet; three review rounds of sheets, strips and crops, about 20 logged FAILs fixed. The underscore runs on the animation's own 120 BPM grid and the effects mimic the action as it happens
02 Why does a LEO satellite's signal change pitch? knowledge short · HyperFrames 24.8 s, 1080×1920, Chinese narration, a light score, 23 effects (MP4, 6.0 MB) Still works with the sound off: burned-in Chinese captions, a chart computed from real orbital numbers, and the one exaggeration labelled on screen. The satellite's beacon is audible, and its pitch follows the chart's Doppler curve
03 A square wave from sine waves math explainer · Manim CE 25 s, 1920×1080, English narration and a felt-piano score (MP4, 2.9 MB) 3Blue1Brown-style colour discipline; a fresh-context reviewer said "don't ship as-is", and the final cut applies its four fixes. Each harmonic sounds its own tone as it is added
04 Intro film (v5) promo · Blender + HyperFrames + Three.js 103 s, 1920×1080, 30 fps, with sound (1080p MP4, 297 MB, 4K, 1.04 GB) The concept: every star is a film. The first 15.8 s are path-traced in Blender, driven by code: a galaxy of 1.18 million stars collapses, bursts and is flattened into a sea of films. WebGL takes over through the same camera, then one continuous 3D take runs through the repo, on a code-composed score with 124 SFX events. The history is in the folder: the note at gate ① ("not stunning enough"), a WebGL look-dev, a first Blender version, and the user's go-ahead to skip gates ② and ③, with fresh-context reviewers standing in, and a 150.5 s cut the maintainer found slow, re-paced to 103 s. The previous cut, v3 (81 s, one take), is kept in v3/

Each film's README opens with the request it was built from: 00, 01, 02, 03, 04.

What each folder holds: BRIEF.md, STYLE.md, STORYBOARD.md, NOTES.md (decisions, fact checks, every review round), LESSONS.md, the source (index.html, compositions/, src/ or scenes/), and media/ with a contact sheet (and a poster or cover for some) plus final.mp4 once tools/fetch_media.sh has fetched it. Films 00–03 also have audio/ (the score, the sound-effect timing, the beat map, and for 02 and 03 the narration script and timelines) and tools/build_audio.sh. Film 04 also has REVIEW.md and DECISIONS.md, blender/ with the opening's scene code, and v3/ with the previous version. The folder READMEs also say what the docs helped with and where the agent got stuck, which is useful if you want to improve the harness.

The soundtracks of films 00–03

These four were made and finished silent. Their sound was fitted to the finished pictures afterwards, and no picture timing changed. Each score and each sound-effect list is code (audio/score.json, audio/events.json, where every event time is taken from the scene code), mixed with the profile for its type (promo, cartoon, short, explainer), and tools/build_audio.sh rebuilds the soundtrack with the same bytes every run.

  • Checked with instruments. No digital silence, dropouts or pumping; every sound cue within one frame (29 of 29 in 00, 30 of 30 in 01, 18 of 18 in 02; 03's sounds all swell, so it has no cues to check); all four at −14.0 LUFS and under −1.5 dBTP after the AAC encode.
  • The narration is AI-synthesized (Gemini TTS, with an inaudible SynthID watermark): voice Aoede in Chinese for 02, voice Iapetus in English for 03. The takes can't be regenerated, so each narration master is committed as lossless FLAC, and the NOTES say so.
  • Colour. 01 and 03 were re-encoded as limited-range BT.709 with all four colour tags, because a browser read their old tags (01) or missing tags (03) differently from ffmpeg and shifted saturated colours. 00 and 02 already were.
  • Word timings. The narration of 02 and 03 now has word timings and a speech-recognition check for every line, so the captions have per-word timing and the mix report checks masking word by word. Listening to the flagged spots, the maintainer heard 02's "2 GHz" spelled out letter by letter; that line was re-taken from its spoken form, and the captions still read GHz.
  • Sound effects were re-rendered on the new SFX engine: each event gets its own variant, so repeated transitions and foley vary from one event to the next (signal sounds such as a ding stay fixed).
  • Not yet. The maintainer heard the first candidate mixes, and the flagged narration spots in 02, but not these final profile mixes end to end.

How the intro film's opening was made

blender/galaxy.py computes, with numpy, every frame's positions for 1.18 million stars, 16,000 "film stars" that turn into glass cards near the camera, and the cards that sweep past the lens, writes them into meshes and has Cycles render the frame. Motion blur comes from a velocity attribute on every point and from per-frame camera keyframes; the arms' glow, the dust lanes and the burst's gas are volume shaders compiled from math expressions. Blender runs in a sandbox, in resumable chunks. The same galaxy.py exports every card's grid slot and the camera, so WebGL redraws the same cards through the same camera and the two renders dissolve into each other at 15.0–15.6 s. The grid and the terminal that follow are WebGL and DOM; a request is typed there (showcase 02's question), and from 25 s the body follows it through v3's one-take world (its type lights up, the gates show its outline, storyboard and draft, the final cut plays it), with the repo's counts as they were that day, a wall of the 31 style samples the library had then, and small frames of the opening's films drifting beside the path. The film's README has the details and the commands to reproduce it; what went wrong along the way is in the "大场景" section of engines/blender.md.

The 32 style swatches

Each preset in styles/ has a 5-second swatch at 1280×720 with its own code-composed score:

  • the swatch: styles/<slug>/media/swatch.mp4, with a poster frame beside it;
  • its source: styles/<slug>/swatch.js for the picture (swatch.py, a Blender scene, for tabletop-miniature), score.json for the music and events.json for the sound effects;
  • all 32 together: gallery.jpg and styles-gallery-v2.mp4 (7.9 MB, in the media release), the reel with each swatch's own sound.

All swatches show the same content, so you can compare styles directly. The 32 scores each have a genre, instruments and room of their own; how far apart they measure, and what that ruler can't tell, is in Style Library.

Also worth watching

The 14 case studies break down community films made the same way, from a 156-second hand-drawn MV to a five-minute WebGL history film. Each case study links to the original film.

Add yours

Films made with the harness are welcome in showcase/ as a pull request. Include the brief, storyboard, notes, lessons and source; the video itself goes into the media release, not git. Uploading there is the maintainer's job, so say so in the pull request, which lists the file's path and sha256 in tools/media.txt (CONTRIBUTING has the steps). See Contributing.

Clone this wiki locally