undef-dice
2026-02-15
Initial commit and day-one iteration adding tests, effects, arena polish, and TypeScript hardening
111 files · 9,000+ · 6,156-
Initial project scaffold
12 files changed
UndefDiceApp.tsxMain React app componentDiceScene.tsxThree.js dice scene componentChamber.tsxArena chamber componentDiceRoller.tsxDice roller wrapperpre-simulate.tsPhysics pre-simulation for deterministic throwsplayback.tsThrow playback systemgeometry-data.tsDice geometry datanotation-parser.tsDice notation parserseeded-rng.tsSeeded RNG for determinismmessaging.tspostMessage bridge for embeddingpackage.jsonPackage definition with workspace dependenciesvite.config.tsVite build configuration
- Repository initialized as undef-dice v1.0.0 with React/Three.js/Rapier physics stack, dice notation parser, seeded-RNG deterministic simulation, throw playback, and postMessage embedding bridge.
instantiate
architectural
4 files
UndefDiceApp.tsxpre-simulate.tsseeded-rng.tsmessaging.ts
Test coverage expansion
12 files changed
effects.test.tsCore effects lifecycle tests (12% → 90% coverage)chromatic-aberration.test.tsChromatic aberration effect testscrt-scanlines.test.tsCRT scanlines effect testsmotion-trails.test.tsMotion trails effect testspanel-glow.test.tsPanel glow effect testspixelation.test.tsPixelation effect testsplayback.test.tsPlayback simulation testsdeterminism-e2e.test.tsSimulation determinism E2E testspre-simulate.test.tsPre-simulation unit testsUndefDiceApp.test.tsxApp component testsChamber.test.tsxChamber component testsgeometry-data.test.tsGeometry data tests
- Comprehensive tests added for the core effects lifecycle (chromatic-aberration, crt-scanlines, motion-trails, panel-glow, pixelation), pushing coverage from 12% to 90%. Simulation determinism and playback tests added. Core modules and app component tests added.
qualify
behavioral
3 files
effects.test.tsplayback.test.tsdeterminism-e2e.test.ts
Arena interactions and UI polish
6 files changed
DiceArena.tsxArena with floor-tap to roll, die-tap zoom, speed-up settlingChamber.tsxAdded vertical corner wireframe linesDie.tsxDie component with data-testid and aria attributesDiceScene.tsxUpdated with aria attributesDiceRoller.tsxUpdated with aria and testid attributesPlaybackDie.tsxPlayback die with testid attributes
- Floor-tap to roll, die-tap to zoom, and speed-up-settling interactions added to the arena. Vertical corner wireframe lines added to Chamber. data-testid and aria-label attributes applied to all interactive UI elements.
instantiate
behavioral
3 files
DiceArena.tsxChamber.tsxDie.tsx
TypeScript and ESLint strictness
3 files changed
eslint.config.jsESLint config with expanded strict rulestsconfig.jsonTypeScript strict mode settingstsconfig.build.jsonBuild tsconfig