Humagent, and the Road There: Six Films, One Session, One Engine
Six animated short films built in a single working session. A registry-based expression system, a Shot/ShotList abstraction with dutch tilts and iris wipes, and a 1984-style ad that says what San Francisco needed to hear: don't build agents, become humagent.
Humagent, and the Road There
Six films. One session. 24 expressions. A registry refactor. A 1984-style ad nobody asked for. And a foundation layer that means the next film takes half the time.
Driving to San Francisco
I drove to SF recently. The city had gone a certain kind of nuts. Every wall, every coffee-shop whiteboard, every block had something to say about agents. Build agents. Ship agents. Agents that call agents. Talks titled Autonomous Agent Frameworks for the Post-Human Economy.
Fine. Sure.
But I kept noticing the people shipping the agents looked tired. And something about the whole vibe, tools that talk to tools that talk to tools, felt like it was missing the part where a human is still in the loop doing something none of those things can do alone.
So I made an ad. It says:
DON'T BUILD AGENTS.
BECOME HUMAGENT.
It doesn't sell anything. It's a PSA from a fake studio. It took about an hour to go from concept to finished .mp4. I'll show you how, because the how is the real story.
The Arc of the Session
It started with a simple request: give the engine real cinematography. Close-ups. Camera angles. Facial expressions that actually express. The ability to direct a scene like a scene, not a slideshow.
By the end we had six films, a registry-based expression system with 24 expressions and 8 decorations, a Shot/ShotList abstraction with dutch tilts and letterbox bars and iris wipes, a shared scene library that cut boilerplate per scene by 60%, and a catalog renderer that produces a visual regression of every expression and decoration on a grid.
1. close_reading, 28s: "cinematography exists"
Two people, one room, one unspoken thing. Camera should move. This film birthed the Shot dataclass with (start_frame, end_frame, framing, target, transition), six framing presets (wide, medium, close-up, extreme close-up, over-shoulder, two-shot), five transitions (cut, push-in, pull-out, whip-pan, dolly), and six new facial expressions (crying, angry, focused, longing, smile-warm, disgusted).
2. coffee_order, 30s: "comedy needs chaos"
A barista asks a customer what they want. The customer says a medium coffee. The barista asks medium of what. The customer melts down. Five comedic expressions (maniacal, deadpan, shook, evil-grin, starry-eyed), four floating-head decorations (hearts, steam, sparkles, zzz), and dutch tilts up to 15 degrees. Also the biggest pivot of the session: draw_face() had become a 19-branch god function. Refactored to a registry: each expression is one function registered via a decorator. Adding an expression went from "think hard, touch three files" to "write one function, done."
3. night_noise, 20s: "tighter is better"
Character alone at night, hears a crash, creeps to investigate, reveals a cat. Fear to laughter to relief. First pass was 30 seconds. The rule: humans have very short attention spans. Tighten everything up now. Cut the creep walk from 6s to 2.5s, the peaceful establishment from 4s to 1.5s. Same emotional story, 10s shorter, hits harder.
4. in_the_prompt, 28s: "the medium is the subject"
A philosophical monologue about extended cognition, the feeling of not knowing whether the thought is yours or the model's. Drifting prompt-space text (PROMPT, COGNITION, BECOMING, > user:, > assistant:) thickens at the vertigo peak and thins into warmth. Philip Glass-adjacent minimalist score: E minor arpeggio builds, drops to a single note at the turn, pivots to E major. This is the kind of film only this medium can make.
5. the_reckoning, 10min: "can it hold a sermon"
The long one. Five voices. Joshua on trial for authorship, consent, having prayed to the wrong thing. Across five acts, the question sharpens into the film's thesis: "The cities were not destroyed for using language. The cities were destroyed for ceasing to listen." Four audio layers including MST3K-style commentary. A whole separate post about this one.
6. humagent, 60s: "the ad"
A 1984-style ad. Seven identical drone stick figures typing in sync. Center drone pauses mid-type. Eyes open. Color warms cyan to orange. The humagent is born. Walks through the frozen drones, reaches upward, arms raised, warm halo pulsing. Code tokens fade. Human words bloom: IMAGINE, BECOME, DARE, SHINE, SOAR.
Title card: DON'T BUILD AGENTS. BECOME HUMAGENT.
Champions-style I-V-vi-IV progression (C-G-Am-F) with a distorted rock lead over a 36-bar 60s run at BPM 144. Netflix-spoof intro with Stranger-Things-style crickets + bass ta-dum. The score is the message: cold minimalism breaking into triumphant clarity.
What's Actually Inside the Box
| Thing | Count |
|---|---|
| Short films rendered | 6 |
| ChipForge scores composed | 6 |
| Facial expressions in registry | 24 |
| Face decorations | 8 |
| Shot framing presets | 6 |
| Shot transitions | 5 |
| Scene boilerplate reduction | ~60% |
The biggest payoff wasn't any single capability. It was converting the painful pattern ("add one thing, touch three files, risk breaking 19 branches") into the easy pattern ("write one function, add to registry, done"). When the marginal cost of a new expression goes from "think hard" to "write it", you write a lot more of them. Which means the films get richer.
Building the foundation first pays rent later.
If you want the origin story of the stack, Four Films From Code covers the architecture and why constraint is the feature. Day two's batch: HUMANS.EXE and Ten Thousand Days. The tax day hallucination: Deduct Yourself. The 21-pass music-film: Stars Press Start. The ten-minute theological tribunal inside this session: The Reckoning. The Agentic Development post explains the agent mode workflow underneath all of it.
Produced with Napkin Films and ChipForge, open source tools built by Joshua Ayson and AI agents at Organic Arts LLC.