Skip to content

The substrate (one IR)

The core idea behind openIE CAD is that mechanical, electronic, optical, simulation, and manufacturing are not separate tools bolted together — they are views of one document. That document is the UDD (the unified design document), and it is the substrate everything else stands on.

The whole pipeline is one graph — an OCL source evaluates into the UDD, and every domain view and fab artifact derives from that single IR. Drag a node, pan, zoom:

In a conventional toolchain, a mounting hole exists in the mechanical CAD file, again in the PCB layout, and again in the BOM — three copies that drift out of sync. In openIE CAD it exists once, as a single identifier (a NodeId), referenced by the enclosure, by the board, by the bill of materials.

Change the diameter once and every domain updates atomically. A pin on a component is the same NodeId the schematic uses, the PCB routes to, and the firmware binds against — so routing and generated code physically cannot disagree.

An agent planning across domains normally needs integration glue: export from one tool, transform, import into the next, hope nothing was lost. With a shared IR there is no glue. Every tool reads and writes the same UDD, so an agent can:

  • design an enclosure, then place a board inside it that already knows the enclosure’s mounting bosses;
  • change a connector and watch the schematic, layout, and BOM follow;
  • run a simulation whose mesh comes straight from the geometry, not a re-imported copy.

The browser viewer is not a separate program with its own model — it renders the same UDD the tools mutate. Whatever an agent does in chat appears in the canvas, byte-identical, because there is only one source of truth.

Because everything derives from one document, the whole design has a single content hash, and every artifact downstream — Gerbers, G-code, a fabrication bundle — can be traced back to it. See Provenance for how that chain works.