// bimtex example 09 — Corner Café, a street-front café in a retail parade
//
// Prototype: a composite of two published UK café fit-outs, recast as the
// brief's 21 m × 12 m single-storey corner parade block.
// Sources:
//   https://planningregister.cherwell.gov.uk/Planning/Display/19/02538/F
//     Coffee #1, 22 Castle Quay, Banbury — T3A furniture plan and T5A
//     proposed elevations, Thomas Parry Design Partnership, 2019.
//   https://www.ealing.gov.uk/downloads/download/3421/gunnersbury_park_cafe_and_carriage_proposals
//     Gunnersbury Park Café — drawings 6674-17 plan and 6674-18 elevations,
//     Rodney Melville + Partners, 2014.
// Sourced dimensions:
//   The brief fixes the parade at 21.00 × 12.00 m, split 8.00 m neighbour /
//   13.00 m café, one storey at 3.60 m floor-to-ceiling.
//   Coffee #1: 2.35 m shopfront door; 0.65 m stallriser; 0.40 m fascia
//   lettering; 0.75 m projecting sign; 0.60/0.70 m round tables; 0.80 m
//   square tables; 2.40 × 0.80 m sharing table; outdoor furniture held
//   1.00 m from the shopfront.
//   Gunnersbury: kitchen + servery 53.3 m²; dry store 10.3 m²; accessible
//   WC 4.7 m²; staff WC 2.5 m²; external bin store 6.3 m²; flat EPDM roof
//   and cast-iron downpipes.
// ESTIMATED:
//   The Coffee #1 and Gunnersbury programmes are larger than this 13 m bay.
//   Kitchen and dry-store areas are reduced in the same order of magnitude
//   (38.4 m² and 7.05 m²); the 4.7 m² accessible WC and 2.5 m² staff WC are
//   retained exactly. Internal partitions, 2.20 m canopy projection, 0.55 m
//   parapet, road width, pavement width and all street-tree positions are a
//   coordinated design derived from those drawings, not a survey.
//   The 28 × 20 m parcel is a tight editorial crop around the parade, rear
//   service yard and two public pavements. The 252 m² building therefore covers
//   exactly 45.0% of the parcel instead of floating in a business-park lawn.
{"t":"project","id":"corner-cafe","name":"Corner Café — Retail Parade","unit":"m","typology":"commercial","frontSide":"south","light":"morning"}
{"t":"parcel","id":"corner-site","x":2,"y":2,"w":28,"d":20,"address":"Composite UK corner-parade study · 45.0% coverage","frontage":"south"}
{"t":"grade","id":"grade","elev":0}

// The 21 m parade is two joined footprints: one 8 m retail shell and one
// 13 m corner café. Their south parapets meet at x=14 without overlap.
{"t":"footprint","id":"neighbour-bay","label":"WEST RETAIL SHELL","x":6,"y":6,"w":8,"d":12}
{"t":"footprint","id":"cafe-bay","label":"CORNER CAFÉ","x":14,"y":6,"w":13,"d":12}
{"t":"level","id":"g-neighbour","building":"neighbour-bay","name":"Neighbour shell","elev":0,"height":3.6}
{"t":"level","id":"g-cafe","building":"cafe-bay","name":"Café ground floor","elev":0,"height":3.6}

