Spencer Morris
← Project index
ENGINEERING NOTES / 08 2 MIN READ

Physical Product Compiler

A typed specification-to-CAD compiler with transactional editing, content-addressed artifacts, independent verification, and bounded robot simulation.

Compiler / simulation prototype
PPC MuJoCo player showing a mobile manipulator and bounded motion controlsView full size ↗
Retained September 2026 acceptance capture: the exact bundled mobile-manipulator model loaded in the MuJoCo player after a five-second motion preview. This is a digital prototype, not physical build evidence.
01 / THE PROBLEM

What needed solving.

Free-form model-generated geometry is hard to reproduce and audit. The compiler constrains authoring to typed parameters, operations, datums, joints, and declared evidence, so unsupported or ambiguous requests fail with diagnostics instead of silently producing plausible geometry.

02 / SYSTEM OUTLINE
  1. 01Typed product intent
  2. 02Deterministic CAD lowering
  3. 03Artifacts + rechecked evidence

Simplified from the implementation and project notes.

03 / TECHNICAL DECISIONS

How it fits together.

Compile intent into reviewable artifacts

The CAD pipeline accepts typed YAML/JSON, lowers supported primitives, profiles, booleans, transforms, sweeps, lofts, shells, and digest-bound STEP imports through build123d, then emits STEP, 3MF, SVG, preview, canonical specs, verification records, and content-addressed manifests. A certificate binds the program to the lowering result; verification recompiles and reruns registered checks instead of trusting a stored pass flag.

Constrain assembly composition

A Studio editor applies revision- and digest-bound edit batches transactionally. Design screens include nominal geometry, wall/hole probes, clearances, assembly mass, and sourced motor effort. A separate actuated-product schema adds mass properties, collision roles, dynamics, sensors, controllers, scenarios, BOM, assembly and wiring. The engine's composition contract intentionally removes arbitrary poses: typed datums derive transforms and mates; illegal or ambiguous combinations are refused.

Rebuild before claiming a pass

The Butter Bot is a supervised tabletop robot example with a hardware intent, bill of materials, firmware/controller path, simulation scenarios and fabrication artifacts. Documentation records simulation acceptance and a first-build preparation workflow; it carefully distinguishes model results from physical results. The compiler also labels unverified slicing and unsupported physical behavior as unknown rather than pass.

PPC Studio concept review showing a differential-drive rover and proposed hardwareView full size ↗
Retained Studio capture: concept review for a differential-drive rover. Printed and purchased parts are listed separately, with physical evidence still required for the proposed hardware.
04 / WORKING METHOD

Building and checking it.

A user or model supplies requirements and structured intent, resolves ambiguity, previews changes, then compiles and verifies a bundle. Human edits and model proposals share the same transaction schema; model changes arrive as previews and cannot replace requirements or print settings. Users can simulate declared motion, inspect evidence, and export part files and fabrication metadata.

For the Butter Bot path, the documented sequence is requirements and machine profile, fit coupons, slice oriented parts, assemble and commission under supervision, then perform the prescribed physical task. The recorded native/browser task runs are simulation evidence; the physical build and lift/repeatability tests are not reported as completed.

05 / STATUS & LIMITS

Supported CAD operations and actuated hardware profiles are deliberately bounded. Nominal geometry, a successful build, discrete motion samples, and even successful slicing do not establish strength, fit, thermal behavior, continuous-motion clearance, or physical performance. Generic printer settings lack machine calibration evidence. The first physical acceptance targets remain unmeasured.

Source notes

Based on repository code and project records reviewed on October 30, 2026. Historical checks are described as recorded, not rerun for this article. Screenshots, renders, and mockups are labeled individually.

  • physical-product-compiler/README.md
  • physical-product-compiler/pyproject.toml
  • physical-product-compiler/docs/engine-v1-contract.md
  • physical-product-compiler/docs/stable-v1-acceptance.md
  • physical-product-compiler/docs/butter-bot-first-build.md
← All projectsNEXT PROJECTCAD Autonomy Experiments →