bldg

Benchmarks

What was measured and on which plans. The full tables and the method are in Measured benefits.

These figures were measured with the earlier Python implementation of bldg, on its version of the format, with its benchmark scripts and an earlier local set of test plans. Those scripts are not part of bldg today and the current engine has not re-run them, so the numbers below are not regenerated by it.

Measured benefits

Measured on 55 ground-truth plans: 31 from public floor-plan datasets and 24 synthetic, each stored as a mm document on its image (27 with a calibrated scale, 28 with an assumed one). Method, definitions and environment are in Measured benefits.

Tokens for the same drawing, at full (fine) drawing detail. This is the only depth measured: walls with their joins and cuts, doors with frame / jambs, leaf thickness and swing arc, windows with frame, sash, glass and sill, furniture as catalog symbols, stairs, printed dimensions, type marks, room names with areas. Every baseline is generated from the compiler's fine drawing and decoded back to check that it draws the same primitives (58 of 58 plans for each baseline; the bldg answer recompiled draws them too). Baselines are rounded to 1 mm (0.01 in), coarser than bldg's 0.01 mm, and the pens (style sheet / layer table) are not counted on either side. Tokens: tiktoken o200k_base, minified.

plansbldg extract answerSVG (minified drawing)DXF-like entity JSONabsolute-geometry JSONGeoJSON
55 ground-truth plans156,055411,924 (2.6×)423,859 (2.7×)339,997 (2.2×)583,739 (3.7×)
synthetic_19 (the furnished plan in the landing clip)3,84218,224 (4.7×)18,130 (4.7×)15,349 (4.0×)25,569 (6.7×)

bldg therefore takes 54-73% fewer tokens than these four encodings of the same drawing (they need 2.2-3.7× its tokens). That is the plan alone, not the cost of a whole agent request.

Per element kind (all 58 plans: the 55 plus the three editor examples), the drawing formats take walls 1.1-1.8×, doors 4.0-7.9×, windows 4.8-7.9×, furniture 6.3-10.7×, rooms 2.8-4.3× and annotation 0.8-1.4× the bldg tokens: the gap is in the symbols the compiler draws from a few semantic fields.

The other measurements compare the semantic answer (no drawing; every model-side encoding in the image frame, pixels, 0.1 px), and the encoding under noise:

absolute coordinates (raw VLM style)bldg
topological defects per plan under Gaussian noise, σ = 6 px (open corners, openings off their wall; after repair, corners joined wrongly; for bldg, walls, openings or rooms lost or moved in lint and compile)23.7 as written, 14.6 after the best repair2.65
mean corner error against ground truth, same noise (27 plans with a calibrated scale)83 mm as written, 71 mm after the repair81 mm (no better: topology, not geometry)
semantic answer size, the same elements and no drawing (tiktoken o200k_base, minified; all encodings generated from one validated plan, in the image frame; bldg with its types)181,356157,041 (−13%; −18% median per plan; −14% with short keys)

Against a drawing, bldg is 2.2-3.7× smaller; against a semantic answer of the same elements, the gain is topological correctness, not size or geometric accuracy:

Real-data round trip

Ground truth goes through floorplan/v0 → bldg → compile → floorplan/v0 and is scored with the floorplan/v0 evaluator. 58 plans can be scored: 34 from 5 public floor-plan datasets and 24 synthetic. 4 Wikimedia Commons images have no labels and are excluded. Not every dataset labels every field, so each score's denominator differs. This measures how much the format and compiler lose:

wall IoUdoor F1window F1door typehinge sideswing sideswing_intoroom F1
overall (58 scored plans)0.9970.9980.9951.0001.0001.0001.0001.000

The residuals:

The bridge stores each plan as a mm document on its image (the image as the level's underlay: a calibrated scale where the dataset gives one, else the stand-in 10 mm/px marked assumed) and maps every point back through that transform for scoring.

bldg's Boolean-free 3D pieces are checked against a CSG reference on the same geometry (IFC walls with their openings cut by IfcOpenShell's boolean). For 2,086 of the 2,094 compared walls both have the same volume, to within a relative 1e-4; each of the other 8 is listed in Measured benefits with the measured reason (a wall without openings whose outline self-intersects, which the compiler warns about).

input, compiled SVG and 3D for three plans

Rows 1–2: our own synthetic generator (no restrictions). Row 3: adapted from Archilyse AG (Standfest et al.), Swiss Dwellings v3.0.0, doi:10.5281/zenodo.7788422, CC BY 4.0; rendered, converted to bldg, recompiled and re-rendered as SVG and 3D. See NOTICE.

bldg · Editor · Editor guide · Viewer · Format · Benchmarks · Limitations · Terms · Privacy · hello@usebldg.com