// Rooms: the western bay stays an empty retail shell; the café keeps public
// seating south and the complete commercial service programme to the rear.
{"t":"room","id":"retail-shell","label":"Neighbour Retail Shell","use":"retail","level":"g-neighbour","x":0.25,"y":0.25,"w":7.5,"d":11.5}
{"t":"room","id":"seating","label":"Café Seating","use":"assembly","level":"g-cafe","x":0.25,"y":6.25,"w":12.5,"d":5.5}
{"t":"room","id":"kitchen","label":"Kitchen + Servery","use":"kitchen","level":"g-cafe","x":0.25,"y":0.25,"w":6.4,"d":6}
{"t":"room","id":"dry-store","label":"Dry Store","use":"storage","level":"g-cafe","x":6.65,"y":0.25,"w":2.35,"d":3}
{"t":"room","id":"staff-wc","label":"Staff WC","use":"bathroom","level":"g-cafe","x":9,"y":0.25,"w":1.25,"d":2}
{"t":"room","id":"rear-service","label":"Service","use":"service","level":"g-cafe","x":10.25,"y":0.25,"w":2.5,"d":2}
{"t":"room","id":"accessible-wc","label":"Accessible WC","use":"bathroom","level":"g-cafe","x":6.65,"y":4.25,"w":2.35,"d":2}
{"t":"room","id":"service-lobby","label":"Staff Lobby","use":"circulation","level":"g-cafe","x":9,"y":2.25,"w":3.75,"d":4}

// Neighbour shell and its single shop bay.
{"t":"wall","id":"w-neighbour-n","level":"g-neighbour","side":"north","type":"exterior","thickness":0.25,"material":"masonry"}
{"t":"wall","id":"w-neighbour-s","level":"g-neighbour","side":"south","type":"exterior","thickness":0.25,"material":"masonry"}
{"t":"wall","id":"w-neighbour-w","level":"g-neighbour","side":"west","type":"exterior","thickness":0.25,"material":"masonry"}
{"t":"opening","id":"neighbour-window","on":"w-neighbour-s","kind":"window","at":0.5,"width":5.2,"sill":0.65,"head":2.75,"operation":"fixed","glass":"glass"}
{"t":"opening","id":"neighbour-door","on":"w-neighbour-s","kind":"door","at":6.2,"width":1.2,"head":2.35,"operation":"swing","room":"retail-shell"}

// Café shell. The south/east walls are only a 0.40 m masonry head above the
// curtain wall; small full-opening host segments carry the two real doors.
{"t":"wall","id":"w-cafe-n","level":"g-cafe","side":"north","type":"exterior","thickness":0.25,"material":"masonry"}
{"t":"wall","id":"w-cafe-s-head","level":"g-cafe","side":"south","type":"exterior","base":3.2,"top":3.6,"thickness":0.25,"material":"masonry"}
{"t":"wall","id":"w-cafe-e-head","level":"g-cafe","side":"east","type":"exterior","base":3.2,"top":3.6,"thickness":0.25,"material":"masonry"}
{"t":"wall","id":"party-wall","level":"g-cafe","from":[0,0],"to":[0,12],"type":"partition","thickness":0.25,"material":"masonry"}
{"t":"wall","id":"w-cafe-e-service","level":"g-cafe","from":[13,0],"to":[13,2.25],"type":"exterior","thickness":0.25,"material":"masonry"}
{"t":"wall","id":"host-main-door","level":"g-cafe","side":"south","from":[6,12],"to":[7.8,12],"type":"exterior","thickness":0.08,"material":"wall"}
{"t":"wall","id":"host-east-door","level":"g-cafe","side":"east","from":[13,8.3],"to":[13,9.5],"type":"exterior","thickness":0.08,"material":"wall"}
{"t":"curtain-wall","id":"shopfront-south","level":"g-cafe","side":"south","bay":2.17,"transom":2.55,"height":3.2,"thickness":0.06,"glass":"glass","mullion":"stainless"}
{"t":"curtain-wall","id":"shopfront-east","level":"g-cafe","side":"east","bay":2,"transom":2.55,"height":3.2,"thickness":0.06,"glass":"glass","mullion":"stainless"}
{"t":"opening","id":"main-entry","on":"host-main-door","kind":"door","at":6,"width":1.8,"head":2.35,"leaves":2,"operation":"double-acting","room":"seating"}
{"t":"opening","id":"east-entry","on":"host-east-door","kind":"door","at":8.3,"width":1.2,"head":2.35,"operation":"swing","room":"seating"}
{"t":"opening","id":"rear-service-door","on":"w-cafe-n","kind":"door","at":10.8,"width":1,"head":2.35,"operation":"swing","room":"rear-service"}

