V
vvvivaldy/curio-motion
Code-authored 2D animation for AI agents — procedural illustration with PixiJS and deterministic…
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
- Star count
- 1 ★ · vvvivaldy/curio-motion · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-10-26 · last seen 2026-11-14 · seen 23× · listed by 2 sources
- Score
- score 203 · 1 ★ · 2 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
vvvivaldy/curio-motion;first catalogued 2026-10-26;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# Curio Motion
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Code-authored 2D animation with PixiJS and Remotion. Draw characters as TypeScript contours, author their motion, and export a film you can inspect frame by frame.
Quick start · Code example · Documentation · Contributing · Русский
12 seconds · 1280 × 720 · 24 fps · silent. Watch the full film. The GIF above comes from the actual Remotion export; the scene itself draws new contours for every frame.
### A second character, a different action
10 seconds · 960 × 640 · 30 fps · silent. Watch Amber's film. A separate character, mechanical grippers and a held prop use the same typed scene, contour, contact and Remotion bridge APIs. The first film and GIF above are preserved. See the reuse report.
## Why Curio Motion?
Curio Motion explores how developers and coding agents can author animation as readable, reviewable source. A whole character reference and an explicit action guide the author; TypeScript defines the resulting drawing and motion.
Editable geometry. PixiJS draws continuous silhouettes, faces, hands and scenery, without sliced image parts or raster scene textures.
Seekable motion. A pure pose function evaluates the requested time directly, including backward and random seeks.
One frame owner. Remotion controls composition, the live Player and official MP4 export. PixiJS draws the frame.
Local workflow. Inspect the example, change the source and render with an existing Chrome installation. No hosted AI service or account is required.
The pink-monkey example combines advancing footfalls, support transfer, turning, escalator boarding and nose-scratch strokes. Amber the robot picks up a can, pours twice with a pause, places it on the bench and releases it. Both use deliberate holds. Shared TypeScript helpers cover eye apertures, foot tracks, coordinate spaces, limb constraints, compatible contours, contact anchors, authored whole views and solid stair geometry.
## Quick start
Requires Node ≥22.12, npm and a modern WebGL-capable browser.
sh
git clone https://github.com/vvvivaldy/curio-motion.git
cd curio-motion
npm ci
npm run demo
Open the address printed by Vite, usually http://127.0.0.1:4176/viewer.html.
| Try | Open |
| First film, reference and source | /viewer.html |
| Second film, whole design study and source | /viewer.html?example=amber-robot |
| Live Remotion Player: play, pause and seek | /player.html |
| Direct Pixi baseline | /index.html |
To check the project and export the film:
sh
npm run check
npm run render
Rendering requires an existing Chrome/Chromium; no browser is downloaded. Set CHROMEPATH if detection fails. The default export is outputs/curio-motion-remotion.mp4. See development and rendering for platform commands, troubleshooting and GIF regeneration.
## Use the local API
Inside a browser TypeScript module in this checkout, render a specific frame into an HTML element:
ts
import { createPixiStage } from './src/core/stage';
import { amberRobotScene } from './src/examples/amber-robot/scene';
const host = document.createElement('div');
document.body.append(host);
const stage = await createPixiStage(host, amberRobotScene);
stage.draw(120); // 4 seconds at 30 fps
Quick start · Code example · Documentation · Contributing · Русский
12 seconds · 1280 × 720 · 24 fps · silent. Watch the full film. The GIF above comes from the actual Remotion export; the scene itself draws new contours for every frame.
### A second character, a different action
10 seconds · 960 × 640 · 30 fps · silent. Watch Amber's film. A separate character, mechanical grippers and a held prop use the same typed scene, contour, contact and Remotion bridge APIs. The first film and GIF above are preserved. See the reuse report.
## Why Curio Motion?
Curio Motion explores how developers and coding agents can author animation as readable, reviewable source. A whole character reference and an explicit action guide the author; TypeScript defines the resulting drawing and motion.
Editable geometry. PixiJS draws continuous silhouettes, faces, hands and scenery, without sliced image parts or raster scene textures.
Seekable motion. A pure pose function evaluates the requested time directly, including backward and random seeks.
One frame owner. Remotion controls composition, the live Player and official MP4 export. PixiJS draws the frame.
Local workflow. Inspect the example, change the source and render with an existing Chrome installation. No hosted AI service or account is required.
The pink-monkey example combines advancing footfalls, support transfer, turning, escalator boarding and nose-scratch strokes. Amber the robot picks up a can, pours twice with a pause, places it on the bench and releases it. Both use deliberate holds. Shared TypeScript helpers cover eye apertures, foot tracks, coordinate spaces, limb constraints, compatible contours, contact anchors, authored whole views and solid stair geometry.
## Quick start
Requires Node ≥22.12, npm and a modern WebGL-capable browser.
sh
git clone https://github.com/vvvivaldy/curio-motion.git
cd curio-motion
npm ci
npm run demo
Open the address printed by Vite, usually http://127.0.0.1:4176/viewer.html.
| Try | Open |
| First film, reference and source | /viewer.html |
| Second film, whole design study and source | /viewer.html?example=amber-robot |
| Live Remotion Player: play, pause and seek | /player.html |
| Direct Pixi baseline | /index.html |
To check the project and export the film:
sh
npm run check
npm run render
Rendering requires an existing Chrome/Chromium; no browser is downloaded. Set CHROMEPATH if detection fails. The default export is outputs/curio-motion-remotion.mp4. See development and rendering for platform commands, troubleshooting and GIF regeneration.
## Use the local API
Inside a browser TypeScript module in this checkout, render a specific frame into an HTML element:
ts
import { createPixiStage } from './src/core/stage';
import { amberRobotScene } from './src/examples/amber-robot/scene';
const host = document.createElement('div');
document.body.append(host);
const stage = await createPixiStage(host, amberRobotScene);
stage.draw(120); // 4 seconds at 30 fps
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/vvvivaldy-curio-motion/)
- Source
- github · https://github.com/vvvivaldy/curio-motion
- Browse by field
- Open source
- Traction
- 1 ★
- Listed by
- 2 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.