Audit -> normalize (16 GLBs + thumbs) -> web/assets/manifest.json (the contract Lanes B/C/D read) -> facade gap-fill. Step 4 facades generated locally on the M3 Ultra via MODELBEAST flux_local (FLUX.2-klein-4B / MLX on MPS): 23 skins, free, ~5.7s each, blank signboard, eyeballed, harvested, mapped to shop types. Every registry type now has >=3 facades (stall 2->4, closing the Lane A gap). Corner-lot -side walls tagged face:"side" with empty types so no shop front ever selects a windowless wall. manifest validates green. Still gated on John (both optional -- the game runs asset-free): publish the 16 GLBs to 3GOD (needs GOD3_PW), MeshGod hero props (~$2.70). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
294 lines
7.1 KiB
JSON
294 lines
7.1 KiB
JSON
{
|
|
"results": [
|
|
{
|
|
"src": "shop-fittings/record_crate_plastic_01.glb",
|
|
"file": "procity_fit_record_crate_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_record_crate_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_record_crate_01.png",
|
|
"tri_before": 18320,
|
|
"tri_after": 5000,
|
|
"size_m": [
|
|
0.464,
|
|
0.41,
|
|
0.635
|
|
],
|
|
"footprint": [
|
|
0.46,
|
|
0.63
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/shelf_metal_wire_01.glb",
|
|
"file": "procity_fit_wire_shelf_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_wire_shelf_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_wire_shelf_01.png",
|
|
"tri_before": 330,
|
|
"tri_after": 330,
|
|
"size_m": [
|
|
1.167,
|
|
1.8,
|
|
0.437
|
|
],
|
|
"footprint": [
|
|
1.17,
|
|
0.44
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/clothes_rack_01.glb",
|
|
"file": "procity_fit_clothes_rack_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_clothes_rack_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_clothes_rack_01.png",
|
|
"tri_before": 3152,
|
|
"tri_after": 3152,
|
|
"size_m": [
|
|
1.341,
|
|
1.5,
|
|
0.429
|
|
],
|
|
"footprint": [
|
|
1.34,
|
|
0.43
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/bookshelves.glb",
|
|
"file": "procity_fit_bookshelf_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_bookshelf_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_bookshelf_01.png",
|
|
"tri_before": 45128,
|
|
"tri_after": 5000,
|
|
"size_m": [
|
|
0.197,
|
|
2.0,
|
|
1.019
|
|
],
|
|
"footprint": [
|
|
0.2,
|
|
1.02
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/cube_bookcase.glb",
|
|
"file": "procity_fit_cube_shelf_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_cube_shelf_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_cube_shelf_01.png",
|
|
"tri_before": 16960,
|
|
"tri_after": 5000,
|
|
"size_m": [
|
|
6.328,
|
|
1.4,
|
|
8.42
|
|
],
|
|
"footprint": [
|
|
6.33,
|
|
8.42
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/shelf_cube_bookshelf_01.glb",
|
|
"file": "procity_fit_cube_shelf_wide_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_cube_shelf_wide_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_cube_shelf_wide_01.png",
|
|
"tri_before": 17734,
|
|
"tri_after": 4999,
|
|
"size_m": [
|
|
0.751,
|
|
1.1,
|
|
1.236
|
|
],
|
|
"footprint": [
|
|
0.75,
|
|
1.24
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/balcao.glb",
|
|
"file": "procity_fit_counter_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_counter_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_counter_01.png",
|
|
"tri_before": 276,
|
|
"tri_after": 276,
|
|
"size_m": [
|
|
1.062,
|
|
1.1,
|
|
4.018
|
|
],
|
|
"footprint": [
|
|
1.06,
|
|
4.02
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/coffeetable.glb",
|
|
"file": "procity_fit_coffee_table_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_coffee_table_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_coffee_table_01.png",
|
|
"tri_before": 495,
|
|
"tri_after": 495,
|
|
"size_m": [
|
|
0.671,
|
|
0.45,
|
|
1.494
|
|
],
|
|
"footprint": [
|
|
0.67,
|
|
1.49
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/computertable.glb",
|
|
"file": "procity_fit_work_table_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_work_table_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_work_table_01.png",
|
|
"tri_before": 1556,
|
|
"tri_after": 1556,
|
|
"size_m": [
|
|
0.44,
|
|
0.75,
|
|
1.044
|
|
],
|
|
"footprint": [
|
|
0.44,
|
|
1.04
|
|
]
|
|
},
|
|
{
|
|
"src": "shop-fittings/warehouse_box.glb",
|
|
"file": "procity_fit_box_crate_01.glb",
|
|
"out": "/tmp/procity_norm/procity_fit_box_crate_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_fit_box_crate_01.png",
|
|
"tri_before": 78,
|
|
"tri_after": 78,
|
|
"size_m": [
|
|
1.352,
|
|
0.6,
|
|
1.324
|
|
],
|
|
"footprint": [
|
|
1.35,
|
|
1.32
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/bench.glb",
|
|
"file": "procity_street_bench_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_bench_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_bench_01.png",
|
|
"tri_before": 1942,
|
|
"tri_after": 1942,
|
|
"size_m": [
|
|
0.437,
|
|
0.85,
|
|
1.214
|
|
],
|
|
"footprint": [
|
|
0.44,
|
|
1.21
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/eb_hipster_bench.glb",
|
|
"file": "procity_street_bench_modern_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_bench_modern_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_bench_modern_01.png",
|
|
"tri_before": 640,
|
|
"tri_after": 640,
|
|
"size_m": [
|
|
1.682,
|
|
0.45,
|
|
0.467
|
|
],
|
|
"footprint": [
|
|
1.68,
|
|
0.47
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/woodbench.glb",
|
|
"file": "procity_street_bench_wood_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_bench_wood_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_bench_wood_01.png",
|
|
"tri_before": 11728,
|
|
"tri_after": 3999,
|
|
"size_m": [
|
|
1.335,
|
|
0.85,
|
|
0.588
|
|
],
|
|
"footprint": [
|
|
1.34,
|
|
0.59
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/longbench.glb",
|
|
"file": "procity_street_longbench_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_longbench_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_longbench_01.png",
|
|
"tri_before": 1172,
|
|
"tri_after": 1172,
|
|
"size_m": [
|
|
5.864,
|
|
0.85,
|
|
1.08
|
|
],
|
|
"footprint": [
|
|
5.86,
|
|
1.08
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/park_bench_01.glb",
|
|
"file": "procity_street_park_bench_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_park_bench_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_park_bench_01.png",
|
|
"tri_before": 9884,
|
|
"tri_after": 5000,
|
|
"size_m": [
|
|
1.921,
|
|
0.85,
|
|
1.614
|
|
],
|
|
"footprint": [
|
|
1.92,
|
|
1.61
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/streetlight.glb",
|
|
"file": "procity_street_streetlight_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_streetlight_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_streetlight_01.png",
|
|
"tri_before": 6592,
|
|
"tri_after": 4999,
|
|
"size_m": [
|
|
1.636,
|
|
5.0,
|
|
1.821
|
|
],
|
|
"footprint": [
|
|
1.64,
|
|
1.82
|
|
]
|
|
},
|
|
{
|
|
"src": "street-furniture/food_cart_bakso_01.glb",
|
|
"file": "procity_street_food_cart_01.glb",
|
|
"out": "/tmp/procity_norm/procity_street_food_cart_01.glb",
|
|
"thumb": "/tmp/procity_norm/thumbs/procity_street_food_cart_01.png",
|
|
"tri_before": 30220,
|
|
"tri_after": 5000,
|
|
"size_m": [
|
|
3.003,
|
|
2.0,
|
|
2.075
|
|
],
|
|
"footprint": [
|
|
3.0,
|
|
2.07
|
|
]
|
|
}
|
|
],
|
|
"errors": []
|
|
} |