Purrpetual Motion
An infinite, input-steered stream of short, cute, and silly video clips. Keyboard, mouse, gamepad, and controller telemetry become the remote control.
Product pitch — 1280x720, 21 fps, 14 s, 302 kB. All source images are public-domain or CC0 from Wikimedia Commons.
The JEPA-to-CAT-VLM blueprint sketched a moving image of everything: a learned latent world model you can query, steer, and render. This post turns that idea into a product concept. We are calling it Purrpetual Motion — a continuous stream of short, cute, silly, diverse clips, spliced together endlessly and steered by the raw telemetry of your hands on the controls.
The idea in one sentence
Purrpetual Motion is a full-screen, real-time clip stream that reads every input device you are holding and uses that signal to choose, blend, and cross-fade short, loopable micro-clips into something that feels like one endless, living movie.
What steers the stream
The input layer is intentionally broad. A keyboard is not just arrow keys; a mouse is not just clicks; a gamepad is not just face buttons. Every event becomes part of a control vector:
- Keyboard — key-down histograms, chord patterns, and key cadence.
- Mouse — position deltas, click bursts, scroll direction and speed.
- Gamepad — buttons, analog sticks, triggers, and D-pad state.
- Controller sensors — gyro, accelerometer, and touchpad data from DualSense/DualShock-style pads where available.

How the loop works
The runtime has five stages. Each one is a separate subsystem; the first two already exist, the last three are research and engineering targets.
- Input telemetry capture — the V Engine samples keyboard, mouse, and gamepad state at the fixed timestep and emits a normalized
control_vector. - Control → latent steering — the
control_vectormaps to a smallsteer_vector(energy, chaos, warmth, zoom, verticality, speed). In the first prototype this mapping is hand-tuned; later it becomes a learned CAT VLM/PI Agent module. - Clip bank and selection — a library of short, loopable micro-clips (2–5 seconds each) is tagged by latent coordinates. The
steer_vectorpicks the next clip and the interpolation parameters. - V Engine render — the engine cross-fades and composites the selected clips at 60 fps into a continuous fullscreen stream.
- Agent layer — the PI Agent / CAT VLM can answer questions about the stream and accept tool calls such as
predict_next_cliporchange_mood.

Implemented, in progress, and roadmap
| Subsystem | Role in Purrpetual Motion | Status |
|---|---|---|
| V Engine renderer | ECS, PBR, deterministic job scheduling, fullscreen output, and continuous cross-fade rendering. | Implemented |
| Input capture | Keyboard, mouse, and gamepad sampling through SDL3/engine input systems. | Implemented |
| PI Agent VLM | Local Crypt-authorized agent runtime for natural-language queries and tool calling. | Implemented |
| CAT VLM text/embedding base | Dual-stream GRU L3, BPE, MiniLM, ring-buffer attention — the recurrent backend for a future learned control mapping. | Implemented |
| Control → latent mapping | Learned or hand-tuned mapping from human telemetry to a steering vector. | In progress |
| Micro-clip bank | Curated, well-tagged library of short loopable clips and a cross-fade scheduler. | Roadmap |
| Action-conditioned predictor | JEPA-style latent predictor that answers "what happens if I press this?" | Roadmap |
| End-to-end app shell | Packaged binary that boots the stream, reads all input devices, and exposes the agent panel. | Roadmap |
Why it is not just a playlist
A long playlist of cute videos would be repetitive and passive. The point of Purrpetual Motion is that the input signal is never the same twice, and the clip-selection layer can interpolate between adjacent clips in latent space. The stream is not a queue; it is a continuous cross-fade in which the human operator is an extra input dimension, like a DJ mixing an endless track.
Perpetual, not looping
The clip bank is combinatorial and the transitions are blended. The same starting point can branch into many different continuations depending on the control signal.
Input as content
Your controller telemetry is not just navigation. It becomes part of the generative signal that decides which clip plays next and how it is colored, paced, and framed.
Honest about the model
The first prototype uses hand-picked clips and a hand-tuned control map. The "infinite" claim is about the combinatorial stream, not an on-demand pixel generator.
Made for the V Engine
Clips can be pre-rendered V Engine captures, gameplay footage, or public-domain video, composited by the same renderer the game uses.

Caveats and honest framing
This is a product blueprint and a research target, not a shipping app. Be specific about the gaps:
- The micro-clip bank, cross-fade scheduler, and action-conditioned predictor do not yet exist. They are research and engineering roadmap items, not configuration changes.
- "Steering by gamepad gyro and accelerometer" works where SDL3 exposes those sensors. Device support varies; DualSense sensor access on Linux still requires specific drivers and permissions.
- The "infinite" experience depends on a large, well-tagged clip library. Without that, the stream will feel repetitive no matter how clever the blending is.
- The pitch video is a composed slideshow made from public-domain images and typography; it is not live gameplay or a generated clip stream.
Related work, sources, and license
- From JEPA to a Moving Image of Everything: A CAT VLM App Blueprint — the previous Frontier post that connects JEPA latent prediction to the V Engine/PI Agent/CAT VLM stack.
- How AI Learned to Teach Itself [JEPA] — companion post — the fact-checked walkthrough of the source video and the primary arXiv references.
- CAT VLM page — public product page for the renamed model.
- V Engine product — the renderer and input stack.
- π Agent mod — the local VLM and agent runtime.
- V-JEPA 2-AC action-conditioned planning: Assran et al., 2025.
- Image sources: Zeiss Ikon Ernemann II film projector (CC0, Daderot), kitten with furball (public domain, Dcoetzee), Atari 2600 joystick (public domain, Evan-Amos), DualSense Edge controller (CC0, Sonson2), IBM PC XT (CC0, Hidalgo944). All from Wikimedia Commons. License details are in the asset provenance file.