// Back-of-house partitions and truthful room-to-room connections.
{"t":"wall","id":"p-boh-front","level":"g-cafe","from":[0.25,6.25],"to":[12.75,6.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-kitchen-east","level":"g-cafe","from":[6.65,0.25],"to":[6.65,6.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-dry-south","level":"g-cafe","from":[6.65,3.25],"to":[9,3.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-dry-staff","level":"g-cafe","from":[9,0.25],"to":[9,4.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-rear-service-west","level":"g-cafe","from":[10.25,0.25],"to":[10.25,2.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-back-mid","level":"g-cafe","from":[9,2.25],"to":[12.75,2.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-access-north","level":"g-cafe","from":[6.65,4.25],"to":[9,4.25],"type":"partition","thickness":0.14}
{"t":"wall","id":"p-access-east","level":"g-cafe","from":[9,4.25],"to":[9,6.25],"type":"partition","thickness":0.14}
{"t":"opening","id":"kitchen-opening","on":"p-boh-front","kind":"opening","at":0.35,"width":1.2,"between":["kitchen","seating"]}
{"t":"opening","id":"accessible-door","on":"p-boh-front","kind":"door","at":7.4,"width":0.9,"operation":"sliding","between":["accessible-wc","seating"]}
{"t":"opening","id":"service-lobby-door","on":"p-boh-front","kind":"door","at":10.2,"width":1,"operation":"swing","between":["service-lobby","seating"]}
{"t":"opening","id":"dry-store-door","on":"p-kitchen-east","kind":"door","at":1.1,"width":0.9,"operation":"swing","between":["kitchen","dry-store"]}
{"t":"opening","id":"staff-wc-door","on":"p-back-mid","kind":"door","at":9.15,"width":0.9,"operation":"sliding","between":["staff-wc","service-lobby"]}
{"t":"opening","id":"rear-service-inner-door","on":"p-back-mid","kind":"door","at":11,"width":0.9,"operation":"swing","between":["rear-service","service-lobby"]}

{"t":"slab","id":"slab-neighbour","level":"g-neighbour","x":0,"y":0,"w":8,"d":12,"thickness":0.2,"material":"concrete"}
{"t":"slab","id":"slab-cafe","level":"g-cafe","x":0,"y":0,"w":13,"d":12,"thickness":0.2,"material":"concrete"}
{"t":"roof","id":"roof-neighbour","level":"g-neighbour","type":"flat","eave":3.6,"pitch":0,"overhang":0,"material":"membrane"}
{"t":"roof","id":"roof-cafe","level":"g-cafe","type":"flat","eave":3.6,"pitch":0,"overhang":0,"material":"membrane"}

// Continuous outer parapet and coping: six adjacent segments, no doubled
// party-edge geometry.
{"t":"parapet","id":"para-neighbour-n","on":"w-neighbour-n","height":0.55,"thickness":0.22,"base":3.6}
{"t":"parapet","id":"para-neighbour-s","on":"w-neighbour-s","height":0.55,"thickness":0.22,"base":3.6}
{"t":"parapet","id":"para-neighbour-w","on":"w-neighbour-w","height":0.55,"thickness":0.22,"base":3.6}
{"t":"parapet","id":"para-cafe-n","on":"w-cafe-n","height":0.55,"thickness":0.22,"base":3.6}
{"t":"parapet","id":"para-cafe-s","on":"w-cafe-s-head","height":0.55,"thickness":0.22,"base":3.6}
{"t":"parapet","id":"para-cafe-e","on":"w-cafe-e-head","height":0.55,"thickness":0.22,"base":3.6}
{"t":"coping","id":"cop-neighbour-n","on":"para-neighbour-n","width":0.32,"height":0.08}
{"t":"coping","id":"cop-neighbour-s","on":"para-neighbour-s","width":0.32,"height":0.08}
{"t":"coping","id":"cop-neighbour-w","on":"para-neighbour-w","width":0.32,"height":0.08}
{"t":"coping","id":"cop-cafe-n","on":"para-cafe-n","width":0.32,"height":0.08}
{"t":"coping","id":"cop-cafe-s","on":"para-cafe-s","width":0.32,"height":0.08}
{"t":"coping","id":"cop-cafe-e","on":"para-cafe-e","width":0.32,"height":0.08}
{"t":"canopy","id":"canopy-south","on":"w-cafe-s-head","offset":0.3,"width":12.4,"depth":2.2,"base":2.55,"thickness":0.12,"supports":false,"material":"timber"}
{"t":"canopy","id":"canopy-east","on":"w-cafe-e-head","offset":0.3,"width":11.4,"depth":2.2,"base":2.55,"thickness":0.12,"supports":false,"material":"timber"}
{"t":"sign","id":"cafe-fascia-sign","kind":"wall","on":"w-cafe-s-head","offset":4.4,"base":3.16,"w":4,"d":0.1,"faceH":0.4,"text":"CORNER CUP","material":"signface"}
{"t":"downpipe","id":"rear-downpipe-west","on":"w-cafe-n","offset":0.25,"diameter":0.1,"height":3.6,"material":"stainless"}
{"t":"downpipe","id":"rear-downpipe-east","on":"w-cafe-n","offset":12.65,"diameter":0.1,"height":3.6,"material":"stainless"}

// The neighbour bay is let and fitted out. It was drawn as an empty shell to
// show that a parade is two tenancies compiled side by side, and an empty
// shell made that point once; a second tenancy with a different fit-out makes
// it every time the drawing is looked at. Everything here is packs/retail —
// wall bays and fitting rooms at the back, gondola runs through the middle,
// the window display and the till where a shopper meets them.
{"t":"furniture","id":"fitting-room-a","type":"fitting-room","level":"g-neighbour","x":0.5,"y":0.5,"w":1.1,"d":1.2,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"fitting-room-b","type":"fitting-room","level":"g-neighbour","x":1.7,"y":0.5,"w":1.1,"d":1.2,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-e1","type":"wall-bay","level":"g-neighbour","x":7.3,"y":0.6,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-e2","type":"wall-bay","level":"g-neighbour","x":7.3,"y":1.75,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-e3","type":"wall-bay","level":"g-neighbour","x":7.3,"y":2.9,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-w1","type":"wall-bay","level":"g-neighbour","x":0.3,"y":3.5,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-w2","type":"wall-bay","level":"g-neighbour","x":0.3,"y":4.65,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-wall-bay-w3","type":"wall-bay","level":"g-neighbour","x":0.3,"y":5.8,"w":0.4,"d":1,"height":2.2,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-gondola-w1","type":"gondola","level":"g-neighbour","x":2,"y":3.5,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-gondola-w2","type":"gondola","level":"g-neighbour","x":2,"y":4.8,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-gondola-w3","type":"gondola","level":"g-neighbour","x":2,"y":6.1,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-gondola-e1","type":"gondola","level":"g-neighbour","x":4.4,"y":3.5,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-gondola-e2","type":"gondola","level":"g-neighbour","x":4.4,"y":4.8,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-gondola-e3","type":"gondola","level":"g-neighbour","x":4.4,"y":6.1,"w":0.6,"d":1.2,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"furniture","id":"shop-rail-a","type":"clothing-rack","level":"g-neighbour","x":1.2,"y":8.6,"w":1.5,"d":0.6,"height":1.7,"material":"pack-retail-chrome"}
{"t":"furniture","id":"shop-rail-b","type":"clothing-rack","level":"g-neighbour","x":1.2,"y":10,"w":1.5,"d":0.6,"height":1.7,"material":"pack-retail-chrome"}
{"t":"furniture","id":"shop-round-rack","type":"round-rack","level":"g-neighbour","x":4,"y":9.6,"w":1.1,"d":1.1,"height":1.6,"material":"pack-retail-chrome"}
{"t":"furniture","id":"shop-display-table","type":"display-table","level":"g-neighbour","x":5.6,"y":9.4,"w":1.2,"d":0.8,"height":0.8,"material":"pack-retail-oak"}
{"t":"asset","id":"shop-window-figure-a","class":"mannequin","x":7,"y":17.2,"w":0.4,"d":0.4,"z0":0,"z1":1.8,"material":"pack-retail-linen"}
{"t":"asset","id":"shop-window-figure-b","class":"mannequin","x":9.2,"y":17.2,"w":0.4,"d":0.4,"z0":0,"z1":1.8,"material":"pack-retail-linen"}
{"t":"furniture","id":"shop-till","type":"retail-till","level":"g-neighbour","x":6.6,"y":6.8,"w":0.7,"d":1.6,"height":1,"material":"pack-retail-oak"}
{"t":"furniture","id":"shop-security-gate","type":"security-gate","level":"g-neighbour","x":4.8,"y":11.2,"w":0.95,"d":0.25,"height":1.5,"material":"pack-retail-charcoal"}
{"t":"asset","id":"shop-basket-stack","class":"basket-stack","x":13.2,"y":16.4,"w":0.5,"d":0.4,"z0":0,"z1":0.9,"material":"pack-retail-charcoal"}

// Public service line and seating. The massing boxes below are unchanged: what
// dresses them is the def layer at the foot of this file, so a fit-out is a
// paste rather than a re-model.
{"t":"furniture","id":"service-bar","type":"bar","level":"g-cafe","x":1.8,"y":6.5,"w":2.4,"d":0.7,"height":1.07,"material":"timber"}
{"t":"furniture","id":"checkout","type":"checkout","level":"g-cafe","x":4.3,"y":6.5,"w":1.8,"d":0.9,"height":1.05,"material":"timber"}
{"t":"furniture","id":"service-counter","type":"counter","level":"g-cafe","x":6.2,"y":6.5,"w":1,"d":0.65,"height":0.91,"material":"timber"}
{"t":"furniture","id":"bar-stools","type":"bar-stool","level":"g-cafe","x":2,"y":7.45,"w":0.42,"d":0.42,"height":1,"cols":4,"gapX":0.28,"material":"stainless"}
{"t":"furniture","id":"booth-west-a","type":"booth","level":"g-cafe","x":0.55,"y":8.4,"w":2,"d":1.2,"height":1.05}
{"t":"furniture","id":"booth-west-b","type":"booth","level":"g-cafe","x":0.55,"y":10.1,"w":2,"d":1.2,"height":1.05}
{"t":"furniture","id":"table-a","type":"round-table-4","level":"g-cafe","x":4,"y":8.6,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"table-b","type":"round-table-4","level":"g-cafe","x":6.3,"y":8.6,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"table-c","type":"round-table-4","level":"g-cafe","x":8.6,"y":8.6,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"table-d","type":"round-table-4","level":"g-cafe","x":4,"y":10.4,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"table-e","type":"round-table-4","level":"g-cafe","x":6.3,"y":10.4,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"table-f","type":"round-table-4","level":"g-cafe","x":8.6,"y":10.4,"w":0.7,"d":0.7,"height":0.74}
{"t":"asset","id":"cafe-plant-corner","class":"interior-plant","x":25.9,"y":16.6,"w":0.7,"d":0.7,"z0":0,"z1":1.5,"material":"pack-int-clay"}
{"t":"asset","id":"cafe-plant-servery","class":"interior-plant","x":21.4,"y":12.6,"w":0.55,"d":0.55,"z0":0,"z1":1.1,"material":"pack-int-clay"}

// Commercial kitchen equipment — no residential substitutions.
{"t":"furniture","id":"walk-in-chiller","type":"walk-in","level":"g-cafe","x":0.55,"y":0.55,"w":2.2,"d":2.2,"height":2.4}
{"t":"furniture","id":"kitchen-fridge","type":"fridge","level":"g-cafe","x":3,"y":0.55,"w":0.9,"d":0.7,"height":1.8,"material":"stainless"}
{"t":"furniture","id":"cooking-range","type":"range","level":"g-cafe","x":4.1,"y":0.55,"w":0.91,"d":0.8,"height":0.91,"material":"stainless"}
{"t":"furniture","id":"range-hood","type":"range-hood","level":"g-cafe","x":4.1,"y":0.55,"w":1.2,"d":0.9,"base":1.8,"height":0.55,"material":"stainless"}
{"t":"furniture","id":"prep-table-a","type":"prep-table","level":"g-cafe","x":0.6,"y":3.35,"w":1.5,"d":0.75,"height":0.9,"material":"stainless"}
{"t":"furniture","id":"prep-table-b","type":"prep-table","level":"g-cafe","x":4.9,"y":3.35,"w":1.5,"d":0.75,"height":0.9,"material":"stainless"}
{"t":"furniture","id":"commercial-sink","type":"commercial-sink","level":"g-cafe","x":2.3,"y":4.9,"w":1.8,"d":0.75,"height":1.22,"material":"stainless"}
{"t":"furniture","id":"dishwasher","type":"dishwasher","level":"g-cafe","x":4.2,"y":4.9,"w":0.6,"d":0.62,"height":0.86,"material":"stainless"}
{"t":"furniture","id":"dry-store-shelving","type":"shelving","level":"g-cafe","x":6.85,"y":0.5,"w":1.9,"d":0.45,"height":1.8}

// WC fixtures and the explicit 1.50 m accessible turning circle.
{"t":"furniture","id":"accessible-turn","type":"turning-circle","level":"g-cafe","x":6.72,"y":4.65,"w":1.5,"d":1.5,"height":0.01}
{"t":"furniture","id":"accessible-toilet","type":"toilet","level":"g-cafe","x":8.35,"y":4.35,"w":0.42,"d":0.72,"height":0.78}
{"t":"furniture","id":"accessible-sink","type":"sink","level":"g-cafe","x":8.25,"y":5.5,"w":0.55,"d":0.48,"height":1.1}
{"t":"furniture","id":"staff-toilet","type":"toilet","level":"g-cafe","x":9.1,"y":0.45,"w":0.42,"d":0.72,"height":0.78}
{"t":"furniture","id":"staff-sink","type":"sink","level":"g-cafe","x":9.6,"y":1.45,"w":0.55,"d":0.48,"height":1.1}

// Pavement seating remains under the two canopies and at least 1 m from the
// curtain-wall line, following Coffee #1's external-furniture annotation.
{"t":"paving","id":"pavement-south","use":"walkway","x":2,"y":18,"w":25,"d":3,"material":"paving"}
{"t":"paving","id":"pavement-east","use":"walkway","x":27,"y":2,"w":3,"d":19,"material":"paving"}
{"t":"furniture","id":"outside-s-1","type":"round-table-4","level":"g-cafe","x":1.2,"y":13,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-s-2","type":"round-table-4","level":"g-cafe","x":3.4,"y":13,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-s-3","type":"round-table-4","level":"g-cafe","x":9,"y":13,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-s-4","type":"round-table-4","level":"g-cafe","x":11.2,"y":13,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-e-1","type":"round-table-4","level":"g-cafe","x":14,"y":3,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-e-2","type":"round-table-4","level":"g-cafe","x":14,"y":5.5,"w":0.7,"d":0.7,"height":0.74}
{"t":"furniture","id":"outside-e-3","type":"round-table-4","level":"g-cafe","x":14,"y":10,"w":0.7,"d":0.7,"height":0.74}

// Rear servicing, the L-shaped corner street and planted pavement pockets.
{"t":"paving","id":"rear-service-walk","use":"walkway","x":18,"y":3,"w":9,"d":3,"material":"paving"}
{"t":"fence","id":"bin-store-n","kind":"wall","from":[24.3,2.7],"to":[27,2.7],"height":1.8,"material":"timber"}
{"t":"fence","id":"bin-store-w","kind":"wall","from":[24.3,2.7],"to":[24.3,5.1],"height":1.8,"material":"timber"}
{"t":"fence","id":"bin-store-e","kind":"wall","from":[27,2.7],"to":[27,5.1],"height":1.8,"material":"timber"}
{"t":"street","id":"corner-streets","name":"HIGH STREET / MARKET STREET","width":7.2,"lanes":2,"class":"local","from":[2,24.6],"path":[{"to":[33.6,24.6]},{"to":[33.6,2]}],"material":"asphalt"}
{"t":"curb","id":"curb-south","from":[2,21],"to":[30,21]}
{"t":"curb","id":"curb-east","from":[30,2],"to":[30,21]}
{"t":"landscape","id":"south-tree-pit","x":3,"y":18.4,"w":2.2,"d":1.6,"planting":{"species":"low grasses","count":8}}
{"t":"landscape","id":"east-tree-pit","x":27.5,"y":3.4,"w":1.8,"d":2.4,"planting":{"species":"low grasses","count":8}}
{"t":"tree","id":"street-tree-south","x":4.1,"y":19.2,"canopy":3.2,"species":"ornamental pear"}
{"t":"tree","id":"street-tree-east","x":28.4,"y":4.6,"canopy":3.2,"species":"ornamental pear"}
{"t":"view","id":"interior:cafe-room","mode":"interior","building":"cafe-bay","level":"g-cafe","label":"CAFÉ ROOM + OPEN SERVERY","cameraElevation":28,"cameraAzimuth":220}

// A turning circle is clearance, not furniture; the 10 mm glass disc keeps it
// visible in presentations without pretending that the clear space is solid.
{"t":"lookdef","id":"accessible-turning-clearance","for":"furniture:turning-circle","body":{"type":"Mesh","material":"glass","geometry":{"type":"CylinderGeometry","radiusTop":0.5,"radiusBottom":0.5,"height":1,"radialSegments":48},"position":[0,0.5,0]}}

// The def layer. bimtex has no include: a model that wants a pack element
// carries its definition, which is exactly what the element page's copy button
// hands a reader. Three packs meet here — the café's fit-out, the neighbour
// tenancy's, and the doorsets and windows both bays already had.
{"t":"materialdef","id":"pack-int-linen","of":"cloth","value":72,"body":{"sheen":0.7,"sheenRoughness":0.6}}
{"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-saddle","of":"cloth","value":58,"accent":"#b87542","body":{"roughness":0.68,"sheen":0.18,"sheenColor":"#d29a6a","sheenRoughness":0.74}}
{"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":"materialdef","id":"pack-int-moss","of":"cloth","value":42,"accent":"#5d6b4a","body":{"sheenRoughness":0.6}}
{"t":"materialdef","id":"pack-int-plant-leaf-light","of":"foliage","value":58,"accent":"#8a9460","body":{"flatShading":true,"roughness":0.96}}
{"t":"look","id":"use-base-run-2","for":"furniture:counter","use":"base-run-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-cafe-service-bar-2","for":"furniture:bar","use":"cafe-service-bar-2"}
{"t":"look","id":"use-cafe-booth-2","for":"furniture:booth","use":"cafe-booth-2"}
{"t":"look","id":"use-pos-checkout-2","for":"furniture:checkout","use":"pos-checkout-2"}
{"t":"look","id":"use-commercial-prep-table","for":"furniture:prep-table","use":"commercial-prep-table"}
{"t":"look","id":"use-six-burner-range","for":"furniture:range","use":"six-burner-range"}
{"t":"look","id":"use-commercial-range-hood-2","for":"furniture:range-hood","use":"commercial-range-hood-2"}
{"t":"look","id":"use-three-bowl-sink-2","for":"furniture:commercial-sink","use":"three-bowl-sink-2"}
{"t":"look","id":"use-undercounter-dishwasher","for":"furniture:dishwasher","use":"undercounter-dishwasher"}
{"t":"look","id":"use-walk-in-cooler-2","for":"furniture:walk-in","use":"walk-in-cooler-2"}
{"t":"look","id":"use-saddle-counter-stool","for":"furniture:bar-stool","use":"saddle-counter-stool"}
{"t":"look","id":"use-open-shelf-unit","for":"furniture:shelving","use":"open-shelf-unit"}
{"t":"look","id":"use-four-top-round-table","for":"furniture:round-table-4","use":"four-top-round-table"}
{"t":"look","id":"use-wall-basin","for":"furniture:sink","use":"wall-basin"}
{"t":"look","id":"use-interior-plant","for":"asset:interior-plant","use":"interior-plant"}
{"t":"materialdef","id":"pack-retail-oak","of":"timber","value":72,"accent":"#b88b59","body":{"roughness":0.68}}
{"t":"materialdef","id":"pack-retail-charcoal","of":"painted-metal","value":20,"accent":"#343536","body":{"metalness":0.38}}
{"t":"materialdef","id":"pack-retail-chrome","of":"chrome","value":72,"accent":"#bfc4c7","body":{"metalness":0.82}}
{"t":"materialdef","id":"pack-retail-linen","of":"cloth","value":80,"accent":"#d9d0c2","body":{"sheen":0.55,"sheenColor":"#f1ebe0","sheenRoughness":0.8}}
{"t":"materialdef","id":"pack-retail-white","of":"paint","value":92,"accent":"#f2f1ec","body":{"roughness":0.38}}
{"t":"materialdef","id":"pack-retail-mirror","of":"glass","value":86,"body":{"type":"MeshPhysicalMaterial","roughness":0.08,"metalness":0.72,"transmission":0.18,"ior":1.5,"thickness":0.02}}
{"t":"materialdef","id":"pack-retail-glass","of":"glass","value":86,"body":{"type":"MeshPhysicalMaterial","roughness":0.08,"transmission":0.86,"ior":1.48,"thickness":0.025}}
{"t":"look","id":"use-straight-clothing-rail","for":"furniture:clothing-rack","use":"straight-clothing-rail"}
{"t":"look","id":"use-round-clothing-rack","for":"furniture:round-rack","use":"round-clothing-rack"}
{"t":"look","id":"use-curtained-fitting-room","for":"furniture:fitting-room","use":"curtained-fitting-room"}
{"t":"look","id":"use-gondola-shelving","for":"furniture:gondola","use":"gondola-shelving"}
{"t":"look","id":"use-wall-shelving-bay","for":"furniture:wall-bay","use":"wall-shelving-bay"}
{"t":"look","id":"use-retail-display-table","for":"furniture:display-table","use":"retail-display-table"}
{"t":"look","id":"use-retail-till-counter","for":"furniture:retail-till","use":"retail-till-counter"}
{"t":"look","id":"use-retail-mannequin","for":"asset:mannequin","use":"retail-mannequin"}
{"t":"look","id":"use-security-pedestal","for":"furniture:security-gate","use":"security-pedestal"}
{"t":"look","id":"use-basket-stack","for":"asset:basket-stack","use":"basket-stack"}
{"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-deep-reveal-window","for":"opening:window","use":"deep-reveal-window"}
{"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-sliding-glass-door","for":"opening:sliding","use":"sliding-glass-door"}
{"t":"look","id":"use-glazed-double-acting-door","for":"opening:double-acting","use":"glazed-double-acting-door"}
