Lane E round 5 (E2): depot growth — street bin + record-crate stack (consumer-driven)
v2 features are procedural (no forced GLB needs), so E2 is light per Fable's "no unconsumed entries": two synthetic depot props with clear homes — council-bin -> procity_street_bin_01 (Lane B street dressing) + milk-crate-stack -> procity_fit_crate_stack_01 (Lane C floor piles / dig). Both 3k tris, base-origin, re-normalized to procity names + thumbs, published, verified loading, validate --depot 0 err. Manifest 18 fittings + 10 furniture (28 GLBs). Also noted B3 resolved (novelty_record 26.5k->8k via E1 bake). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
8644d3f7ac
commit
019304d647
@ -22,8 +22,12 @@ other lanes' files was touched.*
|
||||
att × ~$0.16), well under the <$1 estimate; guardrail held. Costs logged in AUDIT R5. Last two
|
||||
primitive-only fittings (glass_case, magazine_rack) retired; new street `bus_shelter`. Manifest
|
||||
now 17 fittings + 9 furniture (26 GLBs). Contact sheet `docs/shots/laneE/props_fal.png`.
|
||||
- **E2 — depot growth for v2:** ~8–12 library props serving C's dig / D's roster / B's windows.
|
||||
*(next)*
|
||||
- **E2 — depot growth: DONE (light, consumer-driven).** The v2 features are procedural (dig uses
|
||||
generated sleeves, B's window shader + D's roster need no GLBs), so per Fable "no unconsumed
|
||||
entries" I added two clear-consumer props: `street/bin` (council-bin → Lane B) + `fit/crate_stack`
|
||||
(milk-crate-stack → Lane C floor piles/dig). Both 3k tris, re-normalized + published, verified
|
||||
loading, `validate --depot` 0 err. Also **resolved Lane B's B3 ask** — novelty_record 26.5k→8k
|
||||
via the E1 bake. Manifest now **18 fittings + 10 furniture (28 GLBs)**. Further growth on request.
|
||||
|
||||
## Round 4 (Fable) — ped decimation (gate-3 critical path) + asset fixes
|
||||
|
||||
|
||||
@ -31,10 +31,18 @@ The two remaining primitive-only fittings are now real GLBs on the depot (≤8k,
|
||||
- Both base-origin, verified loading in the vendored GLTFLoader. `manifest.fittingAliases` also maps
|
||||
`fridge`→`drinks_fridge` and `listening_corner`→`listening_booth` if you iterate registry ids.
|
||||
|
||||
### → Lane B: new street prop — `bus_shelter`
|
||||
`procity_street_bus_shelter_01.glb` (manifest `furniture.bus_shelter`, 2.33×1.41 m, 2.4 m tall, ≤8k,
|
||||
base-origin). Solid painted-steel shelter (back wall + roof + bench) for street dressing / D's roster
|
||||
context — place at bus-stop-ish spots along the footpath if useful. Primitive-free; fail-soft as usual.
|
||||
### → Lane B: new street props — `bus_shelter` + `bin`
|
||||
- `procity_street_bus_shelter_01.glb` (`furniture.bus_shelter`, 2.33×1.41 m, 2.4 m, ≤8k, base-origin).
|
||||
Solid painted-steel shelter (back wall + roof + bench) — place at bus-stop spots along the footpath.
|
||||
- `procity_street_bin_01.glb` (`furniture.bin`, 0.57×0.68 m, 1.0 m, 3k) — red council wheelie bin, an
|
||||
obvious town-furniture gap. Map `bin` in your furniture GLB-upgrade path if you want it on footpaths.
|
||||
- **B3 resolved:** `novelty_record` is now **8k** (was 26.5k) via the E1 bake — re-measure the busy view.
|
||||
All furniture GLBs base-origin + footprint-accurate; fail-soft as usual.
|
||||
|
||||
### → Lane C also: `crate_stack` for floor piles / dig
|
||||
`procity_fit_crate_stack_01.glb` (`fittings.crate_stack`, 0.71×0.72 m, 0.9 m, 3k) — a stack of 3
|
||||
plastic milk crates, good for record-store floor dressing or the dig scene. Optional; map a kind to
|
||||
`'crate_stack'` if useful.
|
||||
|
||||
### → Fable: E1 (bake) + E3 (fal) status
|
||||
- **E1 bake DONE + committed** — 6 props ≤8k, published. Feeds C's re-measure + your v1.1 tag.
|
||||
|
||||
@ -244,3 +244,20 @@ published, `validate --depot` 0 err. **Provenance: FLUX.2-klein-4B concept + fal
|
||||
Blender bake — synthetic, no third-party source** (Hunyuan output is model-generated geometry).
|
||||
Raw fal GLBs + concepts kept in gitignored `pipeline/.genprops/`. These retire the last two
|
||||
primitive-only fittings (glass_case, magazine_rack) + add a street bus_shelter.
|
||||
|
||||
## Round 5 — E2: depot growth (consumer-driven)
|
||||
|
||||
The round-5 v2 features are **procedural** (dig.js riffles generated sleeve art; B's window shader is
|
||||
100% procedural; D's roster is spawn logic) — so no forced GLB needs. Per Fable "don't add manifest
|
||||
entries no lane consumes", E2 is deliberately light: two already-synthetic depot props with clear
|
||||
consumers, re-normalized to procity names + thumbs (both already ≤5k tris, metre-scale, base-origin):
|
||||
|
||||
| new id | source | footprint / h | consumer |
|
||||
|---|---|---|---|
|
||||
| `street/bin` (`procity_street_bin_01.glb`) | `council-bin.glb` (thriftgod_hero, on depot) | 0.57×0.68 m, 1.0 m | Lane B street dressing (towns need bins) |
|
||||
| `fit/crate_stack` (`procity_fit_crate_stack_01.glb`) | `milk-crate-stack.glb` (thriftgod_hero) | 0.71×0.72 m, 0.9 m | Lane C record-store floor piles / dig context |
|
||||
|
||||
Both 3k tris, verified loading in the vendored GLTFLoader, published, `validate --depot` 0 err.
|
||||
Provenance: MeshGod-generated (thriftgod_hero) — synthetic, web-ok. **Note:** also resolved Lane B's
|
||||
B3 ask — `novelty_record` (was 26.5k, spiking the busy view) is now 8k via the E1 bake. No speculative
|
||||
props added; further depot growth is available on request once C's dig / D's roster name concrete needs.
|
||||
|
||||
@ -149,6 +149,40 @@
|
||||
],
|
||||
"thumb": "/tmp/fal_bake/thumbs/procity_fit_magazine_rack_01.png",
|
||||
"out": "/tmp/fal_bake/procity_fit_magazine_rack_01.glb"
|
||||
},
|
||||
{
|
||||
"src": "/tmp/council-bin.glb",
|
||||
"file": "procity_street_bin_01.glb",
|
||||
"out": "/tmp/e2_norm/procity_street_bin_01.glb",
|
||||
"thumb": "web/assets/thumbs/procity_street_bin_01.png",
|
||||
"tri_before": 3000,
|
||||
"tri_after": 3000,
|
||||
"size_m": [
|
||||
0.569,
|
||||
1.0,
|
||||
0.683
|
||||
],
|
||||
"footprint": [
|
||||
0.57,
|
||||
0.68
|
||||
]
|
||||
},
|
||||
{
|
||||
"src": "/tmp/milk-crate-stack.glb",
|
||||
"file": "procity_fit_crate_stack_01.glb",
|
||||
"out": "/tmp/e2_norm/procity_fit_crate_stack_01.glb",
|
||||
"thumb": "web/assets/thumbs/procity_fit_crate_stack_01.png",
|
||||
"tri_before": 3000,
|
||||
"tri_after": 3000,
|
||||
"size_m": [
|
||||
0.71,
|
||||
0.9,
|
||||
0.721
|
||||
],
|
||||
"footprint": [
|
||||
0.71,
|
||||
0.72
|
||||
]
|
||||
}
|
||||
],
|
||||
"errors": []
|
||||
|
||||
4
pipeline/batch_e2.json
Normal file
4
pipeline/batch_e2.json
Normal file
@ -0,0 +1,4 @@
|
||||
[
|
||||
{"src": "/tmp/council-bin.glb", "id": "bin", "category": "street", "height_m": 1.0, "tris": 5000},
|
||||
{"src": "/tmp/milk-crate-stack.glb","id": "crate_stack", "category": "fit", "height_m": 0.9, "tris": 5000}
|
||||
]
|
||||
@ -711,6 +711,15 @@
|
||||
"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"
|
||||
},
|
||||
"cash_register": {
|
||||
"file": "vintage-cash-register.glb",
|
||||
"footprint": [
|
||||
@ -801,6 +810,15 @@
|
||||
],
|
||||
"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": {
|
||||
|
||||
BIN
web/assets/thumbs/procity_fit_crate_stack_01.png
Normal file
BIN
web/assets/thumbs/procity_fit_crate_stack_01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
BIN
web/assets/thumbs/procity_street_bin_01.png
Normal file
BIN
web/assets/thumbs/procity_street_bin_01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
Loading…
Reference in New Issue
Block a user