Skip to content

v0.2.1 — Fan docked companion ops

Latest

Choose a tag to compare

@mrinalghosh mrinalghosh released this 20 Jul 02:35
dae8c50

Layout fix for auto-spawned docked companion ops. Creating a GLSL TOP spawns docked companion DATs — <name>_pixel (your fragment shader), <name>_info, <name>_compute — beneath it. TD only carries docked ops along on a UI drag; every placement tool here sets nodeX/nodeY from Python, which moved the host alone and stranded the companions across the network with a long dock-tether line.

Changes

  • move_operator and build_network re-fan docked ops after placing a host. A shared _fan_docked helper snaps a host's docked companions into a clean row directly beneath it (_pixel/_vertex shader closest, right under the TOP) — the native spawn layout, re-applied.
  • tidy_docked tool — repair pass for networks already sprawled. Pass a single op, or a COMP with recursive=true to sweep nested COMPs. Returns {tidied, companions}.
  • glsl_top_vec4_uniform template no longer leaves an orphan DAT — it writes the starter shader into the auto-spawned _pixel DAT (pixeldat.eval()) instead of a redundant _shader DAT, then fans.
  • Docked-op gotcha shipped in CLAUDE.md and the MCP server instructions.

Verified live against TouchDesigner 2025.32460.

Install

Download touchdesigner-mcp.mcpb below and double-click it in Claude Desktop, then drag td_component/touchdesigner_mcp.tox into /project1 in TouchDesigner. See the README for setup.

Full changelog: https://github.com/mrinalghosh/touchdesigner-mcp/blob/main/CHANGELOG.md