dice-core
2026-02-28
Rounds 25-26 fixes plus camera control, settle timeout, and D20 diagnostic tests
22 files · 538+ · 90-
Review round 25-26 fixes
5 files changed
DiceScene.tsxReset pendingSettledRef on abort, clarified spawnConfigs dependencyDiceArena.tsxClear stale simulationResult on roll, rapier-ready sentinel for E2E, camera angle APIPlaybackDie.tsxFixed settle timeout leak on early unmountDiceRoller.tsxFixed prop forwarding and type safetydie-visuals.tsReduced texture waste and eliminated unnecessary re-renders
- Fixed playbackSettledRef reset on abort, D30 validation, stale closure in DiceArena, texture waste from unnecessary re-creation, and setState calls from useFrame
harden
behavioral
3 files
DiceScene.tsxDiceArena.tsxdie-visuals.ts
- Fixed settle timeout leak in PlaybackDie when component unmounts before settlement completes
harden
behavioral
1 file
PlaybackDie.tsx
Camera control API
2 files changed
DiceArena.tsxExposed setCameraAngles on DiceArenaRef for external camera controltypes.tsAdded type definitions for camera angle API
- Exposed setCameraAngles on the DiceArenaRef for external camera control with optional look-at target
interface
behavioral
2 files
DiceArena.tsxtypes.ts
E2E synchronization sentinel
1 file changed
DiceArena.tsxAdded rapier-ready sentinel flag for E2E test synchronization
- Added a rapier-ready sentinel that E2E tests can observe to know when physics initialization is complete, with proper reset on retry
qualify
behavioral
1 file
DiceArena.tsx
D20 diagnostic test coverage
1 file changed
d20-diagnostic.test.tsD20 diagnostic tests including seededQuat coverage, multi-frame slerp blend, and settle-start tolerance
- Added D20 diagnostic tests covering seeded quaternion generation, multi-frame slerp blending, and settle-start tolerance
qualify
behavioral
1 file
d20-diagnostic.test.ts
Build and configuration
5 files changed
vite.config.tsRestored worker URL in library build for consumer bundler compatibilitynotation-parser.tsAdded notation edge case handlingcustom-geometry.tsAdded custom geometry guardslogger.tsLogger improvementsindex.tsUpdated public API exports