Releases: diffusionstudio/editor
Release list
v0.205.0
Highlights
- Built-in MCP server: the app now serves its tools over MCP and registers itself with the agents installed on your machine — Claude Code, Claude Desktop, Codex, Cursor, VS Code (Copilot), Gemini CLI, Windsurf, and Antigravity. A new MCP page in the dashboard toggles each agent and installs the
dapicommand line tool. Every session's instructions carry the editing and watching skills, so there is no/editoror/watchto invoke anymore: just ask for what you want. - Agent chat in the editor: a chat panel drives your own Claude Code or Codex against the open project — a model picker fed by what is installed and signed in, file and folder attachments, image results shown inline, and a history menu. The dashboard home is now a prompt composer: type what you want, pick a project or any folder on disk, and the editor opens with the reply already streaming.
- One tool catalog (
@diffusionstudio/dapi): every tool is defined once with zod input and output schemas. The MCP server serves the catalog, the renderer validates against it, and the CLI derives its commands and help from it —dapi media grabismedia_grab,--per-sheetisperSheet. Every CLI result is now a single JSON object, the same structured content the MCP tool returns. transform.*in JSX:transform.upscale,transform.removeBackground, andtransform.addAudiomake an asset from another asset, and chain by nesting:transform.upscale(transform.removeBackground(generate.image({ prompt }))). They replace the old source modifier props.- Playhead in the source:
<scene>takes aplayheadprop, written back on a scrub or a ruler click, so a project reopens where you left it. The default<stage>camera now frames a fresh project without an authoredcamera. - New seek shortcuts:
;and'park the playhead on the selection's first and last frame,HomeandEndjump to the ends of the active scene or its work area. - Safer project writes: the desktop app writes files atomically (temp file, then rename), and its own writes no longer trip the file watcher, so saving from the editor does not cause a reload.
- Tool improvements:
media_transcribewrites the transcript to a JSON file (--output),logstakessinceandcontainsfilters, and the docs are reorganized underdocs/with a full tool reference and JSX reference.
Removed
dapi fetch(video download via yt-dlp) is gone.- Headless mode is gone (temporarily).
- The onboarding page and the MCP setup banner are replaced by the dashboard's MCP page.
Testing
npm run testat the root runs the test suites of every workspace.
Full Changelog: v0.204.2...v0.205.0
v0.204.2
Highlights
- Shuttle playback shortcuts:
JandLstep the active scene faster in the direction it is already going, or turn it around at 1x, andKparks it. A scene sitting at either end of its workarea rewinds to the other end so the first press actually plays. - Layout constraints in the inspector: the transform panel now sets
constrainXandconstrainYper element, backed by named horizontal and vertical constraint sets in the runtime and documented in the JSX elements reference. - Timeline drag fix: dragging a clip (or a multi-clip selection) can no longer push it past the start of the scene — the earliest dragged clip pins at frame 0 and snapping keeps the spacing between the rest intact.
Full Changelog: v0.204.1...v0.204.2
v0.204.1
v0.204.0
Highlights
- Custom Babel plugins: the desktop app now picks up plugins from a project's own Babel config (
babel.config.js/.babelrc) and runs them alongside the built-in transforms. - New
useResolutionhook (@diffusionstudio/jsx): a reactive accessor for the host's rasterization density, so a<surface>can size its bitmap to stay sharp at any export resolution. - New examples: TypeGPU caustics (
examples/10-typegpu.tsx) and Redraw integration on a<surface>with resolution-aware rendering (examples/11-redraw.tsx), plus expanded JSX lifecycle and surface-paint docs.
Full Changelog: v0.203.0...v0.204.0
v0.203.0
New: dapi export — encode a scene to a video file from the CLI, the same render the app's export runs.
dapi export intro exports/intro.mp4Encoding settings live in the scene's diffusion.export.<id> entry in the project's package.json (the entry the export panel writes), so an export is reproducible from the project alone; the output extension picks the container. See the export reference.
v0.202.1
Update package versions to 0.202.1 across all modules - Bumped version from 0.202.0 to 0.202.1 in package.json and package-lock.json for the editor, CLI, desktop, and web applications. - Ensured consistency in versioning across all related packages to reflect the latest updates.
v0.202.0
Merge pull request #43 from diffusionstudio/bugfixes-01 Bugfixes 01
v0.201.0
What's new
@inspectvariables: annotate a top-levelconstwith a JSDoc@inspecttag and it becomes a live control in the stage inspector, below the background picker. The compile step turns the declaration into a signal on the editor's reactive graph, so moving a control updates the canvas without a remount, and the value it settles on is written back into the declaration's initializer — undo and redo included. Six controls:number(a slider givenminandmax, a draggable field otherwise),color,text,font,booleanandselect. An optionalpath="Group/Label"files a control under a group and names it; without one the label is the variable's own name.
/** @inspect number min=0 max=100 step=1 */
const padding = 24;
/** @inspect color path="Theme/Accent" */
const accent = "#ff3366";See reference/jsx/variables.md for the full grammar and its rules.
v0.200.0
The project folder is the document.
A project is now a folder of SolidJS JSX. dapi open <dir> once, then edit the files — saving recompiles the entry and mounts it into the editor. It goes both ways: drag a rect on the canvas, trim a clip on the timeline, or retype a line, and the change lands as a prop on the element that authored it, matched by its id.
<stage>/<scene>replace document roots — one scene per cut, camera state on the stage- New
<adjustmentLayer>: a transform that rides above the clip below it, trimmed and slid in a row of its own playbackRate, parent-relative timing, and containers that span their children- Timeline grouping, sequence wrap/unwrap, and drag-and-drop layers
dapi checkreports structural mistakes — black-frame gaps, never-visible nodes, failed sourcesdapi capturerenders the frames an export would produce, by scene id- Runtime migrated to a koota ECS
Breaking: the imperative CLI surface is gone — mount, node, asset, folder, project, and selection no longer exist. Everything that mutated the document now happens in the project files.