Text-to-CAD: parametric source, geometry evidence and responsible handoff
Text-to-CAD performance: measure cold, current, edited and exported work separately
Understand why build reuse, parent updates, browser startup and mesh density must be measured as different workloads.
What you will learn
- A current model and a changed model are different workloads
- Separate geometry work from rendering and meshing
- Diagnose before clearing derived state
Before you start
- Basic Python functions, modules and file paths
- Understanding of units and the difference between a design and a physical part
Plan a bounded CAD exercise and distinguish source freshness, document inspection, visual review and manufacturing decisions.
Key takeaways
- Unchanged reruns and geometry edits are not comparable benchmarks.
- Source generation, rendering and mesh export have separate costs.
- A relative mesh tolerance is not a millimetre manufacturing tolerance.
A current model and a changed model are different workloads
The guide describes freshness-based no-op results and warm workers. Compare a first build, an unchanged rerun, a geometry edit and a parent rebuild as distinct cases. Otherwise a fast unchanged run can be mistaken for evidence that expensive geometry operations became faster.
Keep source revision, outputs, worker mode and artifact sizes in the measurement record. A parent waiting for child geometry and a standalone part have different dependency work. The documented scheduling design does not establish an optimal worker count for the reader’s hardware.
Separate geometry work from rendering and meshing
Snapshot startup, document compilation, tessellation and source generation contribute different costs. The proxy design can defer dependency import, but our fake-module tests measure no real latency. Do not turn an architectural motivation into a claimed end-to-end speedup.
The export guide defines linear mesh tolerance relative to each component’s bounding diagonal, not as an absolute millimetre deflection. Tighter mesh settings can change density and output size without improving the original CAD design. Compare both exported geometry fidelity and cost under a fixed part and settings.
Diagnose before clearing derived state
Use store why to understand the specific freshness clause and daemon status to inspect running work. Prefer a scoped rebuild of the intended model when justified. Broad cache removal can discard useful diagnostics and create expensive recomputation; this tutorial does not recommend deleting a whole cache as the first step.
Our proposed worksheet leaves durations, memory and file-size measurements unknown until a real test runs. We did not measure throughput, energy, cost, cold-start savings or real tessellation performance. Record unsuccessful builds and validation failures as part of the evaluation.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Define cold, current, edited and parent-rebuild cases.
- 2
Record worker mode and exact output settings.
- 3
Measure validation and rendering separately.
- 4
Use targeted diagnostics before resetting state.
Copy-ready example
{
"measurementPlan": true,
"coldBuildSeconds": null,
"currentRunSeconds": null,
"editedBuildSeconds": null,
"snapshotSeconds": null,
"meshBytes": null,
"benchmarkExecuted": false
}Frequently asked questions
Does a fast current result prove faster geometry construction?
No. It may mean geometry work was skipped because the model was current.
Is mesh_tolerance a manufacturing tolerance in millimetres?
The inspected export guide defines it relative to component scale; it is not a manufacturing guarantee.
Sources
- Text-to-CAD / skills/cad/SKILL.mdSource checked 2026-09-14
- Text-to-CAD / skills/cad/references/supported-exports.mdSource checked 2026-09-14
- Text-to-CAD / packages/cadgen/src/cadgen/build123d.pySource checked 2026-09-14