Repository navigation
0.5.10
cartcut v0.5.10
The headline of this release is the extension system: extensions run in their own process, contribute UI and effects, and persist their data with the project. Alongside it, the MCP editing surface grew considerably, and borders, shadows and property links landed in the renderer.
Extension system (#59)
Extensions are now a first-class part of the editor.
Runtime and isolation
- A protocol and RPC endpoint that the host speaks.
- Extensions run in a
utilityProcessof their own, and their UI is sandboxed in a guest process. - Policy modules that decide what an extension may do, written pure and covered by tests.
- Each extension gets its own place to keep data, and that data is carried through project save, load and recovery.
- The editor can answer the host through the agent.
- The extension host now starts as part of the app, replacing the previous path.
What an extension can contribute
- Tabs, panels, menus and keyboard shortcuts.
- Rows in the clip context menu, inspector sections, and the status strip.
- Effects, transitions and LUTs.
- Animation presets and templates.
- Hooks that run before and after an export.
Tooling and docs
- The dev buttons are replaced by a real Extensions panel.
- The extension API types, a fixture and the import wall are published.
- Title Safe ships as a sample extension worth copying from.
- The extension system is recorded in
CLAUDE.md.
Fixes within the system
- A view now mounts when it has a box rather than when it intersects.
- Three APIs no longer leak a command's envelope.
- Three further issues found by an audit of the data flow.
MCP editing surface (#60)
- Per-range text style exposed over MCP.
- Fonts can be picked by family and weight, not only by file.
- New
measure_text, so type can be sized without rendering it. - New
set_keyframes, a batch write across clips and properties. - Keyframe times are now reported absolutely, and
update_clipcan write them. - Many edits made by the agent collapse into a single undo step.
Renderer and animation
- Border and drop shadow on shape, image and video.
- Property links, so one property can derive from another.
- CSS easings can be evaluated at a point.
- Animation presets are applied from their shape rather than their name.
- Text animator implemented as a movement on the reveal, with the animator stored and reported.
- Text reveal with a typewriter effect and framing.
- Null gizmo drawing logic and state management reworked.
Editor UI
- Border and Shadow section added to the options panel, with the ops both writers need, later brought onto the house conventions.
- Button layout improved for linked corners in the Shape section.
- Hover motion on asset tiles and text-preset tiles, backed by new spring motion utilities with tests for the CSS integration.
- Pointer cursor on asset tiles.
- Overlay placement logic with tests.
- Padding adjusted across several components, background classes dropped from select elements, and the theme row color corrected.
Plugin and guidelines
- Editing guidelines for video editing added.
cartcut-editingplugin added, with installation instructions.
Developer experience
- The app hot reloads during development. (#61)
Fixes and chores
- Capitalization of "CartCut" standardized across the project.
- shell-quote bumped from 1.8.1 to 1.10.0. (#57)
Full Changelog: v0.5.9...v0.5.10