v2.33.0 — Fusion node layout + performance & robustness
Fusion node-graph layout and duplication, plus performance and robustness improvements across the compound server. Live-validated on DaVinci Resolve Studio 21.0.0.
Fusion node layout & duplication
- Added
fusion_comp(action="get_position")/set_position— read/write a node's FlowView position;set_positionconfirms via a position read-back. - Added
fusion_comp(action="copy_tool")— duplicate a node (optional rename + reposition). Settings copied through a temp.settingfile, which round-trips reliably across the Python bridge where the in-memorySaveSettings()/Paste()table form fails. - Added
fusion_comp(action="auto_arrange")— lay tools out in a row or column at a given spacing.
Performance
- Changed Resolve object inspection walks
dir(obj)once, skipsinspect.signature()for C-extension methods, and reads__doc__directly — roughly halving inspection cost on theresolve_controlpath. - Changed Media-pool find-by-name lookups walk the folder tree lazily and stop at the first match instead of materializing the whole project.
Robustness & fixes
- Fixed
export_frame_as_stillrejects an empty path or nonexistent target directory. - Fixed
set_mark_in_out(clip and timeline) rejectsmark_in > mark_out. - Fixed Auto-sync audio resolves
AUDIO_SYNC_*constants via the live Resolve handle, closing a path where a stale handle silently degradedAutoSyncAudioto rejected string keys. - Changed Every
subprocesscall that can run while the MCP stdio server is active setsstdin=subprocess.DEVNULL, so a child cannot consume bytes from the JSON-RPC stream; the spec-hook runner also captures its child's output.