2.4 KiB
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.