- gen_props.py: flux_local -> trellis_mac -> normalize pipeline; 5/8 props kept (arcade-cabinet, listening-booth, drinks-fridge, milkshake-mixer, novelty-record) - magazine-rack -> primitive (thin-wire gotcha); glass-case + bus-shelter -> fal.ai fallback - cash-register reused from depot; all 22 GLBs live, validate --depot 0/0 - loaders.js ?localdepot=1 + stage_local_depot.py for network-free GLB validation - qa.sh --strict GREEN 4/4 at commit time Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
783 lines
18 KiB
JSON
783 lines
18 KiB
JSON
{
|
|
"version": 1,
|
|
"depot": "https://digalot.fyi/3god",
|
|
"conventions": {
|
|
"glb_law": "metres, +Y up, origin at base (minY=0, centred X/Z), <=5k tris, WebP <=1024, no Draco",
|
|
"facing": "symmetric props are orientation-agnostic; normalize.py applies no automatic facing-correction (per-asset yaw is available in batch.json) \u2014 Lane B/C rotate directional props (counter, food_cart) to taste when placing",
|
|
"facade_blank_signboard": "facades tagged signboard:'blank' ship a blank sign panel \u2014 Lane B overlays the shop name there. signboard:'baked' facades (some djsim-* Flux skins) already have sign text: use as-is, don't overlay",
|
|
"facade_face": "facade entries without a 'face' key are front elevations (shop or house fronts); face:'side' entries are windowless corner-lot side walls with empty types \u2014 never select one as a shop front",
|
|
"corner_lots": "corner lots expose a side wall: dedicated facade-<x>-side.jpg skins now exist for brick/render/weatherboard (face:'side') \u2014 Lane B maps these to the exposed side face; other types reuse the front skin",
|
|
"fallbacks": "every asset is optional \u2014 missing file => primitive/flat-colour, never a crash",
|
|
"load": "fittings/furniture load from depot as depot:<file>; skins are local gen/<file>"
|
|
},
|
|
"skins": {
|
|
"facade": {
|
|
"timber-teal": {
|
|
"file": "gen/facade-timber-teal.jpg",
|
|
"types": [
|
|
"record"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"arcade-tile": {
|
|
"file": "gen/facade-arcade-tile.jpg",
|
|
"types": [
|
|
"record"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"djsim-record": {
|
|
"file": "gen/facade-djsim-record.jpg",
|
|
"types": [
|
|
"record"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"weatherboard": {
|
|
"file": "gen/facade-weatherboard.jpg",
|
|
"types": [
|
|
"opshop"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"fibro-blue": {
|
|
"file": "gen/facade-fibro-blue.jpg",
|
|
"types": [
|
|
"opshop"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"djsim-opshop": {
|
|
"file": "gen/facade-djsim-opshop.jpg",
|
|
"types": [
|
|
"opshop"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"stucco-pink": {
|
|
"file": "gen/facade-stucco-pink.jpg",
|
|
"types": [
|
|
"toy"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"deco-pastel": {
|
|
"file": "gen/facade-deco-pastel.jpg",
|
|
"types": [
|
|
"toy"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"boutique": {
|
|
"file": "gen/facade-boutique.jpg",
|
|
"types": [
|
|
"toy"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"federation": {
|
|
"file": "gen/facade-federation.jpg",
|
|
"types": [
|
|
"book"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"sandstone": {
|
|
"file": "gen/facade-sandstone.jpg",
|
|
"types": [
|
|
"book"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"redbrick": {
|
|
"file": "gen/facade-redbrick.jpg",
|
|
"types": [
|
|
"book"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"stripmall": {
|
|
"file": "gen/facade-stripmall.jpg",
|
|
"types": [
|
|
"video"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"djsim-video": {
|
|
"file": "gen/facade-djsim-video.jpg",
|
|
"types": [
|
|
"video"
|
|
],
|
|
"signboard": "baked"
|
|
},
|
|
"besser": {
|
|
"file": "gen/facade-besser.jpg",
|
|
"types": [
|
|
"pawn"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"grimy": {
|
|
"file": "gen/facade-grimy.jpg",
|
|
"types": [
|
|
"pawn"
|
|
],
|
|
"signboard": "baked"
|
|
},
|
|
"djsim-pawn": {
|
|
"file": "gen/facade-djsim-pawn.jpg",
|
|
"types": [
|
|
"pawn"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"corrugated": {
|
|
"file": "gen/facade-corrugated.jpg",
|
|
"types": [
|
|
"pawn",
|
|
"stall"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"cashtheists": {
|
|
"file": "gen/facade-cashtheists.jpg",
|
|
"types": [
|
|
"pawn"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"djsim-milkbar": {
|
|
"file": "gen/facade-djsim-milkbar.jpg",
|
|
"types": [
|
|
"milkbar"
|
|
],
|
|
"signboard": "baked"
|
|
},
|
|
"brickveneer": {
|
|
"file": "gen/facade-brickveneer.jpg",
|
|
"types": [
|
|
"milkbar"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"terrazzo": {
|
|
"file": "gen/facade-terrazzo.jpg",
|
|
"types": [
|
|
"dept"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"djsim-dept": {
|
|
"file": "gen/facade-djsim-dept.jpg",
|
|
"types": [
|
|
"dept"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"market": {
|
|
"file": "gen/facade-market.jpg",
|
|
"types": [
|
|
"stall"
|
|
],
|
|
"signboard": "baked"
|
|
},
|
|
"djsim-pub": {
|
|
"file": "gen/facade-djsim-pub.jpg",
|
|
"types": [
|
|
"general"
|
|
],
|
|
"signboard": "baked"
|
|
},
|
|
"toy-brights": {
|
|
"file": "gen/facade-toy-brights.jpg",
|
|
"types": [
|
|
"toy"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"toy-lolly": {
|
|
"file": "gen/facade-toy-lolly.jpg",
|
|
"types": [
|
|
"toy"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"book-barn": {
|
|
"file": "gen/facade-book-barn.jpg",
|
|
"types": [
|
|
"book"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"book-scholarly": {
|
|
"file": "gen/facade-book-scholarly.jpg",
|
|
"types": [
|
|
"book"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"video-neon": {
|
|
"file": "gen/facade-video-neon.jpg",
|
|
"types": [
|
|
"video"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"video-suburban": {
|
|
"file": "gen/facade-video-suburban.jpg",
|
|
"types": [
|
|
"video"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"milkbar-corner": {
|
|
"file": "gen/facade-milkbar-corner.jpg",
|
|
"types": [
|
|
"milkbar"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"milkbar-fibro": {
|
|
"file": "gen/facade-milkbar-fibro.jpg",
|
|
"types": [
|
|
"milkbar"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"milkbar-deco": {
|
|
"file": "gen/facade-milkbar-deco.jpg",
|
|
"types": [
|
|
"milkbar"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"dept-anchor": {
|
|
"file": "gen/facade-dept-anchor.jpg",
|
|
"types": [
|
|
"dept"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"dept-emporium": {
|
|
"file": "gen/facade-dept-emporium.jpg",
|
|
"types": [
|
|
"dept"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"market-fruit": {
|
|
"file": "gen/facade-market-fruit.jpg",
|
|
"types": [
|
|
"stall"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"market-edge": {
|
|
"file": "gen/facade-market-edge.jpg",
|
|
"types": [
|
|
"stall"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"warehouse-roller": {
|
|
"file": "gen/facade-warehouse-roller.jpg",
|
|
"types": [
|
|
"pawn",
|
|
"general"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"warehouse-tin": {
|
|
"file": "gen/facade-warehouse-tin.jpg",
|
|
"types": [
|
|
"pawn",
|
|
"general"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"arcade-entry": {
|
|
"file": "gen/facade-arcade-entry.jpg",
|
|
"types": [
|
|
"general"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"res-terrace": {
|
|
"file": "gen/facade-res-terrace.jpg",
|
|
"types": [
|
|
"house"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"res-weatherboard": {
|
|
"file": "gen/facade-res-weatherboard.jpg",
|
|
"types": [
|
|
"house"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"res-fibro": {
|
|
"file": "gen/facade-res-fibro.jpg",
|
|
"types": [
|
|
"house"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"res-brickveneer": {
|
|
"file": "gen/facade-res-brickveneer.jpg",
|
|
"types": [
|
|
"house"
|
|
],
|
|
"signboard": "blank"
|
|
},
|
|
"brick-side": {
|
|
"file": "gen/facade-brick-side.jpg",
|
|
"types": [],
|
|
"signboard": "blank",
|
|
"face": "side"
|
|
},
|
|
"render-side": {
|
|
"file": "gen/facade-render-side.jpg",
|
|
"types": [],
|
|
"signboard": "blank",
|
|
"face": "side"
|
|
},
|
|
"weatherboard-side": {
|
|
"file": "gen/facade-weatherboard-side.jpg",
|
|
"types": [],
|
|
"signboard": "blank",
|
|
"face": "side"
|
|
}
|
|
},
|
|
"sky": [
|
|
{
|
|
"id": "cold-front",
|
|
"file": "gen/sky-cold-front.jpg"
|
|
},
|
|
{
|
|
"id": "endless-blue",
|
|
"file": "gen/sky-endless-blue.jpg"
|
|
},
|
|
{
|
|
"id": "golden-arvo",
|
|
"file": "gen/sky-golden-arvo.jpg"
|
|
},
|
|
{
|
|
"id": "grey-drizzle",
|
|
"file": "gen/sky-grey-drizzle.jpg"
|
|
},
|
|
{
|
|
"id": "heat-haze",
|
|
"file": "gen/sky-heat-haze.jpg"
|
|
},
|
|
{
|
|
"id": "high-cirrus",
|
|
"file": "gen/sky-high-cirrus.jpg"
|
|
},
|
|
{
|
|
"id": "monsoon",
|
|
"file": "gen/sky-monsoon.jpg"
|
|
},
|
|
{
|
|
"id": "outback-dusk",
|
|
"file": "gen/sky-outback-dusk.jpg"
|
|
},
|
|
{
|
|
"id": "spring-puffy",
|
|
"file": "gen/sky-spring-puffy.jpg"
|
|
},
|
|
{
|
|
"id": "summer-storm",
|
|
"file": "gen/sky-summer-storm.jpg"
|
|
}
|
|
],
|
|
"ground": {
|
|
"asphalt1": {
|
|
"file": "gen/ground-asphalt1.jpg",
|
|
"use": "road"
|
|
},
|
|
"asphalt2": {
|
|
"file": "gen/ground-asphalt2.jpg",
|
|
"use": "road"
|
|
},
|
|
"brickpave": {
|
|
"file": "gen/ground-brickpave.jpg",
|
|
"use": "plaza"
|
|
},
|
|
"djsim-footpath": {
|
|
"file": "gen/ground-djsim-footpath.jpg",
|
|
"use": "footpath"
|
|
},
|
|
"djsim-road": {
|
|
"file": "gen/ground-djsim-road.jpg",
|
|
"use": "road"
|
|
},
|
|
"footpath1": {
|
|
"file": "gen/ground-footpath1.jpg",
|
|
"use": "footpath"
|
|
},
|
|
"footpath2": {
|
|
"file": "gen/ground-footpath2.jpg",
|
|
"use": "footpath"
|
|
},
|
|
"grass": {
|
|
"file": "gen/ground-grass.jpg",
|
|
"use": "yard"
|
|
},
|
|
"gravel": {
|
|
"file": "gen/ground-gravel.jpg",
|
|
"use": "verge"
|
|
},
|
|
"reddust": {
|
|
"file": "gen/ground-reddust.jpg",
|
|
"use": "outback"
|
|
}
|
|
},
|
|
"wall": [
|
|
{
|
|
"id": "damask-mauve",
|
|
"file": "gen/wall-damask-mauve.jpg"
|
|
},
|
|
{
|
|
"id": "diamond-green",
|
|
"file": "gen/wall-diamond-green.jpg"
|
|
},
|
|
{
|
|
"id": "floral-cream",
|
|
"file": "gen/wall-floral-cream.jpg"
|
|
},
|
|
{
|
|
"id": "floral-gold",
|
|
"file": "gen/wall-floral-gold.jpg"
|
|
},
|
|
{
|
|
"id": "geo-orange",
|
|
"file": "gen/wall-geo-orange.jpg"
|
|
},
|
|
{
|
|
"id": "stripe-sage",
|
|
"file": "gen/wall-stripe-sage.jpg"
|
|
},
|
|
{
|
|
"id": "trellis-blue",
|
|
"file": "gen/wall-trellis-blue.jpg"
|
|
},
|
|
{
|
|
"id": "woodchip-white",
|
|
"file": "gen/wall-woodchip-white.jpg"
|
|
}
|
|
],
|
|
"interior": {
|
|
"floor": [
|
|
{
|
|
"id": "carpet-swirl",
|
|
"file": "gen/tex-carpet-swirl.jpg"
|
|
},
|
|
{
|
|
"id": "carpet-mustard",
|
|
"file": "gen/tex-carpet-mustard.jpg"
|
|
},
|
|
{
|
|
"id": "carpet-greygreen",
|
|
"file": "gen/tex-carpet-greygreen.jpg"
|
|
},
|
|
{
|
|
"id": "lino-check",
|
|
"file": "gen/tex-lino-check.jpg"
|
|
},
|
|
{
|
|
"id": "lino-cork",
|
|
"file": "gen/tex-lino-cork.jpg"
|
|
},
|
|
{
|
|
"id": "boards-polished",
|
|
"file": "gen/tex-boards-polished.jpg"
|
|
}
|
|
],
|
|
"surface": [
|
|
{
|
|
"id": "wood-counter",
|
|
"file": "gen/tex-wood-counter.jpg",
|
|
"types": [
|
|
"record",
|
|
"milkbar",
|
|
"pawn"
|
|
]
|
|
},
|
|
{
|
|
"id": "boutique-wall",
|
|
"file": "gen/tex-boutique-wall.jpg",
|
|
"types": [
|
|
"toy",
|
|
"opshop"
|
|
]
|
|
},
|
|
{
|
|
"id": "pegboard",
|
|
"file": "gen/tex-pegboard.jpg",
|
|
"types": [
|
|
"pawn",
|
|
"video"
|
|
]
|
|
},
|
|
{
|
|
"id": "brick",
|
|
"file": "gen/tex-brick.jpg",
|
|
"types": [
|
|
"general"
|
|
]
|
|
},
|
|
{
|
|
"id": "render",
|
|
"file": "gen/tex-render.jpg",
|
|
"types": [
|
|
"general"
|
|
]
|
|
},
|
|
{
|
|
"id": "grimy-wall",
|
|
"file": "gen/tex-grimy-wall.jpg",
|
|
"types": [
|
|
"pawn"
|
|
]
|
|
},
|
|
{
|
|
"id": "velvet-curtain",
|
|
"file": "gen/tex-velvet-curtain.jpg",
|
|
"types": [
|
|
"toy",
|
|
"record"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"awning": [
|
|
{
|
|
"id": "awning-red",
|
|
"file": "gen/tex-awning-red.jpg"
|
|
},
|
|
{
|
|
"id": "awning-green",
|
|
"file": "gen/tex-awning-green.jpg"
|
|
},
|
|
{
|
|
"id": "awning-blue",
|
|
"file": "gen/tex-awning-blue.jpg"
|
|
}
|
|
]
|
|
},
|
|
"fittings": {
|
|
"record_crate": {
|
|
"file": "procity_fit_record_crate_01.glb",
|
|
"footprint": [
|
|
0.46,
|
|
0.63
|
|
],
|
|
"height": 0.41,
|
|
"thumb": "thumbs/procity_fit_record_crate_01.png"
|
|
},
|
|
"wire_shelf": {
|
|
"file": "procity_fit_wire_shelf_01.glb",
|
|
"footprint": [
|
|
1.17,
|
|
0.44
|
|
],
|
|
"height": 1.8,
|
|
"thumb": "thumbs/procity_fit_wire_shelf_01.png"
|
|
},
|
|
"clothes_rack": {
|
|
"file": "procity_fit_clothes_rack_01.glb",
|
|
"footprint": [
|
|
1.34,
|
|
0.43
|
|
],
|
|
"height": 1.5,
|
|
"thumb": "thumbs/procity_fit_clothes_rack_01.png"
|
|
},
|
|
"bookshelf": {
|
|
"file": "procity_fit_bookshelf_01.glb",
|
|
"footprint": [
|
|
0.2,
|
|
1.02
|
|
],
|
|
"height": 2.0,
|
|
"thumb": "thumbs/procity_fit_bookshelf_01.png"
|
|
},
|
|
"cube_shelf_wide": {
|
|
"file": "procity_fit_cube_shelf_wide_01.glb",
|
|
"footprint": [
|
|
0.75,
|
|
1.24
|
|
],
|
|
"height": 1.1,
|
|
"thumb": "thumbs/procity_fit_cube_shelf_wide_01.png"
|
|
},
|
|
"counter": {
|
|
"file": "procity_fit_counter_01.glb",
|
|
"footprint": [
|
|
1.06,
|
|
4.02
|
|
],
|
|
"height": 1.1,
|
|
"thumb": "thumbs/procity_fit_counter_01.png"
|
|
},
|
|
"coffee_table": {
|
|
"file": "procity_fit_coffee_table_01.glb",
|
|
"footprint": [
|
|
0.67,
|
|
1.49
|
|
],
|
|
"height": 0.45,
|
|
"thumb": "thumbs/procity_fit_coffee_table_01.png"
|
|
},
|
|
"work_table": {
|
|
"file": "procity_fit_work_table_01.glb",
|
|
"footprint": [
|
|
0.44,
|
|
1.04
|
|
],
|
|
"height": 0.75,
|
|
"thumb": "thumbs/procity_fit_work_table_01.png"
|
|
},
|
|
"box_crate": {
|
|
"file": "procity_fit_box_crate_01.glb",
|
|
"footprint": [
|
|
1.35,
|
|
1.32
|
|
],
|
|
"height": 0.6,
|
|
"thumb": "thumbs/procity_fit_box_crate_01.png"
|
|
},
|
|
"listening_booth": {
|
|
"file": "procity_fit_listening_booth_01.glb",
|
|
"footprint": [
|
|
0.88,
|
|
0.71
|
|
],
|
|
"height": 1.6,
|
|
"thumb": "thumbs/procity_fit_listening_booth_01.png"
|
|
},
|
|
"drinks_fridge": {
|
|
"file": "procity_fit_drinks_fridge_01.glb",
|
|
"footprint": [
|
|
0.85,
|
|
0.96
|
|
],
|
|
"height": 1.6,
|
|
"thumb": "thumbs/procity_fit_drinks_fridge_01.png"
|
|
},
|
|
"arcade_cabinet": {
|
|
"file": "procity_fit_arcade_cabinet_01.glb",
|
|
"footprint": [
|
|
0.75,
|
|
0.85
|
|
],
|
|
"height": 1.7,
|
|
"thumb": "thumbs/procity_fit_arcade_cabinet_01.png"
|
|
},
|
|
"milkshake_mixer": {
|
|
"file": "procity_fit_milkshake_mixer_01.glb",
|
|
"footprint": [
|
|
0.38,
|
|
0.27
|
|
],
|
|
"height": 0.5,
|
|
"thumb": "thumbs/procity_fit_milkshake_mixer_01.png"
|
|
},
|
|
"cash_register": {
|
|
"file": "vintage-cash-register.glb",
|
|
"footprint": [
|
|
0.35,
|
|
0.28
|
|
],
|
|
"height": 0.35
|
|
}
|
|
},
|
|
"furniture": {
|
|
"bench": {
|
|
"file": "procity_street_bench_01.glb",
|
|
"footprint": [
|
|
0.44,
|
|
1.21
|
|
],
|
|
"height": 0.85,
|
|
"thumb": "thumbs/procity_street_bench_01.png"
|
|
},
|
|
"bench_modern": {
|
|
"file": "procity_street_bench_modern_01.glb",
|
|
"footprint": [
|
|
1.68,
|
|
0.47
|
|
],
|
|
"height": 0.45,
|
|
"thumb": "thumbs/procity_street_bench_modern_01.png"
|
|
},
|
|
"bench_wood": {
|
|
"file": "procity_street_bench_wood_01.glb",
|
|
"footprint": [
|
|
1.34,
|
|
0.59
|
|
],
|
|
"height": 0.85,
|
|
"thumb": "thumbs/procity_street_bench_wood_01.png"
|
|
},
|
|
"longbench": {
|
|
"file": "procity_street_longbench_01.glb",
|
|
"footprint": [
|
|
5.86,
|
|
1.08
|
|
],
|
|
"height": 0.85,
|
|
"thumb": "thumbs/procity_street_longbench_01.png"
|
|
},
|
|
"park_bench": {
|
|
"file": "procity_street_park_bench_01.glb",
|
|
"footprint": [
|
|
1.92,
|
|
1.61
|
|
],
|
|
"height": 0.85,
|
|
"thumb": "thumbs/procity_street_park_bench_01.png"
|
|
},
|
|
"streetlight": {
|
|
"file": "procity_street_streetlight_01.glb",
|
|
"footprint": [
|
|
1.64,
|
|
1.82
|
|
],
|
|
"height": 5.0,
|
|
"thumb": "thumbs/procity_street_streetlight_01.png"
|
|
},
|
|
"food_cart": {
|
|
"file": "procity_street_food_cart_01.glb",
|
|
"footprint": [
|
|
3.0,
|
|
2.07
|
|
],
|
|
"height": 2.0,
|
|
"thumb": "thumbs/procity_street_food_cart_01.png"
|
|
},
|
|
"novelty_record": {
|
|
"file": "procity_street_novelty_record_01.glb",
|
|
"footprint": [
|
|
1.91,
|
|
0.93
|
|
],
|
|
"height": 2.0,
|
|
"thumb": "thumbs/procity_street_novelty_record_01.png"
|
|
}
|
|
},
|
|
"fittingAliases": {
|
|
"record_bins": "record_crate",
|
|
"crates": "box_crate",
|
|
"counter": "counter",
|
|
"clothes_racks": "clothes_rack",
|
|
"bricabrac_shelving": "wire_shelf",
|
|
"book_wall": "bookshelf",
|
|
"cube_shelves": "cube_shelf_wide",
|
|
"display_tables": "coffee_table",
|
|
"bookshelves": "bookshelf",
|
|
"vhs_shelving": "wire_shelf",
|
|
"trestle_tables": "work_table"
|
|
}
|
|
} |