Files

CAD Agent Studio

CAD Agent Studio is a two-pane web app for agent-driven CAD work:

  • left pane: agent chat, uploads, provider/model selection, and Viewer context cards
  • right pane: embedded 3D preview and CAD edit toolbar

Setup

The app first reads the private shared configuration at ../llm.config.yaml. The repository currently versions that configuration for the private deployment. It may use a direct apiKey or an environment name in apiKeyEnv, and falls back to the app-local example:

cp config/llm.config.yaml.example ../llm.config.yaml

Neither direct keys nor environment-variable names are returned by the public configuration endpoint.

Set CAD_ENGINE_ROOT only when the sibling CadSet engine is not at ...

Run

npm install
npm run dev -- -H 127.0.0.1 -p 53821

Open http://127.0.0.1:53821.

CAD Flow

Uploads and generated tasks are stored under data/tasks/<taskId>.

For new text/image models, the model authors semantic DesignIR 3.0 and CAD Router selects text-to-cad or SimpleCADAPI. The generated STEP is materialized as a non-authoritative SurfaceIR snapshot while the semantic layer remains the edit source. For uploaded STEP, chat calls the deterministic reconstruct_uploaded_step tool, which executes CAD Router's DesignIR 3.0 / SurfaceIR adapter, independently rebuilds STEP, runs geometry acceptance, and publishes only perturbation-validated editable parameters. Uploaded STEP is teacher and acceptance truth; it is never imported by the reconstruction compiler.

Follow-up chat edits on a reconstructed task use edit_designir3_parameter. The tool accepts only a parameter and value already covered by the published validation range, reruns teacher-side semantic edit acceptance, and publishes a new DesignIR 3.0 plus STEP revision.

CAD Agent Studio does not start the standalone CAD Viewer service. Generated models keep DesignIR as the editable contract and STEP as the geometry artifact. The right-pane toolbar mirrors the CAD Viewer edit tool set and interaction shape, but tool picks are attached to the next agent request as structured cadViewer.editIntent / cadViewer.selection context instead of being copied to the clipboard. The handoff is silent in the UI: no success modal, no copied text panel.

Modification requests create revision folders with edit-request.json and apply changes to the DesignIR recorded in cad-task.json.