One model. Every sheet derived.
The engine holds one building graph and draws every sheet from it. Nothing is transcribed between drawings, so nothing can disagree — a change to the graph is a change to all 89 sheets at once.
Six passes. One graph.
Each pass reads the building graph and writes back to it. No pass redraws what an earlier one already decided, which is why a plan, a section and a schedule of the same wall never disagree.
IBG · Intermediate building graphIntake
An address and a program, a written brief, or geometry you already own. Parcel boundary, zoning envelope and the governing code edition resolve first — before a single line is drawn.
Synthesis
Massing, unit mix, core placement and the structural grid resolve into one graph. Everything downstream reads that graph. Nothing downstream edits it.
Determination
Every code question the set depends on is answered by script and written to a ledger: the value, the inputs it came from, the section it cites, and whether a local amendment still needs checking.
Verification
A separate pass re-derives the critical values from the source inputs and reports where it disagrees with the generating pass. The generator never certifies its own work.
Rendering
43 renderers draw the sheets — cover and code data, plans, elevations, sections, wall types, schedules, details, and the consultant disciplines — all against the same graph.
Export
PDF and DXF at ARCH-D or ARCH-E, DWG on request, IFC for the model. The determinations ledger and the QA report ship with them.
The pass that draws it never says it’s right.
Separating the two is the whole reason the ledger is worth reading. A model that both computes an occupant load and certifies its own occupant load has told you nothing.
- Occupant loads, exit counts and egress widths come from script, never from the model’s arithmetic.
- The verifier re-derives each critical value from the source inputs and reports the disagreements rather than resolving them quietly.
- Anything resting on professional judgment is flagged as judgment and surfaced first, not buried in a note.
- A determination with no citation does not reach a sheet. There is no “engine says so” path.
EGR-011
determination Stair 2 width governed by occupant load
value 44 in clear
basis IBC 2021 §1011.2
Table 1006.3.2(2)
inputs OL-014 · Level 3 OL = 71
method script:egress_calc.py
edition 2021 IBC
amendments unverified
confidence high
reviewer confirm
Every annotation on every sheet resolves to an entry like this one. 11,663 of them on the production run of 2026-08-15, with zero that could not be traced to a source.
A code has an edition and an address.
Generation against “the building code” is generation against nothing. The engine resolves which edition applies where the project actually sits, then says out loud what it could not confirm.
Local amendments are the honest hard part. Jurisdictions amend the model code and publish the amendments unevenly. Where an amendment is unverified, the ledger marks it unverified and routes it to the reviewer instead of assuming the base text still governs.
| Layer | What resolves |
|---|---|
| Model code | IBC 2021 base text, with the referenced standards it adopts. |
| Edition | The edition in force for the project address at the date of the run, recorded in the ledger. |
| Amendments | State and local amendments applied where known, flagged unverified where not. |
| Zoning | Parcel envelope, setbacks and height from the applicable zone — the constraint the massing solves against. |
| Judgment | Anything the code leaves to the official’s discretion is surfaced, never silently decided. |
A drawing can be wrong and still open.
The failure mode that costs the most is not a crash. It is a sheet that renders, opens, prints, and carries nothing — which passes every check that only looks at the file.
So the blank sheet has its own regression class, and the golden harness re-runs on every change to the rules the engine draws from. The number below is not a marketing figure; it is the gate a change has to clear before it reaches a set.
A grounding violation is any annotation the engine cannot trace back to a source. The count is published because a zero only means something if the denominator is published with it.
Formats a consultant can open.
| Format | What it carries |
|---|---|
| The issued set at ARCH-D (24×36) or ARCH-E (30×42), title block, graphic scale, north arrow and revision table on every sheet. | |
| DXF | The same sheets as layered CAD geometry — for the consultant who is going to draw on top of them. |
| DWG | Converted from the DXF on request, for offices standardised on it. |
| IFC | The model, not the drawing — for coordination, clash and downstream BIM. |
| Ledger | Every determination the set rests on, with its citation, inputs and confidence. |
| QA report | What the verifier re-derived, what agreed, and what it wants a person to look at. |
Preview tiers ship watermarked. The watermark is a text entity on its own layer, not DRM — it gates the deliverable, it does not lock the file.
The engine is production capacity. It is not a licence.
Everything above exists to make one handoff fast and defensible: an architect or engineer of record opens the set, checks the work against the ledger, and takes responsibility for it.