Lane E round 9 (E1+E2): VRAM/texture audit + half-res book/toy atlases
E1 memory audit: measured all texture sources (decoded RGBA+mips). Resident VRAM ~240MB default boot / ~420MB worst case (all flags + all shop types); stock packs the swing. Cheap win: half-res'd book+toy atlases (quick pull-cards, not the deep record dig — covers verified legible) → stock VRAM 323->181MB, no index/UV change, re-published to depot. Verdict: fine to ship v2.0; flagged stockpack cache-cap (C) + KTX2/Basis (4-8x) for v3. E2 hygiene: validate --depot 0 err, pack-QA 3/3, provenance-drift clean (27 live), 0 orphan atlases. Numbers + verdict in AUDIT.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e5d4679471
commit
23c0667dca
@ -4,6 +4,18 @@
|
||||
Reviewed against `docs/LANES/LANE_E_ASSETS.md` + `docs/LANES/ROUND3_INSTRUCTIONS.md`. Nothing in
|
||||
other lanes' files was touched.*
|
||||
|
||||
## Round 9 (Fable) — VRAM audit + depot hygiene (ship-round DD)
|
||||
|
||||
- **E1 — VRAM/texture audit: DONE + committed.** Measured every texture source (decoded RGBA+mips).
|
||||
Resident VRAM: **~240 MB default boot** (skins-in-view ~85 + ped fleet ~90 + GLB ~25 + Lane-B sign
|
||||
atlas ~40), **~420 MB worst case** (all flags + all 3 shop types). **Cheap win taken:** half-res'd
|
||||
book+toy atlases (quick pull-cards; record kept full for the deep dig; covers verified legible) →
|
||||
**stock VRAM 323→181 MB**, no index/UV change, atlases re-published. **Verdict: fine to ship v2.0**
|
||||
— no compression/lazy-load needed for the tag. Flagged for v3: stockpack cache-cap (C) + KTX2/Basis.
|
||||
- **E2 — depot/manifest hygiene: confirmed green.** `validate --depot` 0 err · pack-QA 3/3 · provenance
|
||||
-drift clean (`_published.json` == 27 live) · 15 stock atlases live, **0 orphans**.
|
||||
- **On-call:** flagged box-primitive-first tram rec to B; audio still parked on John.
|
||||
|
||||
## Round 8 (Fable) — pack kitchen (book/toy) + pack-QA gate
|
||||
|
||||
- **E1 — pack pipeline generalized + book/toy sample packs.** `build_stock_pack.py` now kind-
|
||||
|
||||
@ -1,5 +1,24 @@
|
||||
# LANE E — cross-lane notes
|
||||
|
||||
## Round 9 — VRAM audit verdict + one rec for C
|
||||
|
||||
**VERDICT: fine to ship v2.0.** Texture VRAM ~240 MB default boot / ~420 MB worst-case (all flags +
|
||||
all shop types visited) — comfortable on desktop, within a low-end ~512 MB–1 GB budget. Full numbers
|
||||
in `AUDIT.md`. **Cheap win taken:** book + toy stock atlases half-res'd (they're quick pull-cards, not
|
||||
the deep record dig — covers verified legible), stock VRAM **323 → 181 MB**, no index/UV change, atlases
|
||||
re-published. Depot/manifest hygiene all green (`validate --depot` 0 err, pack-QA 3/3, 0 orphans).
|
||||
|
||||
**→ Lane C (optional, NOT blocking v2.0 — v3 follow-up):** `stockpack.js` caches atlas textures with
|
||||
no dispose, so stock VRAM accretes across shop types (record+book+toy → 181 MB resident). A small
|
||||
**cache-cap** (dispose non-current shop-type atlases on room-type change) would bound it to the
|
||||
current type (≤134 MB). Not needed for the tag; flagging for when you next touch stockpack.
|
||||
**→ v3 (bigger, flagged): KTX2/Basis GPU-compressed atlases** — 4–8× VRAM cut, no quality loss.
|
||||
|
||||
**→ Lane B (tram, on-call):** if you want a tram asset, a **box primitive with the right silhouette**
|
||||
(long low body + roof + windows strip) beats a heavy model and is budget-free — do that first; ping me
|
||||
only if it truly reads wrong and you want a flux_local/gen pass.
|
||||
|
||||
|
||||
## Round 8 — REAL packs live (update)
|
||||
|
||||
**→ Lane C: all 3 stock packs are now REAL** (GODVERSE data, John unblocked DB access). Same schema
|
||||
|
||||
@ -351,3 +351,43 @@ marketplace listings). Books are info-only in the source → **prices seeded det
|
||||
call). 15 atlases + 3 indexes: atlases published to the depot (`/api/upload`), indexes committed to
|
||||
`pipeline/packs/` (the C contract) + staged for `?localdepot`. All 3 pass the pack-QA gate. Toy filter
|
||||
is broad (some comics/coins among the collectibles) — acceptable for a collectibles shop; tighten later.
|
||||
|
||||
## Round 9 — E1: VRAM / texture memory audit (v2.0 ship due-diligence)
|
||||
|
||||
Decoded GPU cost = w·h·4 (RGBA) ·1.333 (mipmaps). WebP/JPEG disk size is irrelevant to VRAM — a
|
||||
2048² atlas is ~22 MB resident regardless of its 0.8 MB file. Measured across every texture source:
|
||||
|
||||
| category | files | total VRAM | notes / typical resident |
|
||||
|---|---|---|---|
|
||||
| facade skins | 48 | 117 MB | shared per-chunk; only in-view shops resident (~60–85 MB) |
|
||||
| sky domes | 10 | 23 MB | 1 dome resident (~2 MB) |
|
||||
| ground | 10 | 9 MB | ~3 in view |
|
||||
| interior tex (floor/wall/counter) | 16 | 12 MB | current room only (~3 MB) |
|
||||
| wallpaper | 8 | 6 MB | current room only |
|
||||
| **ped fleet** (19 merged rigs) | 19 | **~90 MB** (15×1024²=5.6 + 4×512²=1.4) | all resident (near-rig variety) |
|
||||
| GLB fittings/furniture textures | 28 | ~30–40 MB | street furniture + current room (~25 MB) |
|
||||
| **stock: record** | 6 | **134 MB** (256px cells, full) | resident only under `?stock=real` (eager-preloaded at boot) |
|
||||
| **stock: book** | 4 | **19 MB** (half-res this round) | lazy, on book-shop entry |
|
||||
| **stock: toy** | 5 | **28 MB** (half-res this round) | lazy, on toy-shop entry |
|
||||
|
||||
**Resident-VRAM by boot mode** (peak, approximate):
|
||||
- **Default boot (no flags):** in-view skins ~85 + ped fleet ~90 + GLB ~25 + Lane-B runtime sign-atlas ~40 ≈ **~240 MB**.
|
||||
- **`?stock=real`:** +record 134 (eager) → ~375 MB; +book/toy after visiting those shops (stockpack caches, no dispose) +47 → **~420 MB**.
|
||||
- **Worst case (all flags, all 3 shop types visited):** ~**450 MB** (weather rain = 1 instanced draw, winmap = procedural — both VRAM-negligible).
|
||||
|
||||
**Cheap win taken this round:** book + toy atlases half-res'd (256→128 / portrait 176→88 px cells; UVs
|
||||
are fractional so **no index/UV change**, only the atlas files shrank). Book/toy are quick pull-cards
|
||||
(buy-anywhere), not the deep record dig — covers verified still legible at half-res. **Stock VRAM
|
||||
323 → 181 MB** (record kept full for close riffle examination). Atlases re-published to the depot.
|
||||
|
||||
**VERDICT: fine to ship v2.0.** ~240 MB default / ~420 MB worst-case is comfortable on desktop
|
||||
(GB-class VRAM) and within a low-end/integrated ~512 MB–1 GB texture budget. The stock packs (181 MB)
|
||||
remain the dominant swing but no longer blow past the base. **No compression pass or lazy-load
|
||||
required for the tag.** Two follow-ups flagged for **v3, not now** (bigger than a ship-round change):
|
||||
1. **stockpack cache-cap** (Lane C's `stockpack.js`): dispose non-current shop-type atlases on
|
||||
room-type change → bounds stock VRAM to ≤134 MB (one type) instead of accreting all three.
|
||||
2. **KTX2/Basis GPU-compressed atlases**: 4–8× VRAM cut with no visible quality loss — the real
|
||||
long-term fix for the record pack's 134 MB (needs a transcoder + loader change; out of scope now).
|
||||
|
||||
**Depot/manifest hygiene (E2):** `validate --depot` 0 err · pack-QA 3/3 valid · provenance-drift clean
|
||||
(`_published.json` == 27 live procity GLBs) · 15 stock atlases live, **0 orphans**. All green post-R8.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user