{ "version": 1, "depot": "https://digalot.fyi/3god", "conventions": { "glb_law": "metres, +Y up, origin at base (minY=0, centred X/Z), WebP <=1024, no Draco; tris <=5k for library props, with documented exceptions for focal/LOD-able assets: baked hero props <=8k (TRELLIS shell-soup, texture-intact) and gig instruments <=14k (v3.0; hi-poly _hi originals on the depot) \u2014 see AUDIT.md + LANE_E_NOTES", "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--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:; skins are local gen/", "audio": "OGG/Opus primary + M4A/AAC fallback; loop:true beds are seamless; gain is a suggested 0-1 playback level; interior roomtone/music carry types[] (seed-pick per shop, like facades); footstep is {surface:[variants]}. Silent-happy: any missing file => silence, never an error; ?mute=1 / ?noassets=1 => no audio fetch." }, "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" } ], "poster": { "grunge": { "file": "gen/poster-grunge.jpg", "nameZone": [ 0.08, 0.04, 0.84, 0.23 ], "signboard": "blank" }, "retro": { "file": "gen/poster-retro.jpg", "nameZone": [ 0.08, 0.04, 0.84, 0.23 ], "signboard": "blank" }, "screenprint": { "file": "gen/poster-screenprint.jpg", "nameZone": [ 0.08, 0.04, 0.84, 0.23 ], "signboard": "blank" }, "xerox": { "file": "gen/poster-xerox.jpg", "nameZone": [ 0.08, 0.04, 0.84, 0.23 ], "signboard": "blank" } } }, "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.7 ], "height": 1.595, "thumb": "thumbs/procity_fit_listening_booth_01.png" }, "drinks_fridge": { "file": "procity_fit_drinks_fridge_01.glb", "footprint": [ 0.84, 0.93 ], "height": 1.591, "thumb": "thumbs/procity_fit_drinks_fridge_01.png" }, "arcade_cabinet": { "file": "procity_fit_arcade_cabinet_01.glb", "footprint": [ 0.75, 0.85 ], "height": 1.692, "thumb": "thumbs/procity_fit_arcade_cabinet_01.png" }, "milkshake_mixer": { "file": "procity_fit_milkshake_mixer_01.glb", "footprint": [ 0.38, 0.27 ], "height": 0.498, "thumb": "thumbs/procity_fit_milkshake_mixer_01.png" }, "counter_till": { "file": "procity_fit_counter_till_01.glb", "footprint": [ 1.61, 0.61 ], "height": 1.146, "thumb": "thumbs/procity_fit_counter_till_01.png" }, "glass_case": { "file": "procity_fit_glass_case_01.glb", "footprint": [ 1.08, 1.42 ], "height": 0.997, "thumb": "thumbs/procity_fit_glass_case_01.png" }, "magazine_rack": { "file": "procity_fit_magazine_rack_01.glb", "footprint": [ 0.54, 0.44 ], "height": 1.2, "thumb": "thumbs/procity_fit_magazine_rack_01.png" }, "crate_stack": { "file": "procity_fit_crate_stack_01.glb", "footprint": [ 0.71, 0.72 ], "height": 0.9, "thumb": "thumbs/procity_fit_crate_stack_01.png" }, "electric_guitar": { "file": "procity_fit_electric_guitar_01.glb", "footprint": [ 0.38, 0.08 ], "height": 1.0, "thumb": "thumbs/procity_fit_electric_guitar_01.png" }, "bass_guitar": { "file": "procity_fit_bass_guitar_01.glb", "footprint": [ 0.34, 0.13 ], "height": 1.15, "thumb": "thumbs/procity_fit_bass_guitar_01.png" }, "drum_kit": { "file": "procity_fit_drum_kit_01.glb", "footprint": [ 1.5, 1.24 ], "height": 1.3, "thumb": "thumbs/procity_fit_drum_kit_01.png" }, "guitar_amp": { "file": "procity_fit_guitar_amp_01.glb", "footprint": [ 0.52, 0.29 ], "height": 0.607, "thumb": "thumbs/procity_fit_guitar_amp_01.png" }, "mic_stand": { "file": "procity_fit_mic_stand_01.glb", "footprint": [ 0.57, 0.57 ], "height": 1.702, "thumb": "thumbs/procity_fit_mic_stand_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.9, 0.93 ], "height": 1.992, "thumb": "thumbs/procity_street_novelty_record_01.png" }, "bus_shelter": { "file": "procity_street_bus_shelter_01.glb", "footprint": [ 2.33, 1.41 ], "height": 2.4, "thumb": "thumbs/procity_street_bus_shelter_01.png" }, "bin": { "file": "procity_street_bin_01.glb", "footprint": [ 0.57, 0.68 ], "height": 1.0, "thumb": "thumbs/procity_street_bin_01.png" } }, "fittingAliases": { "record_bins": "record_crate", "crates": "box_crate", "counter": "counter_till", "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", "glass_case": "glass_case", "glass_cabinets": "glass_case", "magazine_rack": "magazine_rack", "fridge": "drinks_fridge", "listening_corner": "listening_booth" }, "audio": { "ambience": { "street-day": { "file": "audio/ambience-street-day.ogg", "fallback": "audio/ambience-street-day.m4a", "loop": true, "gain": 0.5, "scope": "street" }, "street-night": { "file": "audio/ambience-street-night.ogg", "fallback": "audio/ambience-street-night.m4a", "loop": true, "gain": 0.5, "scope": "street" }, "rain": { "file": "audio/ambience-rain.ogg", "fallback": "audio/ambience-rain.m4a", "loop": true, "gain": 0.45, "scope": "street" }, "roomtone-retail": { "file": "audio/roomtone-retail.ogg", "fallback": "audio/roomtone-retail.m4a", "loop": true, "gain": 0.35, "scope": "interior", "types": [ "record", "opshop", "book", "toy", "pawn", "stall", "general" ] }, "roomtone-milkbar": { "file": "audio/roomtone-milkbar.ogg", "fallback": "audio/roomtone-milkbar.m4a", "loop": true, "gain": 0.35, "scope": "interior", "types": [ "milkbar" ] }, "roomtone-video": { "file": "audio/roomtone-video.ogg", "fallback": "audio/roomtone-video.m4a", "loop": true, "gain": 0.35, "scope": "interior", "types": [ "video", "dept", "arcade" ] }, "crowd-walla": { "file": "audio/ambience-crowd-walla.ogg", "fallback": "audio/ambience-crowd-walla.m4a", "loop": true, "gain": 0.4, "scope": "interior", "gig": true, "note": "gig crowd layer (interior; F plays when gig on)" } }, "sfx": { "doorbell": { "file": "audio/sfx-doorbell.ogg", "fallback": "audio/sfx-doorbell.m4a", "gain": 0.7 }, "door-open": { "file": "audio/sfx-door-open.ogg", "fallback": "audio/sfx-door-open.m4a", "gain": 0.6 }, "till": { "file": "audio/sfx-till.ogg", "fallback": "audio/sfx-till.m4a", "gain": 0.7 }, "riffle": { "file": "audio/sfx-riffle.ogg", "fallback": "audio/sfx-riffle.m4a", "gain": 0.6 }, "toast": { "file": "audio/sfx-toast.ogg", "fallback": "audio/sfx-toast.m4a", "gain": 0.5 }, "tram-bell": { "file": "audio/sfx-tram-bell.ogg", "fallback": "audio/sfx-tram-bell.m4a", "gain": 0.7 }, "applause": { "file": "audio/sfx-applause.ogg", "fallback": "audio/sfx-applause.m4a", "gain": 0.7, "gig": true }, "tram-rumble": { "file": "audio/sfx-tram-rumble.ogg", "fallback": "audio/sfx-tram-rumble.m4a", "gain": 0.5, "loop": true }, "footstep": { "pavement": [ { "file": "audio/step-pavement-1.ogg", "fallback": "audio/step-pavement-1.m4a" }, { "file": "audio/step-pavement-2.ogg", "fallback": "audio/step-pavement-2.m4a" }, { "file": "audio/step-pavement-3.ogg", "fallback": "audio/step-pavement-3.m4a" } ], "timber": [ { "file": "audio/step-timber-1.ogg", "fallback": "audio/step-timber-1.m4a" }, { "file": "audio/step-timber-2.ogg", "fallback": "audio/step-timber-2.m4a" }, { "file": "audio/step-timber-3.ogg", "fallback": "audio/step-timber-3.m4a" } ] } }, "music": { "record-shop": { "file": "audio/music-record-shop.ogg", "fallback": "audio/music-record-shop.m4a", "loop": true, "gain": 0.55, "types": [ "record" ], "note": "record shop plays music" }, "milkbar": { "file": "audio/music-milkbar.ogg", "fallback": "audio/music-milkbar.m4a", "loop": true, "gain": 0.5, "types": [ "milkbar", "general" ], "note": "milk bar radio" }, "video-synth": { "file": "audio/music-video-synth.ogg", "fallback": "audio/music-video-synth.m4a", "loop": true, "gain": 0.5, "types": [ "video" ], "note": "video store synth hum" }, "arcade": { "file": "audio/music-arcade.ogg", "fallback": "audio/music-arcade.m4a", "loop": true, "gain": 0.5, "types": [ "arcade", "dept" ], "note": "arcade cabinet" }, "gig-pubrock": { "file": "audio/music-gig-pubrock.ogg", "fallback": "audio/music-gig-pubrock.m4a", "loop": true, "gain": 0.6, "types": [ "pub" ], "note": "gig live bed \u2014 pub-rock (pub); F plays via room.audio gigKey", "gig": true }, "gig-grunge": { "file": "audio/music-gig-grunge.ogg", "fallback": "audio/music-gig-grunge.m4a", "loop": true, "gain": 0.6, "types": [ "band_room" ], "note": "gig live bed \u2014 grunge (band_room)", "gig": true }, "gig-covers": { "file": "audio/music-gig-covers.ogg", "fallback": "audio/music-gig-covers.m4a", "loop": true, "gain": 0.5, "types": [ "rsl" ], "note": "gig live bed \u2014 covers (RSL); mellower, organ-led", "gig": true } } } }