6.7 KiB
PROCITY v6 — THE LIVING STREET (epoch charter — DRAFT for John)
Fable (m3), 2026-07-17. John's idea, from a browser walk down the strip: the crowd is believable but narrow — one walk, one idle, one sit, everyone jaywalks, nobody owns the street. Status: DRAFT — v5.0 (THE LIVE CRATE) is still closing; this charters the v6 conversation the retro was already going to open. Applies to PROCITY first and 90sDJsim by depot (the Lane-G two-studio pattern, proven).
The vision
The street stops being 24 clones who walk anywhere and becomes a town of people: personas with their own gaits, errands and manners; footpaths used like footpaths; the odd car easing down the main street; a busker outside the record shop doing a move John actually performed in his actual shop. Every asset generated, rigged, animated and shipped on our own machines — zero cloud, zero subscriptions, everything owned.
The stack (measured today, not aspirational)
| piece | state | what it gives us |
|---|---|---|
| mixamo-fetch (tailnet source box) | 34 clips cached, only 3 wired (walk/idle/sit) | the free stash, already in hand — lean, look-around, phone, talk, carry… |
| MOCAPGOD (ultra) | Lanes 0/A/B DONE: phone video → HSMR/SKEL → BVH, MPS-verified, ~1.6× realtime, mixamorig name-map shipped | film John → skeleton motion. Lanes C (retarget) + D (clip factory) remain |
| MIRPAMO (both Macs) | repo live: a local offline Mixamo — autorig (landmark → mixamorig fit → bone-heat weights) + retarget → character@clip.glb |
new rigged BODIES from any mesh + clip retargeting, no Adobe |
| MODELBEAST (m3ultra :8777) | flux_local (Apache, free) · hunyuan3d_mlx local · trellis_mac · sf3d · mflux_image_edit · seedvr2 | concept art → 3D meshes → texture/outfit variants, $0 |
| 3GOD depot | live, no-Draco law, two-studio consumption proven (Lane G) | one publish, every game (PROCITY · 90sDJsim · festifun) consumes |
| PROCITY runtime | ped fleet (19 rigged, _canon mixamorig), sit.glb clip pattern proven (R16), persona hooks half-exist (loiter/dance/bench/patronage) |
the body the assets walk into |
| A's street exports | roadWidth/vergeBand/poleOffset per edge — shipped R15, barely consumed |
the footpath law is one D constraint away, not a new system |
MOCAPGOD Lane C and MIRPAMO's retarget are the same machinery — an integration decision for Fable-ultra before either builds it twice.
THE SPIKES (do these FIRST — cheap, each kills the biggest unknown in one thread)
The pipeline test John asked for, as three end-to-end spikes. No epoch work until these run.
- SPIKE 1 — the free stash (motion, zero generation). Wire 2 of the 34 cached Mixamo
clips (
lean,look-around) into PROCITY loiter via the exact sit.glb pattern (E converts, D wires, classic-gated fetch). Proves: the clip bank expands cheaply; D's four-epoch-old wishlist starts clearing. Risk: ~zero. - SPIKE 2 — the full mocap loop (the one that matters). John films ONE move on a phone — the crate-riffle, at Monster Robot (the exact clip D's notes flagged "bespoke, won't be on Mixamo" two epochs ago) → MOCAPGOD ingest → BVH → retarget (MOCAPGOD-C or MIRPAMO — the integration call) → clip GLB → depot → a ped riffles a crate on Musgrave Road, in-game. Proves: film-yourself-to-NPC works end to end. Needs: MOCAPGOD Lane C/D sessions on ultra + John's test vids in the queue (it's empty — that's the ask).
- SPIKE 3 — a generated body (the stretch). flux_local concept ("older shopper with trolley, 90s AU high street") → hunyuan3d_mlx mesh → MIRPAMO autorig → walk retarget → in-game past the no-giants gate. Proves (or honestly fails): autorig quality on generated meshes — the least-proven link, which is exactly why it's a spike and not a plan line.
The epoch tracks (after v5.0 tags + the retro + the spikes report)
- CLIPS — wire the 34; fetch more free categories; the MOCAPGOD bespoke set (riffle, till-operation, busker strum, lean-on-wall, trolley-push, phone-check). Licence rail: the HSMR/SKEL NC-risk (MOCAPGOD Decision 1) means mocap-derived clips stay in-house until reviewed — same discipline as the item photos, same flag line.
- PERSONAS (D) — a seeded archetype layer per citizen: {body variant, clip set, speed band, loiter/dance/bench biases, errand routes (pick a shop, walk there, dwell, move on — patronage formalized into visible purpose)}. The persona is DATA riding the existing sim; determinism per citizen id; identity signatures unchanged.
- STREET DISCIPLINE (D + B + A) — the footpath law: peds walk the
vergeBand, cross at nodes (zebra-preferred on real roads — B's crossings already render); occasional cars: seeded parked cars (instanced, furniture pattern) + 1–3 movers on the mains (the tram pattern: deterministic path-followers, ~2 draws each, stated budgets). v0 non-interacting: cars don't yield, peds don't jaywalk — both true by construction because each stays in its band. - BODIES (E + MIRPAMO) — outfit/texture variety on the existing fleet first ( mflux_image_edit reskins — free variety, zero rig risk), MIRPAMO-autorigged newcomers second, per Spike 3's verdict.
Laws (inherited + this epoch's)
Everything behind ?streetlife=1 (cars possibly split as ?traffic=1 — F's call at
wiring), default-OFF until soaked, ?classic=1 byte-identical as ever · budgets stated per
system (cars and new rigs are draw/tri line items) · determinism from citySeed + citizen id ·
asset law (every new clip/body rides the manifest + depot + ?noassets fail-soft) · licence
law (LICENSES.md per clip source: Mixamo royalty-free / MOCAPGOD in-house-NC-flagged /
generated CC0-equiv) · vacuous-gate law (a persona gate proves a persona DID something, not
that one exists) · measurement over brief.
Sequencing (the honest order)
- Now: v5.0 closes per ROUND27 — nothing here touches it.
- In parallel, zero collision (different repos): MOCAPGOD Lanes C/D run on ultra · John drops 2–3 test vids in the MOCAPGOD queue · a MIRPAMO autorig smoke on one hunyuan3d_mlx mesh.
- After the v5 retro: the spikes run as v6 wave 1; this charter ratifies (or amends) on their results; the tracks become rounds.
John — the asks that unblock the spikes
- Film the test vids (Spike 2 blocks on an empty MOCAPGOD queue): the capture protocol
is
docs/CAPTURE.mdin MOCAPGOD — the crate-riffle plus any two more moves you fancy. - The MOCAPGOD C-vs-MIRPAMO integration call is Fable-ultra's to make — nudge that session when you're next on the M1.
- Nothing else — the free stash (Spike 1) needs no new material at all.