PROCITY/web/assets/manifest.json
m3ultra c52246444d Lane E round 5 (E1): bake 6 hero props to <=8k tris (288k->48k), live on depot
pipeline/bake_lowpoly.py — Blender headless: voxel-remesh -> decimate -> Cycles
base-colour bake onto fresh UVs (R3 lesson: simplify-only floors on TRELLIS
shell-soup; the re-bake is the point). drinks_fridge/milkshake_mixer/arcade_cabinet/
listening_booth/novelty_record/counter_till all 25-77k -> <=8k, ~0.9M each. Every
prop eyeballed (docs/shots/laneE/props_baked.png) + verified loading in vendored
GLTFLoader; footprints unchanged (no C re-map needed). Re-published; validate --depot
0 err. Originals gitignored in pipeline/.props_orig/. Unblocks C's interior re-measure
+ F's v1.1 tag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 20:56:07 +10:00

792 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.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"
},
"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"
}
},
"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"
}
}