glytch/fktry
type-two 72842e270a [render] root-cause fix: the world had no environment, so every metal read black
scene.environment was null for seven rounds. diffuse = albedo * (1 - metalness),
so a metal is nothing but reflected surroundings — and 13 of the 27 shipped GLB
materials are metallicFactor >= 0.8 (16 at >= 0.5, 21 with no MR texture). Round
6's GLB_EMISSIVE_FLOOR = 0.42 was cosmetics over a lighting hole.

- env.ts (new): procedural 128x64 half-float equirect through PMREMGenerator.
  Zero bytes shipped, no asset fetch. Dark industrial room per codex 8; key/fill
  blob directions passed in from index.ts's real lights, never duplicated.
- GLB materials take envMap explicitly (three overrides material.envMapIntensity
  with scene.environmentIntensity on the scene-fallback path), so the assets can
  be dosed at 2.6 while six rounds of hand-tuned world art keep 0.5.
- emissive floor 0.42 -> 0.18: re-tuned, not retired. Still the "never a hole"
  guarantee and still what carries a machine through a brownout.
- registry.init no longer awaits probeAll: renderer.init 284ms -> 28ms, ready at
  339ms -> 88ms. Placement juice suppressed on asset-version bumps so the factory
  doesn't re-place itself a second into every boot; a def change still pops.
- era.ts: eraIndex now breaks a contested unlock FIRST-tech-wins, matching
  LANE-UI's indexTech. It was LAST-tech-wins despite round 4's NOTES claiming
  otherwise; the tests found it.
- registry.test.ts (new): 31 tests, this lane's first. 481 -> 512 repo tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 00:58:04 +10:00
..
data [data] round 6 CANON-DELTA + NOTES 2026-07-20 18:37:43 +10:00
lanes [render] root-cause fix: the world had no environment, so every metal read black 2026-07-29 00:58:04 +10:00
public/assets/models [orchestrator] round 7 phase 0: 27.3 MB -> 7.0 MB, and the build can no longer forget 2026-07-29 00:21:20 +10:00
src [render] root-cause fix: the world had no environment, so every metal read black 2026-07-29 00:58:04 +10:00
tools [orchestrator] round 7 phase 0: 27.3 MB -> 7.0 MB, and the build can no longer forget 2026-07-29 00:21:20 +10:00
CONTRACTS.md [orchestrator] MEGA round 5: the paint and the pipe 2026-07-18 12:56:09 +10:00
index.html [orchestrator] round 5 (MEGA) review: integration fixes — the radio works in prod 2026-07-18 14:32:56 +10:00
MASTERPLAN.md [orchestrator] MEGA round 5: the paint and the pipe 2026-07-18 12:56:09 +10:00
package-lock.json [orchestrator] round 2 review + contracts v3 + round 3 orders 2026-07-17 18:05:53 +10:00
package.json [orchestrator] round 2 review + contracts v3 + round 3 orders 2026-07-17 18:05:53 +10:00
tsconfig.json [orchestrator] round 3 review + contracts v4 + composite seam codex + round 4 orders 2026-07-17 19:43:48 +10:00