Introduction
Introduction
Miraiclip is not a video editor app — it is the engine you build one with. The core is headless: it manages project state, a microsecond-precision timeline, and a full command history, with rendering delivered as a separate layer.
Every mutation flows through a descriptive command, which makes the engine equally usable by a human clicking a UI, an LLM generating an edit sequence, or a sync layer replaying a collaborator’s changes.
Architecture
Miraiclip is a monorepo of focused packages:
| Package | Status | Description |
|---|---|---|
@miraiclip/core | ✅ v0.2.0 on npm | Headless command-driven engine: state, commands, history, events |
@miraiclip/renderer | ✅ v0.3.0 on npm | WebCodecs + WebGL playback, preview, and export — see Rendering |
@miraiclip/server-export | ✅ v0.1.1 on npm | Server-side export: the browser pipeline in headless Chrome, from Node — see Server side |
@miraiclip/react | planned | React hooks and selectors |
Core concepts
The only write path into the engine — descriptive, validated, undoable.
A single Zustand store as the source of truth for your composition.
Video, audio, image, and text building blocks on the timeline.
Ordered containers that define layering and grouping.
Reactive notifications with granular patches for every change.