Fan out, compare, keep
One prompt, several agents, pick the best result.
Fan out runs the same prompt through several agents at once, each in its own workspace.
Fan out
Open Fan out on a project and fill in:
- Prompt — e.g. "Add four Ø5 mm mounting holes, 8 mm from each corner of the base plate."
- CAD system — one for the whole fan-out.
- Agents — how many runs of each installed agent (0–8). Three Claude Code runs and two Codex runs is fine.
Cxddie creates one workspace per run from the project's HEAD, each with its own CAD session, and starts every agent on the prompt.
With an app driven through its own MCP server, such as Fusion, Rhino or Revit, every workspace in the fan-out gets its own document in the one running app. Their calls take turns, so they're slower than separate processes but never interfere.
Compare
Compare shows every workspace in the fan-out side by side with its live view and status (working, running, stopped). Click a preview to refresh it, or Open to jump into that workspace and keep prompting.
Keep this
Keep this on the winner:
- saves its CAD document,
- commits the worktree (
Cxddie: <workspace>), - merges its branch into the project's main checkout,
- removes it and every other workspace from the fan-out.
When a file changed in both places
If a file the workspace changed was also changed in the project since the workspace started (a teammate's commit, or another workspace you kept), Cxddie never picks one silently. CAD files are binary, so two versions can't be blended. Instead, nothing is merged, and Cxddie lists each such file with who changed it in the project. For each file, choose:
- This workspace's version,
- The project's version, or
- Both: the project's stays where it is, and the workspace's is added next to it, named after the workspace (
model.FCStdandmodel.thicker.FCStd).
Text files that changed in different places, such as an OpenSCAD or build123d source and a README, merge as usual without asking.
The merge refuses to run if your main checkout has uncommitted changes. Commit or stash them first.