NDJSON
The authored model. Edit it, diff it, or feed it to an agent.
- bimtex
Northline Distribution Warehouse: 267 source entities compile into 1193 solids, 17 coordinated views and 10 discipline sheets. Every view below is regenerated from that same source model.
Generated views
Generated from the compiled model, each at a camera the interactive view above already offers. Not photographs — this building does not exist.
Continue elsewhere
Take the same compiled building into an editor, a BIM workflow, or a realtime 3D scene.
The authored model. Edit it, diff it, or feed it to an agent.
Buildings, storeys, walls, openings, rooms, slabs and roofs.
PBR geometry ready for Three.js and other glTF viewers.
Metre-based, z-up geometry with named objects; no MTL or BIM data.
Parcel, grade, setbacks, paving, landscape, fences and streets are compiled beside the building rather than by a separate site renderer.
The X–X cut is placed automatically in clear space; structure at the plane draws heavy and the authored grade masks construction below ground.
The roof surfaces are omitted from the same projection so interior walls, stairs, furniture and equipment remain coordinated.
The same model also produced 18 further drawings, indexed here the way a construction set indexes its sheets. Open any drawing on this page — plate or thumbnail — to read it at full size and download it in every format it exports.
2 plans · 3 elevations · 1 section · 2 axonometrics · 10 issued sheets
Move a slider. The model recompiles in this browser and both views redraw from the result. Push the storey height beyond a valid configuration and the real validator turns the verdict red.
// bimtex example 13 — distribution warehouse with two-storey office and coordinated service yard
//
// This is an original coordinated design, not a reconstruction of a planning application.
// The 90 × 70 m parcel, 54 × 36 m hall, 18 × 12 m office, dock spacing,
// structural grid, parking and equipment positions were composed together for this example.
// No dimensions or architectural details are claimed to derive from a real warehouse.
{"t":"project","id":"distribution-warehouse","name":"Northline Distribution Warehouse","summary":"A high-bay distribution hall with four loading docks, dense pallet racking, a two-storey workplace block and a fully coordinated service yard.","unit":"m","typology":"industrial","frontSide":"south","light":"overcast"}
{"t":"parcel","id":"warehouse-parcel","x":0,"y":0,"w":90,"d":70,"address":"Coordinated industrial estate study","frontage":"south"}
{"t":"grade","id":"site-grade","elev":0}
{"t":"setback","id":"warehouse-setback","margin":{"north":2,"south":3,"east":2,"west":2}}
// A public estate road defines the south frontage. Two curb gaps lead to the
// staff court and the separate HGV service loop.
{"t":"street","id":"estate-road","name":"NORTHLINE ESTATE ROAD","from":[-5,75],"to":[95,75],"width":10,"lanes":2,"class":"local"}
{"t":"curb","id":"south-curb-west","from":[0,70],"to":[35,70]}
{"t":"curb","id":"south-curb-middle","from":[43,70],"to":[80,70]}
{"t":"road","id":"staff-access","use":"staff and visitor access","width":6,"from":[39,70],"path":[{"to":[39,66]},{"to":[72,66]}],"material":"wh-asphalt"}
{"t":"road","id":"hgv-service-loop","use":"one-way HGV service loop to loading apron","width":7,"from":[86,70],"path":[{"to":[86,9]},{"to":[66,9]}],"material":"wh-asphalt"}
{"t":"paving","id":"dock-apron","label":"HGV LOADING APRON","use":"driveway","x":12,"y":4,"w":54,"d":12,"material":"wh-asphalt"}
{"t":"paving","id":"office-forecourt","label":"STAFF ENTRANCE FORECOURT","use":"walkway","x":10,"y":64,"w":20,"d":4,"material":"wh-concrete"}
// The hall floor is raised 1.2 m above the yard for true loading-dock geometry.
// The office is a separate footprint and level stack, meeting the hall at its
// south-west corner while remaining independently legible on plans and sheets.
{"t":"footprint","id":"hall","label":"HIGH-BAY DISTRIBUTION HALL","x":12,"y":16,"w":54,"d":36}
{"t":"footprint","id":"office","label":"OFFICE + WELFARE BLOCK","x":12,"y":52,"w":18,"d":12}
{"t":"building","id":"hall-building","label":"Distribution hall","footprint":"hall"}
{"t":"building","id":"office-building","label":"Office and welfare block","footprint":"office"}
{"t":"level","id":"hall-g","name":"Warehouse Floor","elev":1.2,"height":10,"ceiling":9.6,"building":"hall"}
{"t":"level","id":"office-g","name":"Office Ground Floor","elev":0,"height":3.6,"ceiling":3.2,"building":"office"}
{"t":"level","id":"office-l1","name":"Office First Floor","elev":3.6,"height":3.6,"ceiling":3.2,"building":"office"}
// One clear high-bay volume carries storage, dispatch and a protected personnel route.
{"t":"room","id":"hall-storage","label":"High-Bay Storage + Dispatch","use":"storage","level":"hall-g","x":0.3,"y":0.3,"w":53.4,"d":35.4,"height":9.6}
{"t":"slab","id":"hall-slab","level":"hall-g","x":0,"y":0,"w":54,"d":36,"thickness":0.35,"material":"wh-concrete"}
{"t":"wall","id":"hall-n","level":"hall-g","side":"north","type":"exterior","thickness":0.3,"material":"wh-cladding"}
{"t":"wall","id":"hall-s","level":"hall-g","side":"south","type":"exterior","thickness":0.3,"material":"wh-cladding"}
{"t":"wall","id":"hall-e","level":"hall-g","side":"east","type":"exterior","thickness":0.3,"material":"wh-cladding"}
{"t":"wall","id":"hall-w","level":"hall-g","side":"west","type":"exterior","thickness":0.3,"material":"wh-cladding"}
// Four overhead dock doors align with shelters, levellers and the north apron.
{"t":"opening","id":"dock-door-1","on":"hall-n","kind":"door","operation":"overhead","at":10,"width":3.4,"sill":0,"head":4.5,"room":"hall-storage"}
{"t":"opening","id":"dock-door-2","on":"hall-n","kind":"door","operation":"overhead","at":20,"width":3.4,"sill":0,"head":4.5,"room":"hall-storage"}
{"t":"opening","id":"dock-door-3","on":"hall-n","kind":"door","operation":"overhead","at":30,"width":3.4,"sill":0,"head":4.5,"room":"hall-storage"}
{"t":"opening","id":"dock-door-4","on":"hall-n","kind":"door","operation":"overhead","at":40,"width":3.4,"sill":0,"head":4.5,"room":"hall-storage"}
{"t":"opening","id":"hall-personnel-door","on":"hall-s","kind":"door","operation":"swing","at":49.5,"width":1.2,"sill":0,"head":2.4,"room":"hall-storage"}
// A regular structural grid keeps the high bay legible behind the equipment.
{"t":"grid","id":"grid-x-a","axis":"x","at":12,"label":"A"}
{"t":"grid","id":"grid-x-b","axis":"x","at":24,"label":"B"}
{"t":"grid","id":"grid-x-c","axis":"x","at":36,"label":"C"}
{"t":"grid","id":"grid-x-d","axis":"x","at":48,"label":"D"}
{"t":"grid","id":"grid-x-e","axis":"x","at":60,"label":"E"}
{"t":"grid","id":"grid-x-f","axis":"x","at":66,"label":"F"}
{"t":"grid","id":"grid-y-1","axis":"y","at":16,"label":"1"}
{"t":"grid","id":"grid-y-2","axis":"y","at":28,"label":"2"}
{"t":"grid","id":"grid-y-3","axis":"y","at":40,"label":"3"}
{"t":"grid","id":"grid-y-4","axis":"y","at":52,"label":"4"}
{"t":"column","id":"hall-column-b2","level":"hall-g","x":12,"y":12,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-c2","level":"hall-g","x":24,"y":12,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-d2","level":"hall-g","x":36,"y":12,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-e2","level":"hall-g","x":48,"y":12,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-b3","level":"hall-g","x":12,"y":24,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-c3","level":"hall-g","x":24,"y":24,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-d3","level":"hall-g","x":36,"y":24,"size":0.45,"height":9.6}
{"t":"column","id":"hall-column-e3","level":"hall-g","x":48,"y":24,"size":0.45,"height":9.6}
// Six long selective-rack runs are furniture so they remain visible on A-101.
// Handling equipment stays asset geometry: it dresses the 3D and appears as
// coordinated volumes in elevations, sections and axonometrics.
{"t":"furniture","id":"rack-run-1","type":"pallet-rack","label":"Rack Run 01","level":"hall-g","x":2.5,"y":6.5,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"furniture","id":"rack-run-2","type":"pallet-rack","label":"Rack Run 02","level":"hall-g","x":2.5,"y":10.8,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"furniture","id":"rack-run-3","type":"pallet-rack","label":"Rack Run 03","level":"hall-g","x":2.5,"y":15.1,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"furniture","id":"rack-run-4","type":"pallet-rack","label":"Rack Run 04","level":"hall-g","x":2.5,"y":19.4,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"furniture","id":"rack-run-5","type":"pallet-rack","label":"Rack Run 05","level":"hall-g","x":2.5,"y":23.7,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"furniture","id":"rack-run-6","type":"pallet-rack","label":"Rack Run 06","level":"hall-g","x":2.5,"y":28,"w":2.7,"d":1.1,"height":8.4,"cols":12,"gapX":0.25}
{"t":"asset","id":"pallet-floor-1","class":"pallet","x":49,"y":23,"w":1.2,"d":0.8,"z0":1.2,"z1":1.35}
{"t":"asset","id":"pallet-floor-2","class":"pallet","x":50.5,"y":23,"w":1.2,"d":0.8,"z0":1.2,"z1":1.35}
{"t":"asset","id":"pallet-floor-3","class":"pallet","x":49,"y":27.3,"w":1.2,"d":0.8,"z0":1.2,"z1":1.35}
{"t":"asset","id":"pallet-racked-1","class":"pallet","x":18,"y":22.65,"w":1.2,"d":0.8,"z0":3,"z1":3.15}
{"t":"asset","id":"pallet-racked-2","class":"pallet","x":27,"y":31.25,"w":1.2,"d":0.8,"z0":4.8,"z1":4.95}
{"t":"asset","id":"pallet-racked-3","class":"pallet","x":39,"y":39.85,"w":1.2,"d":0.8,"z0":6.6,"z1":6.75}
{"t":"asset","id":"forklift-dispatch","class":"forklift","x":51,"y":24,"w":1.4,"d":3.2,"z0":1.2,"z1":3.4}
{"t":"asset","id":"forklift-storage","class":"forklift","x":51,"y":37,"w":1.4,"d":3.2,"z0":1.2,"z1":3.4}
{"t":"asset","id":"conveyor-1","class":"conveyor","x":56,"y":20,"w":0.8,"d":3,"z0":1.2,"z1":2.05}
{"t":"asset","id":"conveyor-2","class":"conveyor","x":56,"y":23.2,"w":0.8,"d":3,"z0":1.2,"z1":2.05}
{"t":"asset","id":"conveyor-3","class":"conveyor","x":56,"y":26.4,"w":0.8,"d":3,"z0":1.2,"z1":2.05}
{"t":"asset","id":"guard-rack-1","class":"guard-rail","x":13.8,"y":22.45,"w":0.5,"d":1.2,"z0":1.2,"z1":2.2}
{"t":"asset","id":"guard-rack-2","class":"guard-rail","x":13.8,"y":26.75,"w":0.5,"d":1.2,"z0":1.2,"z1":2.2}
{"t":"asset","id":"guard-rack-3","class":"guard-rail","x":13.8,"y":31.05,"w":0.5,"d":1.2,"z0":1.2,"z1":2.2}
{"t":"asset","id":"guard-personnel-1","class":"guard-rail","x":52,"y":48.2,"w":4,"d":0.35,"z0":1.2,"z1":2.2}
{"t":"asset","id":"guard-personnel-2","class":"guard-rail","x":57,"y":48.2,"w":3,"d":0.35,"z0":1.2,"z1":2.2}
// Every dock is assembled from one semantic opening plus separate shelter and
// leveller assets; the opening remains a real void in every drawing.
{"t":"asset","id":"dock-shelter-1","class":"dock-shelter","x":20.3,"y":15.35,"w":3.4,"d":0.65,"z0":1.2,"z1":5.25}
{"t":"asset","id":"dock-shelter-2","class":"dock-shelter","x":30.3,"y":15.35,"w":3.4,"d":0.65,"z0":1.2,"z1":5.25}
{"t":"asset","id":"dock-shelter-3","class":"dock-shelter","x":40.3,"y":15.35,"w":3.4,"d":0.65,"z0":1.2,"z1":5.25}
{"t":"asset","id":"dock-shelter-4","class":"dock-shelter","x":50.3,"y":15.35,"w":3.4,"d":0.65,"z0":1.2,"z1":5.25}
{"t":"asset","id":"dock-leveler-1","class":"dock-leveler","x":21,"y":13.7,"w":2,"d":2.3,"z0":0.72,"z1":1.2}
{"t":"asset","id":"dock-leveler-2","class":"dock-leveler","x":31,"y":13.7,"w":2,"d":2.3,"z0":0.72,"z1":1.2}
{"t":"asset","id":"dock-leveler-3","class":"dock-leveler","x":41,"y":13.7,"w":2,"d":2.3,"z0":0.72,"z1":1.2}
{"t":"asset","id":"dock-leveler-4","class":"dock-leveler","x":51,"y":13.7,"w":2,"d":2.3,"z0":0.72,"z1":1.2}
// Flat hall roof: a continuous parapet and coping frame the PV field and plant.
{"t":"roof","id":"hall-roof","level":"hall-g","type":"flat","ridgeAxis":"x","pitch":0.015,"overhang":0.15,"eave":11.2,"material":"wh-roof"}
{"t":"parapet","id":"hall-parapet-n","on":"hall-n","offset":0,"length":54,"base":9.9,"height":0.45,"thickness":0.25,"material":"wh-coping"}
{"t":"parapet","id":"hall-parapet-s","on":"hall-s","offset":0,"length":54,"base":9.9,"height":0.45,"thickness":0.25,"material":"wh-coping"}
{"t":"parapet","id":"hall-parapet-e","on":"hall-e","offset":0,"length":36,"base":9.9,"height":0.45,"thickness":0.25,"material":"wh-coping"}
{"t":"parapet","id":"hall-parapet-w","on":"hall-w","offset":0,"length":36,"base":9.9,"height":0.45,"thickness":0.25,"material":"wh-coping"}
{"t":"coping","id":"hall-coping-n","on":"hall-parapet-n","width":0.32,"height":0.08,"material":"wh-coping"}
{"t":"coping","id":"hall-coping-s","on":"hall-parapet-s","width":0.32,"height":0.08,"material":"wh-coping"}
{"t":"coping","id":"hall-coping-e","on":"hall-parapet-e","width":0.32,"height":0.08,"material":"wh-coping"}
{"t":"coping","id":"hall-coping-w","on":"hall-parapet-w","width":0.32,"height":0.08,"material":"wh-coping"}
{"t":"asset","id":"roof-rtu-west","class":"rtu","x":20,"y":30,"w":3.4,"d":2.4,"z0":11.35,"z1":12.8}
{"t":"asset","id":"roof-rtu-east","class":"rtu","x":55,"y":34,"w":3.4,"d":2.4,"z0":11.35,"z1":12.8}
{"t":"asset","id":"roof-pv-field","class":"pv-array","x":29,"y":20,"w":20,"d":10,"z0":11.35,"z1":12.15}
{"t":"asset","id":"hall-downpipe-nw","class":"downpipe","x":12,"y":17,"w":0.35,"d":0.35,"z0":1.2,"z1":11.2}
{"t":"asset","id":"hall-downpipe-ne","class":"downpipe","x":65.65,"y":17,"w":0.35,"d":0.35,"z0":1.2,"z1":11.2}
{"t":"asset","id":"hall-downpipe-se","class":"downpipe","x":65.65,"y":49,"w":0.35,"d":0.35,"z0":1.2,"z1":11.2}
{"t":"asset","id":"hall-downpipe-sw","class":"downpipe","x":12,"y":49,"w":0.35,"d":0.35,"z0":1.2,"z1":11.2}
// Ground-floor office programme: reception and open office face the hall;
// welfare rooms and the stair sit behind a short internal circulation spine.
{"t":"room","id":"office-g-reception","label":"Reception","use":"office","level":"office-g","x":0.3,"y":0.3,"w":6,"d":5}
{"t":"room","id":"office-g-open-office","label":"Open Office","use":"office","level":"office-g","x":6.3,"y":0.3,"w":11.4,"d":5}
{"t":"room","id":"office-g-corridor","label":"Reception Corridor","use":"circulation","level":"office-g","x":0.3,"y":5.3,"w":9.5,"d":2}
{"t":"room","id":"office-g-wc","label":"Staff WC","use":"bathroom","level":"office-g","x":0.3,"y":7.3,"w":3.5,"d":4.4}
{"t":"room","id":"office-g-staff","label":"Staff Room","use":"service","level":"office-g","x":3.8,"y":7.3,"w":6,"d":4.4}
{"t":"room","id":"office-g-lobby","label":"Stair + Entry Lobby","use":"circulation","level":"office-g","x":9.8,"y":5.3,"w":7.9,"d":6.4}
{"t":"slab","id":"office-slab-g","level":"office-g","x":0,"y":0,"w":18,"d":12,"thickness":0.28,"material":"wh-concrete"}
{"t":"wall","id":"office-g-n","level":"office-g","side":"north","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-g-s","level":"office-g","side":"south","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-g-e","level":"office-g","side":"east","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-g-w","level":"office-g","side":"west","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-g-reception-office-wall","level":"office-g","from":[6.3,0.3],"to":[6.3,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-g-corridor-n-west","level":"office-g","from":[0,5.3],"to":[9.8,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-g-corridor-n-east","level":"office-g","from":[9.8,5.3],"to":[18,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-g-service-n","level":"office-g","from":[0,7.3],"to":[9.8,7.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-g-wc-staff-wall","level":"office-g","from":[3.8,7.3],"to":[3.8,12],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-g-staff-lobby-wall","level":"office-g","from":[9.8,5.3],"to":[9.8,12],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"opening","id":"office-main-entry","on":"office-g-s","kind":"door","operation":"swing","at":10.6,"width":1.6,"leaves":2,"sill":0,"head":2.5,"room":"office-g-lobby"}
{"t":"opening","id":"office-g-south-window-west","on":"office-g-s","kind":"window","operation":"fixed","at":3,"width":2.2,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-g-south-window-mid","on":"office-g-s","kind":"window","operation":"fixed","at":6.5,"width":2.2,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-g-west-window","on":"office-g-w","kind":"window","operation":"fixed","at":3,"width":2.4,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-g-reception-door","on":"office-g-corridor-n-west","kind":"door","operation":"sliding","at":3,"width":1,"between":["office-g-reception","office-g-corridor"]}
{"t":"opening","id":"office-g-open-office-door","on":"office-g-corridor-n-east","kind":"door","operation":"sliding","at":13,"width":1.1,"between":["office-g-open-office","office-g-lobby"]}
{"t":"opening","id":"office-g-wc-door","on":"office-g-service-n","kind":"door","operation":"sliding","at":2,"width":0.9,"between":["office-g-corridor","office-g-wc"]}
{"t":"opening","id":"office-g-staff-door","on":"office-g-service-n","kind":"door","operation":"sliding","at":6.5,"width":1,"between":["office-g-corridor","office-g-staff"]}
{"t":"opening","id":"office-g-lobby-door","on":"office-g-staff-lobby-wall","kind":"door","operation":"sliding","at":6.3,"width":1,"between":["office-g-corridor","office-g-lobby"]}
// First floor: meeting and administration rooms share the same stair landing,
// with a second WC and archive completing the small workplace programme.
{"t":"room","id":"office-l1-meeting","label":"Meeting Room","use":"office","level":"office-l1","x":0.3,"y":0.3,"w":9.5,"d":5}
{"t":"room","id":"office-l1-admin","label":"Admin Office","use":"office","level":"office-l1","x":9.8,"y":0.3,"w":7.9,"d":5}
{"t":"room","id":"office-l1-corridor","label":"Meeting Corridor","use":"circulation","level":"office-l1","x":0.3,"y":5.3,"w":9.5,"d":2}
{"t":"room","id":"office-l1-archive","label":"Archive","use":"storage","level":"office-l1","x":0.3,"y":7.3,"w":5,"d":4.4}
{"t":"room","id":"office-l1-wc","label":"First Floor WC","use":"bathroom","level":"office-l1","x":5.3,"y":7.3,"w":4.5,"d":4.4}
{"t":"room","id":"office-l1-landing","label":"Stair Landing","use":"circulation","level":"office-l1","x":9.8,"y":5.3,"w":7.9,"d":6.4}
{"t":"slab","id":"office-slab-l1","level":"office-l1","x":0,"y":0,"w":18,"d":12,"thickness":0.28,"material":"wh-concrete"}
{"t":"void","id":"office-stair-void","level":"office-l1","x":11.8,"y":5.8,"w":1.7,"d":5.3}
{"t":"wall","id":"office-l1-n","level":"office-l1","side":"north","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-l1-s","level":"office-l1","side":"south","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-l1-e","level":"office-l1","side":"east","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-l1-w","level":"office-l1","side":"west","type":"exterior","thickness":0.28,"material":"wh-office-accent"}
{"t":"wall","id":"office-l1-meeting-admin-wall","level":"office-l1","from":[9.8,0.3],"to":[9.8,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-l1-corridor-n-west","level":"office-l1","from":[0,5.3],"to":[9.8,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-l1-corridor-n-east","level":"office-l1","from":[9.8,5.3],"to":[18,5.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-l1-service-n","level":"office-l1","from":[0,7.3],"to":[9.8,7.3],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-l1-archive-wc-wall","level":"office-l1","from":[5.3,7.3],"to":[5.3,12],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"wall","id":"office-l1-wc-landing-wall","level":"office-l1","from":[9.8,5.3],"to":[9.8,12],"type":"partition","thickness":0.15,"material":"wh-partition"}
{"t":"opening","id":"office-l1-south-window-west","on":"office-l1-s","kind":"window","operation":"fixed","at":3,"width":2.2,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-l1-south-window-mid","on":"office-l1-s","kind":"window","operation":"fixed","at":7,"width":2.2,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-l1-south-window-east","on":"office-l1-s","kind":"window","operation":"fixed","at":14,"width":2.2,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-l1-west-window","on":"office-l1-w","kind":"window","operation":"fixed","at":3,"width":2.4,"sill":0.8,"head":2.8}
{"t":"opening","id":"office-l1-meeting-door","on":"office-l1-corridor-n-west","kind":"door","operation":"sliding","at":4,"width":1.1,"between":["office-l1-meeting","office-l1-corridor"]}
{"t":"opening","id":"office-l1-admin-door","on":"office-l1-corridor-n-east","kind":"door","operation":"sliding","at":14,"width":1,"between":["office-l1-admin","office-l1-landing"]}
{"t":"opening","id":"office-l1-archive-door","on":"office-l1-service-n","kind":"door","operation":"sliding","at":2.5,"width":0.9,"between":["office-l1-corridor","office-l1-archive"]}
{"t":"opening","id":"office-l1-wc-door","on":"office-l1-service-n","kind":"door","operation":"sliding","at":7.5,"width":0.9,"between":["office-l1-corridor","office-l1-wc"]}
{"t":"opening","id":"office-l1-landing-door","on":"office-l1-wc-landing-wall","kind":"door","operation":"sliding","at":6.3,"width":1,"between":["office-l1-corridor","office-l1-landing"]}
{"t":"stair","id":"office-stair","from":"office-g","to":"office-l1","x":12,"y":6,"width":1.3,"run":4.8,"dir":"south","steps":21}
// Office fit-out is deliberately compact but complete: reception, desks,
// meeting table, welfare kitchenette, WCs and archive storage all read in plan.
{"t":"furniture","id":"reception-desk","type":"checkout","label":"Reception Desk","level":"office-g","x":1.1,"y":1,"w":2.2,"d":0.8,"height":1.05}
{"t":"furniture","id":"reception-loveseat","type":"loveseat","level":"office-g","x":3.4,"y":3.5,"w":1.8,"d":0.9,"height":0.8}
{"t":"furniture","id":"open-office-desks","type":"desk","level":"office-g","x":7.2,"y":1,"w":1.5,"d":0.7,"height":0.74,"cols":4,"gapX":0.75}
{"t":"furniture","id":"open-office-chairs","type":"chair","level":"office-g","x":7.65,"y":2,"w":0.55,"d":0.55,"height":0.9,"cols":4,"gapX":1.7,"rot":180}
{"t":"furniture","id":"ground-wc-toilet","type":"toilet","level":"office-g","x":0.8,"y":8.2}
{"t":"furniture","id":"ground-wc-basin","type":"sink","level":"office-g","x":2.6,"y":8.2}
{"t":"furniture","id":"staff-counter","type":"counter","level":"office-g","x":4.3,"y":8,"w":4.8,"d":0.65,"height":0.92}
{"t":"furniture","id":"staff-sink","type":"kitchen-sink","level":"office-g","x":4.5,"y":8.05}
{"t":"furniture","id":"staff-fridge","type":"fridge","level":"office-g","x":8.6,"y":8,"w":0.8,"d":0.7,"height":1.9}
{"t":"furniture","id":"staff-table","type":"dining-table","level":"office-g","x":5.2,"y":10,"w":1.4,"d":0.8,"height":0.74}
{"t":"furniture","id":"staff-chairs","type":"chair","level":"office-g","x":4.65,"y":9.9,"w":0.48,"d":0.52,"height":0.85,"cols":3,"gapX":0.5}
{"t":"furniture","id":"meeting-table","type":"conference-table","level":"office-l1","x":2,"y":1.5,"w":5.8,"d":1.3,"height":0.74}
{"t":"furniture","id":"meeting-chairs-n","type":"chair","level":"office-l1","x":2.4,"y":0.8,"w":0.5,"d":0.55,"height":0.9,"cols":5,"gapX":0.6}
{"t":"furniture","id":"meeting-chairs-s","type":"chair","level":"office-l1","x":2.4,"y":3.1,"w":0.5,"d":0.55,"height":0.9,"cols":5,"gapX":0.6,"rot":180}
{"t":"furniture","id":"admin-desks","type":"desk","level":"office-l1","x":10.5,"y":1,"w":1.5,"d":0.7,"height":0.74,"cols":3,"gapX":0.7}
{"t":"furniture","id":"admin-chairs","type":"chair","level":"office-l1","x":10.95,"y":2,"w":0.55,"d":0.55,"height":0.9,"cols":3,"gapX":1.65,"rot":180}
{"t":"furniture","id":"archive-shelving","type":"shelving","level":"office-l1","x":0.8,"y":8,"w":3.8,"d":0.45,"height":2}
{"t":"furniture","id":"first-wc-toilet","type":"toilet","level":"office-l1","x":5.8,"y":8.2}
{"t":"furniture","id":"first-wc-basin","type":"sink","level":"office-l1","x":8.4,"y":8.2}
// The office roof is lower than the hall parapet, preserving the intended
// corner-block composition in elevations and axonometrics.
{"t":"roof","id":"office-roof","level":"office-l1","type":"flat","ridgeAxis":"x","pitch":0.015,"overhang":0.12,"eave":7.2,"material":"wh-roof"}
{"t":"parapet","id":"office-parapet-s","on":"office-l1-s","offset":0,"length":18,"base":3.5,"height":0.35,"thickness":0.22,"material":"wh-coping"}
{"t":"parapet","id":"office-parapet-e","on":"office-l1-e","offset":0,"length":12,"base":3.5,"height":0.35,"thickness":0.22,"material":"wh-coping"}
{"t":"parapet","id":"office-parapet-w","on":"office-l1-w","offset":0,"length":12,"base":3.5,"height":0.35,"thickness":0.22,"material":"wh-coping"}
{"t":"coping","id":"office-coping-s","on":"office-parapet-s","width":0.28,"height":0.07,"material":"wh-coping"}
{"t":"coping","id":"office-coping-e","on":"office-parapet-e","width":0.28,"height":0.07,"material":"wh-coping"}
{"t":"coping","id":"office-coping-w","on":"office-parapet-w","width":0.28,"height":0.07,"material":"wh-coping"}
// Staff parking, service equipment and boundary planting complete the site.
{"t":"parking","id":"staff-parking","x":34,"y":59,"along":"x","count":12,"accessible":1,"required":12,"material":"wh-asphalt"}
{"t":"asset","id":"staff-panel-van","class":"van","x":39,"y":59.1,"w":2.02,"d":5.3,"z0":0,"z1":2.12}
{"t":"asset","id":"staff-pickup","class":"pickup","x":45,"y":58.8,"w":2.03,"d":5.88,"z0":0,"z1":1.94}
{"t":"asset","id":"apron-light-west","class":"light-column","x":15,"y":8,"w":0.6,"d":2.4,"z0":0,"z1":6}
{"t":"asset","id":"apron-light-east","class":"light-column","x":62,"y":8,"w":0.6,"d":2.4,"z0":0,"z1":6}
{"t":"asset","id":"staff-light-west","class":"light-column","x":35,"y":62,"w":0.6,"d":2.4,"z0":0,"z1":6}
{"t":"asset","id":"staff-light-east","class":"light-column","x":70,"y":62,"w":0.6,"d":2.4,"z0":0,"z1":6}
{"t":"asset","id":"refuse-enclosure","class":"refuse-enclosure","x":4,"y":8,"w":3.6,"d":2.4,"z0":0,"z1":2}
{"t":"landscape","id":"west-boundary-planting","x":2,"y":15,"w":6,"d":49,"planting":{"species":"native meadow and rain-garden grasses","count":64}}
{"t":"landscape","id":"southwest-entry-bed","x":2,"y":64,"w":8,"d":4,"planting":{"species":"ornamental grasses","count":18}}
{"t":"landscape","id":"northeast-buffer","x":70,"y":2,"w":18,"d":4,"planting":{"species":"native meadow","count":24}}
{"t":"tree","id":"boundary-maple-1","x":5,"y":19,"canopy":3.6,"species":"maple"}
{"t":"tree","id":"boundary-maple-2","x":5,"y":31,"canopy":3.6,"species":"maple"}
{"t":"tree","id":"boundary-maple-3","x":5,"y":43,"canopy":3.6,"species":"maple"}
{"t":"tree","id":"boundary-maple-4","x":5,"y":55,"canopy":3.6,"species":"maple"}
{"t":"tree","id":"entry-maple-1","x":8,"y":66,"canopy":3.2,"species":"maple"}
// Editorial reveals supplement the automatically derived drawing and 3D set.
{"t":"view","id":"interior:racking-hall","mode":"interior","level":"hall-g","building":"hall","label":"HIGH-BAY RACKING + DISPATCH","cameraElevation":24,"cameraAzimuth":210}
{"t":"view","id":"site:dock-apron","mode":"site","label":"FOUR-DOCK HGV APRON + SERVICE LOOP","cameraElevation":55,"cameraAzimuth":165}
{"t":"view","id":"section:racking","mode":"section","axis":"y","station":34,"building":"hall","label":"SECTION THROUGH PALLET RACKING"}
// Coordinated project materials. Pack materialdefs and lookdefs follow below.
{"t":"materialdef","id":"wh-cladding","of":"membrane","value":58,"accent":"#73818b","body":{"roughness":0.72,"metalness":0.28}}
{"t":"materialdef","id":"wh-office-accent","of":"masonry","value":42,"accent":"#344d5c","body":{"roughness":0.82}}
{"t":"materialdef","id":"wh-roof","of":"membrane","value":42,"body":{"roughness":0.9}}
{"t":"materialdef","id":"wh-coping","of":"steel","value":72,"accent":"#b9c1c5","body":{"roughness":0.42,"metalness":0.56}}
{"t":"materialdef","id":"wh-concrete","of":"concrete","value":80,"hatch":"concrete","body":{"roughness":0.92}}
{"t":"materialdef","id":"wh-partition","of":"paint","value":92,"body":{"roughness":0.88}}
{"t":"materialdef","id":"wh-asphalt","of":"render","value":20,"body":{"roughness":0.98}}
// --- PACK DEFINITIONS APPENDED BELOW ---
// Inlined verbatim from packs/warehouse.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-warehouse-blue","of":"painted-metal","value":42,"accent":"#285d93","body":{"roughness":0.46,"metalness":0.36}}
{"t":"materialdef","id":"pack-warehouse-steel","of":"steel","value":72,"accent":"#aeb5b7","body":{"roughness":0.38,"metalness":0.68}}
{"t":"materialdef","id":"pack-warehouse-timber","of":"timber","value":58,"accent":"#9a764e","body":{"roughness":0.82}}
{"t":"materialdef","id":"pack-warehouse-black","of":"painted-metal","value":20,"accent":"#2d3032","body":{"roughness":0.48,"metalness":0.32}}
{"t":"materialdef","id":"pack-warehouse-yellow","of":"painted-metal","value":72,"accent":"#f0c400","body":{"metalness":0.28}}
{"t":"materialdef","id":"pack-warehouse-shelter","of":"cloth","value":20,"accent":"#262729","body":{"roughness":0.88,"sheen":0.18,"sheenColor":"#5a5b5c","sheenRoughness":0.9}}
{"t":"look","id":"use-selective-pallet-rack","for":"furniture:pallet-rack","use":"selective-pallet-rack"}
{"t":"look","id":"use-euro-pallet","for":"asset:pallet","use":"euro-pallet"}
{"t":"look","id":"use-counterbalance-forklift","for":"asset:forklift","use":"counterbalance-forklift"}
{"t":"look","id":"use-dock-leveller","for":"asset:dock-leveler","use":"dock-leveller"}
{"t":"look","id":"use-dock-shelter","for":"asset:dock-shelter","use":"dock-shelter"}
{"t":"look","id":"use-roller-conveyor","for":"asset:conveyor","use":"roller-conveyor"}
{"t":"look","id":"use-guard-rail-bay","for":"asset:guard-rail","use":"guard-rail-bay"}
// Inlined verbatim from packs/envelope.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-envelope-beige-steel","of":"steel","value":80,"accent":"#c9bea6","body":{"roughness":0.48,"metalness":0.38}}
{"t":"materialdef","id":"pack-envelope-pv","of":"paint","value":20,"accent":"#18304f","body":{"type":"MeshPhysicalMaterial","roughness":0.18,"metalness":0.18,"clearcoat":0.48}}
{"t":"look","id":"use-rooftop-package-unit","for":"asset:rtu","use":"rooftop-package-unit"}
{"t":"look","id":"use-pv-array","for":"asset:pv-array","use":"pv-array"}
{"t":"look","id":"use-downpipe-hopper","for":"asset:downpipe","use":"downpipe-hopper"}
// Inlined verbatim from packs/openings.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-opening-oak","of":"timber","value":58,"hatch":"timber","body":{"roughness":0.68}}
{"t":"materialdef","id":"pack-opening-blue","of":"paint","value":42,"accent":"#607888","body":{"roughness":0.64}}
{"t":"materialdef","id":"pack-opening-glass","of":"glass","value":72,"body":{"type":"MeshPhysicalMaterial","transmission":0.92,"ior":1.5,"roughness":0.06,"thickness":0.12}}
{"t":"look","id":"use-slim-fixed-window","for":"opening:fixed","use":"slim-fixed-window"}
{"t":"look","id":"use-timber-flush-door-2","for":"opening:door","use":"timber-flush-door-2"}
{"t":"look","id":"use-painted-panel-door-2","for":"opening:swing","use":"painted-panel-door-2"}
{"t":"look","id":"use-sectional-overhead-door","for":"opening:overhead","use":"sectional-overhead-door"}
// Inlined verbatim from packs/parking.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-car-white","of":"car-paint","value":86,"accent":"#eceeea","body":{"type":"MeshPhysicalMaterial"}}
{"t":"materialdef","id":"pack-car-oxide","of":"car-paint","value":42,"accent":"#a33f2c","body":{"type":"MeshPhysicalMaterial"}}
{"t":"materialdef","id":"pack-car-glass","of":"glass","value":20,"body":{"type":"MeshPhysicalMaterial","roughness":0.08,"metalness":0.1,"transmission":0.62,"ior":1.46,"thickness":0.02}}
{"t":"materialdef","id":"pack-tyre","of":"rubber","value":20,"accent":"#212428","body":{"roughness":0.96}}
{"t":"materialdef","id":"pack-rim","of":"steel","value":80,"accent":"#c6c9cc","body":{"roughness":0.3,"metalness":0.8}}
{"t":"materialdef","id":"pack-head-lamp","of":"paint","value":92,"accent":"#fdf6de","body":{"emissive":"#fdf6de","emissiveIntensity":1.6,"roughness":0.2}}
{"t":"materialdef","id":"pack-tail-lamp","of":"paint","value":20,"accent":"#8d2a24","body":{"emissive":"#a32a20","emissiveIntensity":1.1,"roughness":0.3}}
{"t":"materialdef","id":"pack-pole-grey","of":"steel","value":42,"accent":"#53585c","body":{"roughness":0.44,"metalness":0.55}}
{"t":"materialdef","id":"pack-luminaire","of":"paint","value":92,"accent":"#fbf4dd","body":{"emissive":"#fbf4dd","emissiveIntensity":2.4,"roughness":0.18}}
{"t":"materialdef","id":"pack-enclosure-block","of":"masonry","value":72,"accent":"#a9a49a","body":{"roughness":0.92}}
{"t":"materialdef","id":"pack-bin-body","of":"paint","value":42,"accent":"#33463a","body":{"roughness":0.78}}
{"t":"materialdef","id":"pack-bin-lid","of":"paint","value":20,"accent":"#26332b","body":{"roughness":0.8}}
{"t":"materialdef","id":"pack-car-graphite","of":"car-paint","value":20,"accent":"#33383d","body":{"type":"MeshPhysicalMaterial"}}
{"t":"look","id":"use-crew-cab-pickup-2","for":"asset:pickup","use":"crew-cab-pickup-2"}
{"t":"look","id":"use-panel-van-2","for":"asset:van","use":"panel-van-2"}
{"t":"look","id":"use-twin-head-light-column","for":"asset:light-column","use":"twin-head-light-column"}
{"t":"look","id":"use-gated-refuse-enclosure-2","for":"asset:refuse-enclosure","use":"gated-refuse-enclosure-2"}
// Inlined verbatim from packs/interiors.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-int-linen-soft","of":"cloth","value":80,"body":{"sheenRoughness":0.55}}
{"t":"materialdef","id":"pack-int-oak","of":"timber","value":58,"hatch":"timber","body":{"roughness":0.62}}
{"t":"materialdef","id":"pack-int-stone","of":"stone","value":86,"body":{"roughness":0.3}}
{"t":"materialdef","id":"pack-int-black","of":"membrane","value":20,"body":{"roughness":0.44,"metalness":0.3}}
{"t":"materialdef","id":"pack-int-steel","of":"steel","value":72,"body":{"roughness":0.3,"metalness":0.6}}
{"t":"materialdef","id":"pack-int-brass","of":"brass","value":58,"accent":"#b08d52","body":{"metalness":0.75}}
{"t":"materialdef","id":"pack-int-china","of":"plaster","value":92,"body":{"roughness":0.22}}
{"t":"materialdef","id":"pack-int-screen","of":"membrane","value":20,"body":{"roughness":0.14,"metalness":0.2}}
{"t":"look","id":"use-base-run-2","for":"furniture:counter","use":"base-run-2"}
{"t":"look","id":"use-undermount-sink-2","for":"furniture:kitchen-sink","use":"undermount-sink-2"}
{"t":"look","id":"use-tall-fridge-2","for":"furniture:fridge","use":"tall-fridge-2"}
{"t":"look","id":"use-wall-hung-wc-2","for":"furniture:toilet","use":"wall-hung-wc-2"}
{"t":"look","id":"use-pos-checkout-2","for":"furniture:checkout","use":"pos-checkout-2"}
{"t":"look","id":"use-oak-trestle-writing-desk","for":"furniture:desk","use":"oak-trestle-writing-desk"}
{"t":"look","id":"use-open-shelf-unit","for":"furniture:shelving","use":"open-shelf-unit"}
{"t":"look","id":"use-wall-basin","for":"furniture:sink","use":"wall-basin"}
// Inlined verbatim from packs/furniture.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-wool","of":"cloth","value":58,"accent":"#4c6b86"}
{"t":"materialdef","id":"pack-ash","of":"timber","value":80,"accent":"#cbbfa9"}
{"t":"materialdef","id":"pack-oatmeal","of":"boucle","value":80,"accent":"#d7cbbb"}
{"t":"materialdef","id":"pack-mesh","of":"sheer","value":20,"accent":"#34383d","body":{"roughness":0.82,"opacity":0.58}}
{"t":"look","id":"use-trestle-table","for":"furniture:dining-table","use":"trestle-table"}
{"t":"look","id":"use-ergonomic-task-chair-2","for":"furniture:chair","use":"ergonomic-task-chair-2"}
{"t":"look","id":"use-boat-conference-table-2","for":"furniture:conference-table","use":"boat-conference-table-2"}
{"t":"look","id":"use-compact-loveseat-2","for":"furniture:loveseat","use":"compact-loveseat-2"}
// Inlined verbatim from packs/trees.ndjson via the repository graft helper.
{"t":"materialdef","id":"pack-maple-claret","of":"foliage","value":42,"accent":"#9B2D20","body":{"roughness":0.9}}
{"t":"look","id":"use-maple-look","for":"tree:maple","use":"maple-look"}