undef-dice
2026-01-12
Custom geometry for all dice types, physics pre-simulation/playback, keyboard shortcuts, and target values UI added
38 files · 4,379+ · 161-
Custom dice geometry
8 files changed
custom-geometry.tsCustom mesh geometry for non-standard polyhedracustom-geometry-data.tsVertex/face data for d4, d8, d10, d12, d100face-reader.tsExtended to handle custom geometry face normalsnumbers-overlay.tsExtended for non-standard dice face layoutsgeometry-data.tsUpdated geometry data for all dice typesmesh-factory.tsUpdated mesh factory for custom geometrydice-configs.tsConfigurations for d4, d6, d8, d10, d12, d20, d100textures.tsTexture updates for custom dice
- Added custom geometry system (
src/dice/custom-geometry.ts,src/dice/custom-geometry-data.ts) with vertex/face data for non-standard polyhedra (d4, d8, d10, d12, d100) instantiate behavioral2 files
custom-geometry.tscustom-geometry-data.ts
- Expanded face reader (
src/dice/face-reader.ts) to handle custom geometry face normals remediate internal1 file
face-reader.ts
- Extended numbers overlay (
src/dice/numbers-overlay.ts) for non-standard dice face layouts remediate internal1 file
numbers-overlay.ts
- Extended
src/config/dice-configs.tswith configurations for all standard dice types (d4, d6, d8, d10, d12, d20, d100) baseline internal1 file
dice-configs.ts
Physics pre-simulation and playback
4 files changed
pre-simulate.tsPhysics pre-simulation engine running dice physics ahead of timeplayback.tsSimulation playback replaying pre-computed dice trajectoriesindex.tsSimulation module exportstypes.tsSimulation type definitions
- Built physics pre-simulation engine (
src/simulation/pre-simulate.ts) that runs dice physics ahead of time to determine outcomes instantiate behavioral1 file
pre-simulate.ts
- Added simulation playback system (
src/simulation/playback.ts) for replaying pre-computed dice trajectories instantiate behavioral1 file
playback.ts
- Reworked roll and settling logic to support pre-simulated outcomes
remediate
internal
2 files
roll.tssettling.ts
- Updated animation loop to integrate with simulation playback
remediate
internal
1 file
loop.ts
UI additions
7 files changed
keyboard.tsKeyboard shortcut handler for quick dice rollingtarget-values.tsTarget values UI for setting desired roll outcomesphysics-controls.tsPhysics controls panel for adjusting gravity, bounce, and frictiondice-buttons.tsUpdated dice button UImodifiers.tsUpdated modifier systemsliders.tsUpdated slider controlsmain.cssCSS additions for physics controls and target values UI
- Created keyboard shortcut handler (
src/ui/keyboard.ts) for quick dice rolling via key bindings instantiate behavioral1 file
keyboard.ts
- Added target values UI (
src/ui/target-values.ts) for setting desired roll outcomes instantiate behavioral1 file
target-values.ts
- Added physics controls panel (
src/ui/physics-controls.ts) for adjusting gravity, bounce, and friction in real-time instantiate behavioral1 file
physics-controls.ts
- Extended notation parser to handle percentile dice (d100/d%)
remediate
internal
1 file
notation-parser.ts