Skip to content

v0.1.0 — First release

Latest

Choose a tag to compare

@ChanMeng666 ChanMeng666 released this 03 Jun 03:30
· 9 commits to main since this release

Composable SVG animation system driven by Claude Code. End-to-end natural-language → animated SVG pipeline.

Headline

A user types 做一个会跳的紫色机器人 in a Claude Code session inside this repo. /svg-animate auto-triggers, forks a base preset, reuses 6 primitives, writes output/purple-robot-jumping.svg, dispatches /svg-verify to score it visually, iterates once on the verdict, and ships. All without the user writing a line of SVG. Validated in field test.

What's inside

  • lib/ — 25 deterministic primitives (10 motion, 11 shapes, 4 filters), composer.js, named easing dict, render CLI
  • .claude/skills/ — 4 project-level skills: svg-animate, svg-verify, svg-add-primitive, svg-export
  • .claude/agents/ — 3 specialized subagents: svg-verifier, lib-extender, svg-explorer
  • docs/ — 8 permanent design reference files (architecture, principles, lib API, extension protocol, sprint designs)
  • agent-sdk-wrapper/ — productization scaffolding for exposing the system as an Agent SDK package (inactive)
  • 5 working presets: claude-jumping, claude-speaking, codex-jumping, codex-speaking, purple-robot-jumping
  • Next.js preview server + Vitest byte-stable snapshot tests (10/10 passing)

Stats

  • 25 primitives, 5 presets, 4 skills, 3 subagents, 8 docs
  • 10/10 snapshot tests pass
  • 57 files, ~8,100 lines

Quick start

git clone https://github.com/ChanMeng666/svg-animation-studio.git
cd svg-animation-studio
npm install
npm run dev          # preview grid at http://localhost:3030
npm test             # snapshot test suite
node lib/render-cli.js claude-jumping

Open the repo in Claude Code and type a natural-language request like "make me a bouncing orange mascot". The /svg-animate skill auto-triggers and produces a working SVG.

Decisions worth recording

  • svg-verify skill ships without disable-model-invocation: true (originally specified). Field test showed dmi blocked programmatic /svg-animate → /svg-verify dispatch; the specific description prevents inappropriate auto-triggering on its own.
  • Sprint 1 reverse-engineering surfaced 25 primitives vs. the planned ~15 — legitimate extras like createShadowPulse, createLinearGradient / createRadialGradient, createSoundWaveArcRaw.
  • agent-sdk-wrapper/ ships inactive with an activation checklist; wrapping unstable skills was deemed premature.

Deferred

Lottie → SMIL import, Agent SDK wrapper activation, GSAP runtime path, Rive integration. Sample Lottie file preserved locally (excluded from git for size).

License

MIT — Chan Meng, 2026.


Built with Claude Code. Full design rationale in CHANGELOG.md, docs/ARCHITECTURE.md, docs/research-findings.md.