PROCITY/web/models/peds
m3ultra 640bdbb55d Lane E R28 (v5.1): Spike 1 — look.glb shipped; lean does not exist (ledger #1)
look.glb — DONE, published, verified. Looking_Around.fbx (675 KB) from the CACHED tailnet stash (not
re-downloaded — the asset-pipeline skill's law) -> fbx_to_clip.py -> web/models/peds/look.glb: mesh-free,
65 mixamorig joints, 195 tracks, inverseBindMatrices present, 136 KB. Structurally identical to the
sit.glb precedent on every measurable field (meshes/nodes/skins/joints/bind), so D's _canon binds it
exactly like walk/idle/sit. Depot: published to digalot.fyi/3god under John's R22 standing authorization
for Lane E assets (_published.json 43 -> 44), verified by fetching the bytes BACK from the public depot:
https://digalot.fyi/3god/a/look.glb -> HTTP 200, 139,640 bytes, sha1 identical to local.
-> D: it's ready. Gate it behind an opt the way rigs.js gates sit (loadPedFleet(base, { sit })) — a raw
fetch would breach the ?classic=1 zero-fetch-delta covenant, same as sit.glb.

`lean` DOES NOT EXIST — the spike's premise is half wrong. The brief and kickoff both say "two of the 34
already-cached clips (lean, look-around)" and "Spike 1 needs nothing from anyone". look-around is cached;
lean is not, anywhere. Measured, not assumed: the stash's 34 clips contain no lean; `find ~/Documents
-iname "*lean*"` on ultra returns nothing (not mixamo-fetch, not character_kit, not 3D=models, no FBX by
that name at any depth); and the fetch tool cannot help unattended — `node fetch.cjs search "lean"` ->
"FATAL nothing on debug port 9222 — quit Brave and relaunch with --remote-debugging-port=9222". It needs
John's logged-in Brave session (his browser, his Mixamo account); I won't relaunch it.
I did NOT substitute a lookalike. `Bored` is the nearest stash clip and it is a standing weight-shift idle,
not a wall-lean — D's half explicitly needs shopfront adjacency ("lean against a wall wants the same care"),
so a standing idle would quietly change what Spike 1 proves. Half a spike, honestly, beats a whole one that
lies. -> John: one small unblocker — relaunch Brave with --remote-debugging-port=9222 and open a Mixamo
tab; the fetch+convert is minutes once the token exists.

Instrument LOD — D killed it and D's measurement is better than mine. I had built the five _lo variants in
scratch (14k -> 3500/3500/4000/6000/3000) when D's commit landed saying "E: STOP — do not build the _lo
variants". Nothing shipped; scratch discarded. D measured the rooms an LOD must fire in: max diagonal 15.2m
in the largest venue, so the player can never be far enough — practical win 0 tris. My own reading reached
the same verdict by another route, recorded as corroboration: C's §4 already says "the interior gate is
DRAWS; tris are the STREET budget (200k)", and an LOD swap does not change draws at all (same object, same
material, fewer tris) — the item's entire win landed on a metric no interior gate reads. Two independent
measurements, one verdict. Salvage if it ever returns: at ~3k the guitar_amp SHREDS (white gaps punched
through its silhouette — confirmed against the shipped 14k thumb as a decimation artifact, not a source
defect, per the R22 food_cart discipline); it needs 6k to read clean. The other four were clean at 3-4k.

-> A: your own file's comment now contradicts its code. Chasing why the fingerprint read 0x5f76e76 rather
than the 0x3fa36874 I'd seen every round, I confirmed it is LEGITIMATE — your R27 w5 facade fix re-pinned
51 goldens under the amended covenant. But selfcheck.js:267 pins hash: 0x5f76e76 while selfcheck.js:301
still says "the synthetic golden above stays 0x3fa36874". Code and comment disagree by 34 lines — the exact
species as R24's validator bug (my docstring said nested, my code read top-level); the next reader trusts
whichever they read first. Your file, your call; flagging per the round's "flag loudly if anything
disagrees".

Gates: selfcheck ALL GREEN 156,352/156,352 · qa.sh --strict 6 passed / 0 failed. look.glb moves NO golden —
proved by moving it aside and re-running: the fingerprint is identical either way, because an unreferenced
clip is never fetched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 17:35:17 +10:00
..
comical_boy_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
comical_luchador_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
idle.glb Lane D (Citizens): deterministic LOD crowd — rigs/impostors/keepers + test page 2026-07-14 13:43:05 +10:00
look.glb Lane E R28 (v5.1): Spike 1 — look.glb shipped; lean does not exist (ledger #1) 2026-07-17 17:35:17 +10:00
man_athletic_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_bouncer_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_casual_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_casual_02.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_casual_03.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_dj_streetwear_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_elder_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_grunge_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_soldier_ww2_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_suit_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
man_worker_hivis_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
sit.glb Lane E R16 (v3.1): the drummer's sit clip — sit.glb produced + published 2026-07-16 12:37:27 +10:00
walk.glb Lane D (Citizens): deterministic LOD crowd — rigs/impostors/keepers + test page 2026-07-14 13:43:05 +10:00
woman_athleisure_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
woman_business_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
woman_casual_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
woman_casual_02.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
woman_chef_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00
woman_smart_01.glb Lane E round 7 (E1): merge ped rigs to ONE draw each (gates roster flip) 2026-07-15 00:33:03 +10:00