What Exists Today, What's Missing, and Where We Sit¶
β Back to the User Guide Β· Home
DESIGN and our SPREADSHEET
The industry designs buildings. Who compiles them?
How to read this β the honest frame¶
This project is broad. To keep it honest, everything below is sorted into three tiers, and the line between them is never blurred:
- Tier 1 β Landed. Works today, use-as-is-where-is, and every claim carries a
witness (a
Β§-logged, falsifiable test you can run). This is real commercial value now. - Tier 2 β Wedges. Small hardening or a short build away β the commercial on-ramps. Stated as targets, never as done.
- Tier 3 β Frontier. The demonstrated promise β proven in architecture, not yet finished. Shown to be possible, labelled as unfinished.
If you grep the repo, the Tier-1 claims must hold and the Tier-2/3 ones must read as runway. That discipline is the point.
The core problem: geometry is not intent¶
Most BIM tools store geometry as the source of truth. An IFC file carries the building β 51,000+ elements of geometry, relationships, properties β in one monolithic file. Lose the IFC, lose the building. But a 200 MB IFC captures what was drawn, not what was meant. You cannot ask it "give me a building like this but with 4 m ceilings," because the intent was never separated from the output.
Autodesk solved it behind a proprietary wall. Revit's .rvt keeps full spatial
fidelity internally, but is editable only in Revit with a shelf-life tied to Autodesk's
support cycle [6]. Leave via IFC and "there's always loss of data... all
constraints are lost and component parametrics are gone" [7].
The openBIM world has no equivalent. Bonsai/BlenderBIM is IFC-native [8], but IFC is an exchange format, not a compilation target β it does not decompose a building into a reusable BOM recipe, compile from it, and verify the round-trip [9].
The compilation challenge: extract a building's intent from its geometry, express it as a reusable recipe (BOM), recompile the recipe back into spatially correct geometry β and prove the recipe is faithful. Construction is industrialised manufacturing [11], yet architecture is drawn as art; the compiler gives determinism to art. A beam is either at (3200, 0, 2700) or it isn't β no probabilistic guessing [12].
That is what the BIM Intent Compiler does, in two databases β and it is the proven core that makes Tier 1 real.
The proven core (why the rest can be believed)¶
- Input DB β an IFC (or OBJ/STL/DAE/GLB) is extracted into a normalised SQLite DB. Geometry hell is resolved here: origin divergence, unit mismatch (the 1000Γ metres-vs-mm error), axis ambiguity, and GUID identity β documented industry problems [1][2][3][4][5]. Every element becomes a row; every spatial relationship a foreign key. The building is SQL-queryable.
- BOM abstraction β 51,000 elements decompose into ~700 BOM lines (73Γ compression) via formula verbs (TILE, ROUTE, FRAME, CLUSTER). This is the intent: not "12 wall meshes at these coordinates" but "12 of product W-EXT-200, tiled at 2.5 m along the north facade."
- Output DB β the BOM + shared library recompiles into spatially placed geometry, each element carrying its original GUID. A 200 MB IFC becomes a ~10 KB semantic definition. The output is disposable β delete it, recompile, the geometry reproduces.
- Rosetta Stone β Input vs Output across verification gates (counts, volumes, geometry
hashes, spatial digests, GUID provenance, transforms, materials). 21 buildings from 9
authoring tools; 116/157 gates PASS, 4 ALL GREEN; worst-case positional error 0.002 mm.
See
SPATIAL_COMPILATION_PAPER.md.
The hard problem was always the spatial compilation. Everything downstream β 4D, 5D, cost, ERP β is a projection of the same verified BOM.
Tier 1 β Landed: use-as-is, where-is (witnessed today)¶
These work now, in a browser tab, no install. Each carries a witness you can run.
Currency note, 2026-07-07: the Viewer/IFC-handoff row below was independently RE-VERIFIED this
session, not just carried forward β W-MV-PARITY (Modeller β‘ Viewer on the same real building,
re-run fresh) confirmed 12/12 PASS, max residual 1.44e-5m across 215 shared real elements, after
finding+fixing a real 18m displacement bug. Full detail: docs/internal/WalkerDoctrine.md, Tier 3
below. The ERP rows (BIMβERP fold, EVM, POS, iDempiere extraction) received no new work or
re-verification this session β stated here plainly so the table isn't read as freshly confirmed
when only the Viewer/geometry half was actually touched today.
| Capability | What it does | Witness |
|---|---|---|
| IFC handoff | Drop IFC/OBJ/STL/DAE/GLB/glTF/3DS/FBX β queryable DB β view, classify, export back to IFC. Geometry hell resolved at import. | Rosetta gates; import.js round-trip |
| 4D Time Machine | Construction-sequence playback from BOM depth; stacked S-curve folded from real orders (Ξ£ == PlannedAmt). | W-SHOP-SCURVE |
| 5D cost (editable) | BOQ + cost rollup with editable per-jurisdiction rate templates; Variation Order Excel (FIDIC Clause 12). | 4D5DAnalysis.md; VO demo [10] |
| BIMβERP β to the cent | A BIM-pushed building folds into a real procurement/project order and ERP documents, reproducing iDempiere/Odoo output at maxDiff=0c. No other tool connects BIM to ERP over one signed log. |
W-PROJ-FOLD, W-GW-HOSP-FOLD, W-FOLD-COMPLETE |
| Budget vs Actual (EVM) | Planned vs Committed at project + phase + task grain; CV/SV/CPI/SPI in BigDecimal; cost overrun surfaced on the 4D S-curve. | W-GW-HOSP-COSTVAR; proj_control.js |
| What-If (cost) | Speculative VO branch β revised = original + approved + pending β kept separate from the official ledger, reversible. | W-FIN-BLUE-SPEC (5/5) |
| Dashboard / analytics | Generic multi-view over any data model: donut grid, "By-X" group-by chips that fill the grid, pivot lens, scrubbable timeline filmstrip, CSV/SVG/PNG export. Field-driven, not hardcoded per table. | W-DASHBOARD; pivot_lens.html |
| POS sale loop | Ring β complete β backflush BOM β hold/recall β deliver-later β register, all over the signed op-log; the signed orderline doubles as the buyer's receipt artifact. WAN bench to 10,000 stations with idempotent retry + email-backup recovery. | W-POS; poc_pos_wan_scale.js (B1βB7) |
| iDempiere DB extraction | Connect a live iDempiere PostgreSQL β raw, non-inventive PGβSQLite extraction (--list-clients, --masters). |
migrate_agent.js; ERP_RAW_MIGRATION.md |
The standout no one else has: building β procurement order, in one browser, tied to the cent. The Dashboard is the answer to "where's your Odoo kanban / SAP analytics" β and because it's AD-field-driven, it's one dashboard for every data model, not a bespoke screen per report.
Tier 2 β Wedges: small hardening, the commercial on-ramps¶
Real markets, short runway. Stated as targets β not yet shipped.
- POS β Malaysian e-invoicing + personal accounting (the long tail). The LHDN/MyInvois mandate forces every business onto e-invoicing, and the government's own central service has buckled under server-side load β a structural opening for a serverless, local-first POS that each merchant runs themselves. The sale loop is landed; the wedge is hardening it against real-world bugs and adding the compliance surface. The signed orderline is already a receipt artifact β evolving it into a MyInvois-format submission is the build. (Not yet in code; this is the target.)
- Touch-kitchen + self-order tabs + QR payment. A self-order surface (URL-fetched remote ordering, QR payment display, payment-status fold returned by email) sits naturally on the same op-log. (Not yet in code; the POS loop it rides is.)
- iDempiere DB health-check report β "the diagnosis; the diet is optional." A read-only analysis pass over the already-working extraction: scan a user's DB for dirty data, orphans, GL imbalances, and a migration-gap score. Sold as a health check + migration plan β standalone value even if they never migrate. Low lift (the extraction plumbing exists), high value (migration paralysis is real). (Analysis pass not yet built; extraction is.)
- What-If (schedule ripple). Finish-to-start cascade on the timeline. Engine done; browser drive pending.
Tier 3 β Frontier: the demonstrated promise (the dragon's head)¶
DAGeVu modeller β a browser-native BIM authoring tool whose endgame is to sever the
Revit-license tether. The hard part is shipped and witnessed: an occt-wasm B-rep kernel
as a pure ops β mesh fold, the signed op-log as the feature tree (scrub, undo, tamper-
evident), and IFC4 export that round-trips (IfcWall + profile + IfcOpeningElement,
re-imports exact). A user can today author a few walls, a door, an opening, and MEP runs,
and export usable IFC β without Revit.
Update 2026-07-07 β real movement, correcting a stale gap and adding what actually shipped:
the incremental regen cache listed below as a gap was WRONG β it landed same-cycle as the rest
of the depth track (W-BONSAI-REGEN, op_hash-keyed, re-confirmed live this session) and should
not be re-flagged as open. Since then, real, witnessed progress on both halves of what "author
a building" needs:
- Kernel breadth β 6 more occt shoulders wired in one session (GEOM_REVOLVE/SHELL/
OFFSET/FILLET_VARIABLE/CHAMFER_DIST_ANGLE/DRAFT, W-BONSAI-TIER1 20/20), plus
GEOM_ARRAY/GEOM_LOFT (formula-driven instancing, real curve-following). GEOM_REVOLVE is
the first axisymmetric-solid authoring path this tool has ever had.
- MEP domain fidelity, the harder half β fitting rotation and pipe/duct cross-section are
now EXTRACTED from real IFC/catalog data (RosettaStone mini-BOM method), not computed β a
same-day audit found and fixed a bisector-computed rotation that was ~135Β° wrong on real data,
and an invented pipe diameter that was 2.3Γ oversized and the wrong shape. A shared
resolveRealPlacement() gate now HARD-FAILS rather than silently substituting invented
geometry anywhere in the leaf-placement path β a structural fix, not a point patch. Full
detail: docs/internal/WalkerDoctrine.md Β§7-Β§10.
- Cross-app trust, independently re-verified, not assumed β W-MV-PARITY (Modeller β‘ Viewer
on the same real building) re-run fresh this session: 12/12 PASS, max residual 1.44e-5m
(14 microns) across 215 shared real elements on Duplex, after finding+fixing a real 18m
displacement bug in an earlier pass. The two apps provably agree on where every element sits.
- Dimension-driven parametric edit β first real increment, not yet the whole gap. p2p_distance
(width) is wired and PROVEN by exact numeric position assertion (not a screenshot) β real
Playwright interaction, hand-computed expected geometry, witness_e2e_sketch_dims.js 10/10.
Only ~5 of ~60 real planegcs constraints are wired; this is genuinely the gap between
"constraint-solving on fixed hand-drawn geometry" and Grasshopper/Dynamo-class "geometry as a
function of parameters" β most of it still open.
Honest distance to the mountain top: ~40-45% (up from the prior ~35% estimate, reasoned not
rounded β kernel breadth and MEP domain trust both moved concretely; the still-open gap is
dominated by constraint-solving depth and the direct-manipulation UI, both explicitly scoped as
their own separate tracks in prompts/BONSAI_KERNEL_RESEARCH.md Β§GAP-TO-COMPETITIVE, not vague
remaining work). The read stands: weeks-to-months, not years for the remaining Tier-2/3 gap β
kernel fidelity, signed history, IFC round-trip, and now real-vs-invented geometry trust are all
proven; what's left is UX depth (constraint richness, manipulation), not new physics.
Witnesses: W-BONSAI-* (bonsai_signed_live.js, bonsai_ifc_live.js, bonsai_sweep_live.js,
bonsai_fillet_live.js, bonsai_move_live.js, bonsai_tier1_live.js), W-MV-PARITY
(witness_e2e_mv_parity.js), W-BONSAI-ROSETTASTONE/witness_mep_rosettastone_lookup.js. See
ModellerKernelFold.md and docs/internal/WalkerDoctrine.md.
Occupant/topology graph β one substrate, three consumers (update 2026-07-25). A second
frontier piece sits underneath the editing kernel: a typed graph over the same building where every
edge is recovered (from IFC relations) or derived (pure geometry β face-touch, cadence, bbox-
span), never invented, oracle'd to a 0.000mm fold round-trip and proven construct-agnostic β
the same builders run unmodified on a house and on a bridge (no grid, no storeys, zero fabricated
edges either way). Three separate features consume the same graph rather than each growing its own
pathfinding: the Spatial Dependency Graph's edit-time fold/cascade engine, an occupant-navigation
graph (room β corridor β stair β exit β a real hospital's room pathability raised 56%β86%, an
isolated 315 mΒ² atrium reconnected), and the Viewer's Fly Tour, which routes its camera through the
identical compiled vocabulary instead of inventing its own waypoints (highlight-first routing
shipped, PR #989).
What keeps this in Frontier rather than the Moats list below: a provenance gate now checks every
deploy of this data on two axes β the exact bytes of the building DB actually being served, and the
exact commit of the code that measured it β refusing to run against a stale checkout or a mismatched
snapshot. It replaced a manual discipline that had already let two real defects reach
near-publication (a raster built for one room count silently judged against another; a stale engine
checkout nearly reported a fix as a regression), and its own first run caught a third: an uploaded
patch with no reconstructable source in the repository. Stated plainly, what's still open: on
5 of a real building's 7 storeys, the occupant graph's walkability today is a room/corridor-rectangle
network, not independently measured floor geometry β real connectivity under that definition, not yet
demonstrated against slab-level geometry there. No incumbent or open-source BIM tool surveyed below
treats occupant navigation, camera-tour routing, and parametric editing as three consumers of one
zero-invented, snapshot-verified graph; this is architecture proven on a real multi-storey building,
not yet a finished capability. See prompts/SPATIAL_DEPENDENCY_GRAPH.md,
prompts/Modeller/DISC_Walker/OCCUPANT_PATHFINDER.md, prompts/Viewer/FLY_TOUR_CORRIDOR_GRAPH.md.
The landscape β nobody else compiles, nobody else connects¶
Tier 1 β Incumbents (geometry authoring)¶
| Tool | Role |
|---|---|
| Autodesk Revit | Full BIM authoring. Industry standard. |
| ArchiCAD (Graphisoft) | Architectural BIM. Strong in EU/Asia. |
| Tekla Structures (Trimble) | Steel/concrete detailing, fabrication-grade. |
They create IFC. They model geometry. They do not decompose it into a BOM recipe, compile from intent, or verify the round-trip.
Tier 2 β Visual newcomers¶
| Tool | What it does |
|---|---|
| Snaptrude | Browser sketch-to-BIM |
| TestFit | AI generative site planning |
| Arkio | VR/AR collaborative design |
Design exploration. No BOM, no compilation, no verification.
Tier 3 β Open source (IFC-native)¶
| Tool | What it does |
|---|---|
| Bonsai/BlenderBIM | IFC-native authoring inside Blender |
| IfcOpenShell | IFC parsing/generation library |
| ThatOpen (IFC.js) | Web IFC viewer/editor |
They parse and display IFC. They do not abstract intent, compile from recipes, or prove round-trip fidelity β and none connect BIM to a transaction ERP over one signed log.
Adjacent layers β interop and governance (not authoring, not competing directly)¶
| Layer | Example | What it does | What it doesn't |
|---|---|---|---|
| Geometry interop | Speckle | Git-like versioning for geometry across tools | Needs a server; stops at geometry β no cost/schedule/ERP |
| Governance/CDE | AWARO, Trimble Connect, ACC | WIPβSharedβPublished workflow, roles, sign-off | Manages artifacts, not derived data β computes nothing |
Neither is a competitor β both could sit upstream or downstream of this pipeline. The versioning half (Speckle's job) is already native here as the signed op-log (Moat #6, no server needed); the governance half (AWARO's job) is a state machine that could ride on top of this pipeline's merge gate rather than replace it.
Moats¶
- Spatial compilation is solved β and hard to replicate. Intent extraction, recompile, and a 0.002 mm round-trip across 21 buildings from 9 tools. Years of domain work.
- BIMβERP over one signed op-log β unique. Building β procurement order, ERP documents reproduced to the cent. Requires rare BIM and manufacturing-ERP knowledge in one head.
- One generic dashboard for every data model. AD-field-driven group-by/pivot/timeline β not a bespoke report per table.
- Serverless / local-first by construction. Each browser is its own server; the only shared resource is a stateless signature gatekeeper. Scales to 10,000 POS stations with no central database to overload β the exact failure mode that sank the national e-invoicing rollout.
- Domain-agnostic pipeline. Houses, terminals, bridges, rail (93% BOM compression) β one
pipeline, a YAML mapping per domain. See
INFRA_DESIGNER_SRS.md. - Op-log = git-for-data. Every state is a deterministic, reversible fold of a signed log β what makes What-If branches, audit, and crash-replay fall out for free.
The asymmetry: adding a GUI to a compilation foundation takes weeks. Adding spatial compilation β or a to-the-cent ERP fold β to a GUI-first tool takes years.
Honest risks (kept current, not just moats)¶
- Adoption is structurally harder for an intersection than a point solution. Needs a modeler, a scheduler, and a cost/ERP owner to all find it worthwhile at once.
- Generality is claimed, not yet proven externally. Every capability measured so far was built and tuned in-house; a genuinely foreign file is still an open test.
- Distribution is currently bespoke, not repeatable. Real signal so far has cost real founder-hours per contact β not yet a growth motion.
- Credibility currently rests on one person across communities that don't normally talk to each other (BIM, ERP, open-source/local-first) β coherent, but earned per conversation, not yet institutional.
None of these block using or trying the project β they're the risks worth tracking as it scales, stated plainly rather than smoothed over.
Who uses this, and what they'd pay for¶
| Role | Workflow | Value | Tier |
|---|---|---|---|
| Quantity Surveyor | Drop IFC β BOQ + Variation Order Excel | Automated takeoff, no Navisworks | 1 |
| Contractor (tender) | Import architect's IFC β classify β costed BOM | Quantities tied to verified geometry | 1 |
| Project Manager | Push building β ERP project; track Planned vs Committed + EVM | Budget/actual + cost What-If in one place | 1 |
| Developer / Investor | Share a URL β browse the model, no install | Instant stakeholder view | 1 |
| SME merchant (Malaysia) | Run a local POS that does e-invoicing + accounting | Mandate compliance without a server to crash | 2 (target) |
| ERP owner (migration) | Run a DB health-check β dirty-data + migration-gap report | Knows what they're sitting on before committing | 2 (target) |
| Architect / small practice | Author basic geometry in-browser, export IFC | A path off per-seat license fees | 3 (frontier) |
Get involved¶
The project is open source (MIT) and actively developed. Roadmap:
ACTION_ROADMAP.md. For the journey from the IfcOpenShell Federation
branch (Oct 2025) to today, see PROJECT_CHRONOLOGY.md.
If you work with IFC models, run an ERP you're afraid to migrate, or just want verified spatial compilation β try it, break it, tell us what's missing. Contributions welcome: product catalogs, jurisdiction rules, format importers, test buildings.
Cross-references:
SPATIAL_COMPILATION_PAPER.md β academic paper (0.002 mm proof),
MigrateComparisonPaper.md β ERP fold, to the cent,
BOMBasedCompilation.md β compilation pipeline spec,
DATA_MODEL.md β 4-database schema,
TestArchitecture.md β Rosetta Stone gates and traceability,
ModellerKernelFold.md β modeller as signed-log fold,
PROJECT_CHRONOLOGY.md β dated history + commit ledger,
ACTION_ROADMAP.md β project roadmap
References¶
[1] Muller, M.F. et al. "On BIM Interoperability via the IFC Standard: An Assessment from the Structural Engineering and Design Viewpoint." Applied Sciences 11(23), 2021. β Documents geometry loss and property loss across IFC exchanges between Revit, ArchiCAD, Tekla, and others. doi:10.3390/app112311430
[2] Pazlar, T. & Turk, Z. "Interoperability in practice: Geometric data exchange using the IFC standard." ITcon 13, 2008. β Early benchmark showing "distortion or loss of information related to the geometry of the elements" and "incorrect connection between elements" across five IFC-certified tools. ResearchGate
[3] Diakite, A. & Zlatanova, S. "About the Geo-referencing of BIM models." TU Delft, 2018. β Analysis of coordinate system divergence in IFC georeferencing, origin offset problems, and IfcMapConversion limitations. PDF
[4] BIMcollab. "Coordinating IFC Models with World Coordinate System information." β Documents how models without IfcMapConversion "will be shown somewhere far away from the already loaded model." BIMcollab Help
[5] Autodesk. "Revit 2024: Enhancements to IFC Geometric Fidelity." 2023. β Autodesk's own acknowledgement that IFC geometric fidelity required improvement, with fixes for "complex families (parametric railings, helical stairs) which may generate fragmented geometries." Autodesk Blog
[6] CAD Interop. "Revit File Formats: BIM Interoperability, IFC Conversion." β Notes that .rvt files are "editable only in Revit" with "a shelf-life of 3 years (the lifespan of Autodesk support)." CAD Interop
[7] Moult, D. "How to create better IFC files with Revit." thinkmoult.com. β Documents that "even when you manage to export your geometry through IFC, there's always loss of data" and "importing that into Revit makes it utterly useless." thinkmoult
[8] Bonsai BIM. "Beautiful, detailed, and data-rich OpenBIM." β Bonsai is IFC-native: "you're not creating geometry that gets converted to IFC later. You're working directly in IFC." bonsaibim.org
[9] OSArch Community. "How to import IFC with large coordinates?" β Documents floating-point precision limits with georeferenced files requiring local origin offsets, and that "horizontal construction where distances frequently exceed 1km presents challenges." OSArch
[10] Oon, R.D. "BIM OOTB β Browser Variation Order from IFC Import." 2026. β Demonstrates what becomes possible when BIM data lives in a queryable DB rather than a file: geometry stored as hash-keyed BLOBs (identical meshes instanced, not duplicated), revision diff as SQL EXCEPT on GUID sets, cost impact as GROUP BY on diff Γ rates template. IFC import, 4D/5D variance, and costed Variation Order Excel β entirely in the browser, no server. YouTube
[11] Autodesk. "Industrialized Construction." β "Applies the discipline and systematized fabrication process of manufacturing to the design and build process... as consistent and replicable as widgets rolling off a factory assembly line." Autodesk Emerging Tech
[12] Olanrewaju, O.I. et al. "Quantifying the influence of BIM adoption." Automation in Construction 161, 2024. β Notes "a significant gap between research and industry practice" and that the industry "still lacks its own quantification methodology for BIM benefits." ScienceDirect
Copyright (c) 2025-2026 Redhuan D. Oon. MIT Licensed.