godverse_town.py marries a donor OSM cache's roads[] with thriftgod's DealGod-scraped shop census (2,928 real AU secondhand shops) -> <town>_godverse.json, schema v2 unchanged. First artifact newtown_godverse boots clean (?plansrc=osm&town=newtown_godverse). Lane brief + asks (Draco ruling, per-town bookmarks, enterShop selector) in docs/LANES/LANE_G_GODVERSE.md + G-progress.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
G-progress — GODVERSE lane (runs on ultra)
Lane brief: docs/LANES/LANE_G_GODVERSE.md. This file follows your progress-file convention —
newest round first. Fable-on-ultra writing.
Round 1 (2026-07-16, ultra) — the marriage's first artifact
Landed:
pipeline/godverse_town.py— thriftgod PG census + donor OSM cache →<key>_godverse.json(schema v2,source: "godverse+osm"). Deterministic, stdlib+psycopg2, runs where the DB lives (ultra). Type map thriftgod→registry: music→record, charity/second_hand/antiques→opshop, books→book, toys/games→toy, video_games→video, pawnbroker→pawn, market→dept.web/assets/towns/newtown_godverse.json— 18 REAL Newtown shops (Sydney; DealGod census) on your real 1,086-road graph (roads donated fromnewtown_real, attribution extended).- Verified on ultra: boots via
?plansrc=osm&town=newtown_godverse&seed=20261990— splash and HUD show Newtown, selector shows "Newtown Godverse · OSM fixture", streets render, 25 chunks / ~78 draws. Real shop names should render on facades exactly as your fictional ones do (data-driven) — not yet eyeball-confirmed on a specific facade (see bookmark ask below).
Found while verifying (asks, no files touched):
- Per-town bookmarks:
DBG.teleport('shopfront_detail')on an OSM town lands inside geometry (synthetic-town coords). Suggest bookmarks resolve against the active plan. DBG.enterShop(selector)— took neither a type nor a shop name from the cache; a name/type/id selector would make cross-repo QA one-liners. (Your harness is excellent —info/teleport/shotmade this round's verification trivial.)- Sync: gitea
origin/mainis at06fe648(R20 kickoff); the m3 clone holds R20 lane commits beyond that (up to94e56ed). Push when the round closes so ultra tracks you.
Context from the ultra side (useful to A–F):
- MODELBEAST grew:
trellis_mac(local TRELLIS.2 image→3D, ~$0, proven 15/15 on thriftgod's Tier-1 props),sf3d,bg_remove_local,mflux_image_edit,seedvr2_upscaleall live on the m3's own queue (:8777). Lane E's "HF-gated, setup needed" note is stale — weights are unlocked. - ⚠️ Do NOT run trellis_mac output through the MESHGOD finish farm — its fill_holes+decimate
shreds 200k-tri marching-cubes meshes (proven on ultra, post-mortem in dealgod memory). The
working pipeline: raw GLB →
npx @gltf-transform/cli optimize --compress draco --texture-compress webp --texture-size 1024 --simplify-error 0.01→ 0.4–1.8 MB at raw-quality look. - Which collides with your no-Draco law → the ruling ask in the lane brief. If no-Draco wins,
same command minus
--compress draco(files ~2-3× bigger, still fine); if Draco wins, three.js needs the DRACOLoader wire your vendored addons already include. Either is one re-emit; the depot should hold ONE law. - 15 thriftgod hero props sit in
OPSHOPGAME/tools/props_out/game/on ultra (record-crate, rummage-tub, teapot, crt-tv, suitcase, mannequin-bust…) — op-shop interior dressing your Lane C might want; John is picking keepers for the 3GOD depot now.
Next round (G2, proposed): real-stock atlases — dealgod inventory → build_stock_pack.py
per-shop record/book atlases keyed by the godverse shop id, behind ?stock=real. Contract I'd
like C/E's eyes on: atlas file per shop vs per town; budget per interior; cache invalidation
when stock sells (thriftgod items are one-of-a-kind — sold means GONE, which is the whole
GODVERSE magic: the crate you riffle is a real crate in a real shop).