A tea porter carries ninety kilos of brick tea over a Himalayan pass, and the wind up here comes in gusts you can see arriving. Hold to plant the stick and brace; release to walk. Bracing is safe and it is not free — the lamp burns down whichever you choose, and the load on your back swings a half-beat behind your stride, so a gust that catches you mid-step takes you over the edge. Nine crossings, built end to end by AI agents on Cocos Creator, headless on Linux — with the porter's walk, brace and fall carried as real motion capture in 2,275 bytes.
Hold anywhere to brace · release to walk — mouse, touch or SPACE · R restarts · P pause · M reduced motion · N mute
Payload 2,379,340 B raw / 965,836 B gzip · loads and plays in a few seconds · portrait, desktop and phone
The concept sheet is generated before any code and the build is audited against it region by region — ten props on the callout board, each one matched to an inventory row and to the file that finally shipped. Nine of the ten agree. The tenth is recorded as a deviation with its reason, which is the only useful kind of coherence check.
This piece exists to answer one question: what does real human motion cost on a tier with a 4 MB main package? A sprite sheet per animation is unaffordable and a skeletal runtime is out of the question, so the walk, the brace and the topple are mined out of CMU capture, reduced to one angle per limb per frame, and shipped as 2,275 bytes of JSON. Forty frames across three clips. The figure is a ten-limb cutout hierarchy; the same forward kinematics drives the blockout sticks and the authored sprites, which is why swapping the art in did not move a single gameplay number.
Fourteen inventory rows, seventeen rendered sprites, one 512×512 atlas with a matching camera-space normal pass. The porter's parts render at 249.6 px per metre — the lab's shared 96 PPU times this figure's scale — because that is their size on screen, so a part is drawn at scale 1 and never resampled. Rendering at 96 and scaling up in the engine is the mistake the previous cycle already paid for in a different costume.
The prayer flags snap out straight before the wind lands, and the tell is a change of shape
rather than a change of tint, because shape reads in peripheral vision while you are watching your feet. Every layout
is checked before it is played: the warning window, the smallest gap between gusts, and whether the lamp can actually
cover the crossing plus the cost of bracing for all of them. A layout that fails prints FAIR=false and the
audit fails the build. That assertion caught a light budget that could not fund its own crossing.
Every number is measured on the build that shipped. This lab's signature question is what a capability costs against the 4 MB gate, and this cycle adds motion capture to that table.
| Measurement | Value | Condition |
|---|---|---|
| WeChat main package | 2,462,582 B (2.35 MiB) | 58.7% of the 4,194,304 B cap |
| Headroom remaining | 1,731,722 B | unused |
| Cost of real motion capture | 2,275 B | 3 clips, 40 frames, 10 limbs — 0.06% of the cap |
| — for comparison, real Box2D | 415,693 B | 9.9%, measured the same way in cycle 2 |
| — and a real tilemap | 143,558 B | 3.4%, measured the same way in cycle 4 |
| Prop atlas | 234,728 B | albedo + camera-space normal, 512×512, 17 sprites |
| Audio | 248,024 B | 7 mono MP3s from sampled instruments |
| Unused fonts pruned per build | 868,140 B | 20.7% of the cap the builder ships by default and this piece does not use |
| Web build | 2,379,340 B raw / 965,836 B gzip | web-mobile target |
| Verified playthrough | 9/9 crossings, desktop AND phone, 0 errors | desktop 1280×720 and phone 390×844, Playwright |
| Cost of the Graphics backdrop | 4.3 fps → 9.9 fps with it hidden | isolated by deactivating one scene layer at a time at runtime; software GL, shared host |
| — the same box, same minute, sibling piece | 13.9 fps | Karez, already shipped and clean — the control that says how much of the number is the machine |
| Device verification | PENDING | WeChat devtools are Windows/macOS-only; see below |
What is not proven. This piece has never run on a handset. The WeChat package is structurally valid and the same code plays cleanly under headless GL, but that proves coherence and rendering, not that it boots inside WeChat. That needs operator-side credentials and a device, and until then the claim is not made.
Cycle 1 earned the engine with a custom lighting shader, cycle 2 with real Box2D bodies, cycle 3 by generating its own texture, cycle 4 by making the tilemap the state. This one earns it by carrying real human motion as data on a tier that cannot afford it any other way.
Three CMU clips reduced to one angle per limb per frame — 2,275 B for a whole gait.
Ten limbs, far side dimmed and drawn first, posed by forward kinematics.
The stack is a damped spring driven by hip sway; it lags the stride, and the lag is the danger.
Every layout proves its warning window, gust spacing and light budget before it is played.
The flags change shape, not colour — two authored states rather than a tint.
Hold to brace through one shared handler pair; mouse and touch are probed separately.
9 crossings, 36→52 m walk 1.5 m/s lamp 50 s 4→8 gusts per crossing warning 2.3→0.9 s minimum gap 2.0 s topple past 26° of swing 40 mocap frames 96 PPU, art at 249.6