PROCITY/G-progress.md
type-two 223fbcaf72 Lane G (GODVERSE, ultra) R1: real-shop census adapter — 18 real Newtown shops on the real road graph
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>
2026-07-16 20:19:14 +10:00

3.6 KiB
Raw Blame History

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.json18 REAL Newtown shops (Sydney; DealGod census) on your real 1,086-road graph (roads donated from newtown_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):

  1. Per-town bookmarks: DBG.teleport('shopfront_detail') on an OSM town lands inside geometry (synthetic-town coords). Suggest bookmarks resolve against the active plan.
  2. 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/shot made this round's verification trivial.)
  3. Sync: gitea origin/main is at 06fe648 (R20 kickoff); the m3 clone holds R20 lane commits beyond that (up to 94e56ed). Push when the round closes so ultra tracks you.

Context from the ultra side (useful to AF):

  • 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_upscale all 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.41.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).