# Backend capabilities ## Selection principle There is no permanent default authoring backend. `text-to-cad` owns routing, DesignIR, validation, repair, artifacts, and Viewer handoff. It does not receive extra score simply for being the orchestrator. The router scores: 1. continuity with an explicitly supplied editable source; 2. deterministic standard-factory coverage; 3. semantic graph, replay, units, tolerances, and translation requirements; 4. custom profile and surface vocabulary; 5. assembly and mechanism requirements; 6. validation requirements. Uploaded STEP reconstruction is a separate mode: SurfaceIR is the effective rebuild engine, while SimpleCADAPI B-Rep comparison supplements the independent acceptance stage. ## build123d through CAD Skill Best fit: - Brackets, connecting rods, cranks, levers, shafts, bushings, flanges, plates, housings, covers, enclosures, fixtures, and machined features. - Parametric Python sources with holes, pockets, slots, bosses, ribs, shells, fillets, chamfers, lofts, sweeps, and revolves. - Source-level assemblies, named datums, joints, imported components, measurements, alignment checks, and existing STEP inspection. - STEP output compiled from executable semantic DesignIR 3.0. Weak signals: a standard mechanical family already implemented by SimpleCADAPI, or a primary requirement for replayable operation graphs, typed semantic topology, unit checking, tolerance chains, or CAD translation. ## SimpleCADAPI Use for its standard mechanical factories and replayable modeling graph. Best fit in version 2.0.2: - Spur, helical, herringbone, ring, and straight bevel gears; racks; cycloidal discs; ball bearings; bolts; nuts; and roller-chain sprockets. - Planetary and cycloidal reducers, joint actuators, and mechanism-heavy assemblies. - `@model` / `ModelResult`, parameter expressions, operation-graph JSON, replay, scene packages, semantic tags, topology lineage, source mapping, and QL. - Physical units, dimension checking, and manufacturing tolerance chains. - FreeCAD, Fusion 360, and SolidWorks translation. - STEP B-Rep inspection, strict target/candidate comparison, multi-view diagnostics, and slice XOR diagnostics. - Reusable mechanical product families whose formulas should become deterministic library functions. Weak signals: freeform or multi-rail surface construction outside the tested SDK vocabulary, or an existing build123d source whose feature history must remain authoritative. Before invocation, inspect the installed package and Skill versions together. Require version `2.0.2` or newer for the capabilities listed above. Do not mix the current single-`Solid` boolean API with older `*rsolidlist` documentation. If the installed runtime and docs disagree, stop that route and use build123d or repair the installation. ## Router refinement and repair Use text-to-cad's own requirement expansion and visual repair when requirements are vague, reference images carry important intent, or visual complexity makes one-pass generation unreliable: 1. Refine the request into a measurable brief. 2. Confirm important fit- or safety-critical unknowns. 3. Generate and execute backend source. 4. Validate deterministic geometry facts. 5. Inspect a multi-view render against the brief. 6. Repair visual mismatches, capped at three automatic visual rounds. CAD Viewer reviews the generated or reconstructed STEP.