undef-dice
2026-03-13
Geometry and visuals modules split into focused files, pre-simulate rewritten for local-space symmetry rotation
54 files · 2,582+ · 1,654-
Geometry module split
5 files changed
geometry-data.tsMonolithic file reduced; non-generic parts extractedd10-geometry.tsD10-specific geometry data extracted (new)geometry-init.tsGeometry initialization logic extracted (new)geometry-registry.tsGeometry registry/lookup extracted (new)geometry-values.tsGeometry numeric values extracted (new)
- geometry-data.ts (623 lines) split into four focused modules: d10-geometry.ts, geometry-init.ts, geometry-registry.ts, and geometry-values.ts. Dead code removed.
decouple
architectural
3 files
geometry-data.tsd10-geometry.tsgeometry-registry.ts
Visual submodule split
7 files changed
die-meshes.tsdie-meshes.ts reduced; visual responsibilities splitdie-materials.tsDie material creation extracted (new)die-overlays.tsDie overlay rendering extracted (new)die-animation.tsDie animation utilities extracted (new)die-geometry.tsDie geometry helpers extracted (new)die-materials.test.tsDie materials tests (217 lines)die-overlays.test.tsDie overlays tests (269 lines)
- die-meshes.ts (664+ lines) split into four visual submodules: die-materials.ts, die-overlays.ts, die-animation.ts, die-geometry.ts. Test files added for the new materials and overlays modules.
decouple
architectural
3 files
die-meshes.tsdie-materials.tsdie-materials.test.ts
Local-space symmetry rotation for secure throws
3 files changed
pre-simulate.tsRewritten for local-space symmetry rotation; correct secure throw orientationspre-simulate-async.tsAsync wrapper updated for rewritten pre-simulatepre-simulate.test.tsPre-simulate tests updated
- pre-simulate.ts substantially rewritten to fix local-space symmetry rotation, producing correct orientations for secure throws. This ensures dice land on the intended face after a deterministic throw.
remediate
behavioral
1 file
pre-simulate.ts
11th code review and UI fixes
6 files changed
useUndefDiceController.tsInput clamping and stale closure fixesuseUndefDiceController.test.tsxController tests updatedSliders.tsxInput clamping applied to slidersResultsOverlay.tsxResults overlay fixesuseDiceStore.tsStale closure fix in dice storeusePhysicsStore.tsStale closure fix in physics store
CI and packaging
4 files changed
ci.ymlCI workflow updatedrelease.ymlRelease workflow updatedtailwind.config.jsTailwind config addedpostcss.config.jsPostCSS config added