Skip to content

Roadmap / not built yet

The notes/ folder (notes/editor.md, notes/clips.md) describes a larger vision: an agent-facing "editor" layer on top of the model this codebase already implements — script/take refinement, an asset store with AI-generated and searched content, versioning/checkpoints, copy-paste of clips and scenes, and more. None of that layer exists in code today. This page exists so you don't write code assuming it does, or read notes/ as a spec for the current API.

What's actually implemented, versus what notes/ describes:

notes/ concept Status
Timeline, Track, Clip hierarchy ✅ Implemented — this is visualkit.models
CompoundClip as reusable template with exposed parameters ✅ Implemented
CodedVisualClip for AI/hand-written HTML/CSS/JS visuals ✅ Implemented (HTML/CSS/JS only — notes/editor.md mentions Manim/npm-package visuals "for now"/"later"; only the HTML/CSS/JS compiler exists)
Keyframes, chroma key, masking, animation presets ✅ Implemented (FFmpeg exporter only — see 07-exporting.md)
Extended text styling (outline, shadow, gradient, spacing) ✅ Implemented
Video/DaVinci Resolve export ✅ Implemented
Asset resolvers (asset:// URIs) ✅ Implemented
Transitions (Track item Transition: type, duration) ❌ Not built
Per-character / typewriter text animation ❌ Not built — measured to fail with real ffmpeg during the last review pass and considered out of scope; the animation preset system (fade/slide/pop/wipe) is what exists instead
"Overall" animation phase (as opposed to just in/out) ❌ Not requested/built — ClipAnimation only has in_preset/out_preset
Compound-level keyframes / chroma_key / masking / animation ❌ CompoundClip doesn't carry these fields itself, only transform. A child clip inside a compound keeps its own keyframes/effects when flattened — see the composition caveat in 04-templates-and-compounds.md
Refiner (cut/trim main track by removing silences/bad takes, script-to-TTS) ❌ Not built
Assets / Store (virtual asset filesystem, AI-generated content, searchable local asset index) ❌ Not built — AssetResolver is the only asset-indirection mechanism that exists, and it's a simple path-mapping callable, not an index/store
Versioning / checkpoints, copy-paste of clips/scenes ❌ Not built
RefinedScriptClip ❌ Explicitly marked "doesn't exist, ignore this" in notes/clips.md itself

If you're building an agent-facing editing layer on top of this library, treat notes/ as background/inspiration for that layer's design, not as documentation of an existing API — and treat this docs/ folder, not notes/, as the source of truth for what you can call today.