undef-dice 2026-03-08
Multiple code review passes, CI/test infrastructure, SPDX headers, and DiceScene component split
191 files · 2,941+ · 4,837-

Code review corrections

7 files changed
  • pre-simulate.ts Correctness bugs fixed across 4th-6th review passes
  • custom-geometry.ts Geometry correctness fixes
  • face-reader.ts Face reading correctness fixes
  • notation-parser.ts Notation parser corrections
  • playback.ts Playback correctness fixes
  • die-meshes.ts Visual rendering corrections
  • useUndefDiceController.ts Controller correctness fixes
  • Architectural correctness fixes from 4th code review pass: broad structural corrections across simulation, geometry, and visual modules. remediate architectural
    2 files
    • pre-simulate.ts
    • custom-geometry.ts
  • 5th and 6th code review passes: five additional targeted correctness bugs fixed in face reader, simulation, and playback modules. remediate internal
    2 files
    • face-reader.ts
    • playback.ts

CI and test infrastructure

6 files changed
  • ci.yml Playwright E2E step with Xvfb for headed WebGL on CI added
  • release.yml Release workflow updated
  • .actignore act (local CI runner) ignore file
  • .actrc act configuration
  • TestHarness.tsx dice-core E2E test harness
  • playwright.config.ts dice-core Playwright config
  • Playwright E2E step added to CI with Xvfb for headed WebGL rendering on CI runners. cameraDistance URL param added to test harness for visual inspection. dice-core E2E test harness and Playwright config added. baseline internal
    2 files
    • ci.yml
    • TestHarness.tsx

Code quality tooling

4 files changed
  • knip.config.ts Knip dead-code detection config
  • package.json Security dependency updates
  • vitest.config.ts Test configuration adjustments for review cycle
  • vite.config.ts Bundle chunk configuration
  • Code quality pass: dead code detected and removed, security dependency updates applied, SPDX license headers checked. Bundle chunks configured. baseline internal
    2 files
    • knip.config.ts
    • vite.config.ts

DiceScene split and web layout

5 files changed
  • DiceScene.tsx DiceScene split into focused subcomponents
  • usePlaybackAdvance.ts Playback advance hook extracted
  • useSettlementDetection.ts Settlement detection hook extracted
  • UndefDiceDevTools.tsx DevTools UI with lastError wired
  • App.tsx Web shell layout and sidebar responsiveness fixed
  • DiceScene split into focused subcomponents: usePlaybackAdvance and useSettlementDetection extracted. lastError wired to DevTools UI. Web shell layout and sidebar responsiveness fixed. decouple internal
    3 files
    • DiceScene.tsx
    • usePlaybackAdvance.ts
    • UndefDiceDevTools.tsx