← Back to Portal updated 2026-08-24
Report · state of the work

HVAC spatial intelligence for architects, from day one

Where the research and the product stand today: a pipeline that turns building models into graphs, early machine-learning results on eight real buildings, and a working prototype app. Written for AEC professionals, investors and advisors — the yellow sidebars explain the jargon.

8real buildings converted to graphs (9 graphs — one has two HVAC design options)
~900rooms · ~770 pieces of HVAC equipment · ~2,900 room-to-room links
25.8%duct-zone depth predicted exactly on unseen buildings (5 classes; best non-learned guess 17%)
00

Hypothesis / High-level Approach

The technical bet is that the relationship between a building's rooms and its systems is learnable from the thousands of coordinated buildings that already exist — if those buildings are first turned into a form a model can learn from. That form is a graph, and building it is most of the work so far.

01

The pipeline: building model → graph

stable, in use

A four-stage pipeline reads a coordinated building model and writes one validated graph per building. It accepts both Revit models (via export scripts run inside Revit) and IFC files (fully headless); nothing downstream knows which source a building came from. Every categorical value comes from a controlled vocabulary (17 dimensions, e.g. 123 ASHRAE room functions, 4 HVAC-strategy facets), so graphs from different buildings are directly comparable.

SPACE LAYER — rooms and how they touch officeopen planmeetingcorridorshaft edges carry: shared wall length · door / open-plan · same floor or stacked HVAC LAYER — equipment and flow AHU diffuser diffuser serve / location edges couple the two layers — this coupling is what nobody else models
The dual graph: a space layer, an HVAC layer, and the edges between them. The ML view of the graph deliberately hides world coordinates and collapses terminals onto the rooms they serve.

The fleet today

Building Source Use Storeys Rooms Equipment HVAC strategy (ventilation / heating / cooling)
210 King (Autodesk sample) Revit office 7 237 164 central air / boiler / DX
Medical Clinic (NBU) IFC healthcare 3 259 126 central air / — / air-cooled chiller
Golden Nugget (2 design options) Revit mixed use 7 71 92 / 78 decentral vs all-air variants; solar + boiler
Snowdon Towers (Autodesk sample) Revit mixed use 7 74 37 decentralized
Furigana (Autodesk sample) Revit office 8 65 163 DOAS + VRF / heat pump
BIMcollab example IFC office 3 50 37 central air / boiler / DX (partial model)
Munkerud (SGD, Norway) IFC residential 3 54 47 central air / electric; ducts inside the floor
Duplex (NBU) IFC residential 2 20 26 natural / hydronic radiant / none

All are public research datasets. Each one can be explored in the Project viewer.

What is automatic, what is not

  • Automatic (minutes): extraction, graph construction, equipment-name normalization (multilingual, cached), typical-floor replication, validation against the schema and vocabulary, regression checks across the fleet, visual review pages.
  • Human (hours): a per-building config file (declare the HVAC strategy, a few keyword rules for room types, occasional manual fixes where the model missed a door), a visual inspection pass. Domain questions are logged and ruled on — never guessed by code.

Scale of the asset: ~19k lines of pipeline, extraction and visualization code; ~12k lines of schema, conventions and 300+ logged decisions.

02

Machine learning: does it generalize?

first cross-building results

The question that matters commercially is not "can a model fit these buildings" but "can it predict a building it has never seen". Every result below therefore uses leave-one-building-out evaluation: train on seven buildings, test on the eighth, rotate. The model only ever sees inputs that an architect's massing can provide — room geometry, use, level, adjacency — never anything derived from the HVAC it is asked to predict.

Two tasks

Task 1 — per-room attributes Task 2 — HVAC space generation
Question For each room: how deep is the duct zone below the slab? How low do supply terminals reach? How big is the largest duct? How many plant rooms and shafts does the building need, and on which levels?
Answer form 5 ordered classes with design-meaningful edges (e.g. 0.30 m ceiling-assembly steps) Counts per level
Samples ~480 rooms with labels 8 buildings

Headline results (unseen buildings, exact-class accuracy)

Duct-zone depthTerminal heightLargest duct size 0%20% = chance45% 17% best rule-of-thumb baseline 25.8% graph model 3% baseline 14.6% graph model 45% majority 23% — model does not beat the majority guess
Leave-one-building-out, 3 seeds, 2026-08-24 run. The graph model is also the only method that uses all five classes rather than collapsing to one or two (macro-F1 0.16 vs ≤0.12). Duct size in its current per-room framing is capped by the majority prior — it needs reframing at building level, not more training.

Three findings that shape the plan

  • The graph is what carries the signal. Removing the room-to-room edge attributes (is the neighbour open-plan? how much wall is shared?) costs 9.6 points on duct depth; removing the graph entirely costs 5. The representation choice is validated.
  • Building-level labels currently hurt. With seven training buildings, "HVAC strategy" and "climate zone" act as a building ID — the model memorizes them. Dropping them is now the default; they will be re-enabled automatically once each strategy appears in at least three buildings. This is a data-size effect, not a modeling error.
  • More buildings are the binding constraint, not model capacity. Accuracy rises monotonically with the number of training buildings and shows no plateau at n=7 (chart below). Task 2 (plant rooms and shafts) is not learnable at all yet at n=8 — it is a rate table — and it is exactly the task that architecture-only models (no HVAC modelled) can feed, because plant rooms and shafts appear in an architect's room schedule.
123456training buildings 10%17%24% graph modelrule-of-thumb baseline
Duct-zone depth accuracy on held-out buildings as the training set grows (6 subset draws per fold). The baseline is flat; the model keeps climbing.
03

The app: massing in, reservations out

prototype, P1 in progress

The product wraps the same graph contract in a workflow an architect can use in five minutes. Started 2026-08-18; the first milestone is a scripted end-to-end demo on one clean building, the second a hardened version for small-firm trials.

Ingest massing.3dm / OBJ / IFC Tag spacesASHRAE use · confirm Configuresite · priorities · systems Predictintervals + provenance Reserve & score3-D volumes solid = built and verified · dashed = engine v1 live, reservation rendering next
  • Ingest → graph → viewer built — a massing file becomes the same dual-graph JSON the pipeline writes (HVAC layer empty), rendered in a three.js viewer with adjacency overlays.
  • Space tagging built — one structured LLM call proposes an ASHRAE use per space with confidence; the user confirms or corrects; every confirmation is logged as training signal.
  • Guided configuration built — location → climate-zone proposal the user confirms; a 10-point priority allocation (space, efficiency, cost, carbon, adaptability) maps deterministically onto 2–3 recommended HVAC strategies plus a contrasting trade-off pick.
  • Conversational agent + tool surface built — one agent with deterministic tools, exposed as an MCP server so the same capabilities can be driven from the web app today and a Rhino-side client later.
  • Engine v1 live — an expert-prompted estimator grounded in our curated HVAC knowledge pack (distilled from engineering references; every number cites a pack item and returns an interval). Learned models replace rule estimates per task only when they beat them on unseen buildings — the ML section above is that gate.
  • Reservation volumes in 3-D, score panel next.

Design rules that hold throughout: the graph JSON is the only contract between components; no number ships without provenance and an interval; user decisions are telemetry from day one, because each session on a live project is a labelled data point for the corpus.

04

The moonshot: predictive integration under competing priorities

Today's results predict one system's spatial footprint. The research programme behind Rubber Duck aims higher: treat architecture and building systems as one coupled, jointly learnable object, and let a designer steer the trade-offs between them explicitly.

  • Masked prediction on the joint graph. Hide any part of the combined space + systems graph and reconstruct it from context — hide all HVAC and recover the shafts; hide the rooms around a plant room and recover what the layout must have been. One representation, many questions.
  • Learning from design evolution. Where firms keep pre- and post-coordination versions of a model, temporal graph models can learn what changed and why — predicting which elements a coordination round will move, before it happens.
  • Multi-priority optimization. There is no single ground truth in early design: a configuration that minimizes ceiling depth may cost efficiency or carbon. The goal is a model that scores a candidate against several objectives at once — spatial footprint, system efficiency, cost and carbon proxies, adaptability — so the architect front-loads the negotiation rather than discovering it in week 30. The app's priority allocation is the first, deterministic version of this dial; the learned version is the destination.
  • Beyond HVAC, beyond buildings. The same dual-graph idea applies to structure, electrical and plumbing, and to other co-developed engineered systems where early decisions in one domain silently constrain another.
What it takes: the representation and pipeline exist; the evaluation protocol exists; the app exists to collect preferences. The missing ingredient is volume — tens to hundreds of coordinated buildings, and ideally versioned ones. That is the ask of every data conversation we have.
05

What's next

Sources: pipeline and ML technical reports (2026-08-24), decision logs of the pipeline, ML, app and knowledge repositories, and the research proposal "Graph-Based Learning for Predictive Integration of Building Systems". Numbers are reproducible from the pinned fleet snapshot; contact Qianyi Huang for the technical versions.