undef-dice
2026-01-15
React Three Fiber rendering path introduced alongside vanilla Three.js; dual-mode Vite build added
39 files · 4,070+ · 824-
React Three Fiber components
9 files changed
DiceRoller.tsxRoot React Three Fiber dice roller componentDiceScene.tsx3D dice scene with @react-three/rapier physicsDie.tsxIndividual die component with physics via rapierindex.tsComponents barrel exportsmain-app.tsxApplication mode entry pointmain-lib.tsxLibrary mode entry pointApp.jsxVite scaffold app componentApp.cssVite scaffold stylesreact-three-fiber.d.tsType declarations for R3F JSX elements
- Added React Three Fiber components:
DiceRoller.tsx,DiceScene.tsx,Die.tsxwith physics via@react-three/rapierinstantiate architectural3 files
DiceRoller.tsxDiceScene.tsxDie.tsx
- Created
src/main-app.tsxandsrc/main-lib.tsxentry points for app mode and library mode respectively instantiate internal2 files
main-app.tsxmain-lib.tsx
- Added
src/react-three-fiber.d.tstype declarations for R3F JSX elements baseline internal1 file
react-three-fiber.d.ts
Core bootstrap layer
4 files changed
bootstrap.tsCore initialization bootstrapcallbacks.tsEvent callback managementindex.tsCore module exportsui-setup.tsDOM setup for vanilla initialization
- Built
src/core/bootstrap.tsfor initialization andsrc/core/ui-setup.tsfor DOM setup instantiate behavioral2 files
bootstrap.tsui-setup.ts
- Added
src/core/callbacks.tsfor event callback management instantiate behavioral1 file
callbacks.ts
- Created
test-app.htmland E2E test for target values visual testing qualify internal1 file
target-values-visual.spec.ts
Build system and packaging
5 files changed
postbuild.jsPostbuild script for TypeScript declaration file generationvite.config.tsDual entry point build with library mode supporttsconfig.build.jsonLibrary-specific TypeScript configurationtsconfig.jsonUpdated TypeScript configurationpackage.jsonAdded @react-three/fiber, @react-three/rapier, @react-three/drei dependencies
- Removed
src/dice/custom-geometry-data.ts(924 lines), consolidated intosrc/dice/custom-geometry.tsremediate internal1 file
custom-geometry.ts
- Significantly reduced
src/main.tsfrom ~550 lines to ~200 lines by extracting logic to core modules remediate internal1 file
main.ts
- Updated Vite config for dual entry point builds with library mode support
baseline
internal
1 file
vite.config.ts
- Added
tsconfig.build.jsonfor library-specific TypeScript compilation baseline internal1 file
tsconfig.build.json
- Added
scripts/postbuild.jsto generate TypeScript declaration wrapper files after build baseline internal1 file
postbuild.js
- Updated
package.jsonwith new dependencies:@react-three/fiber,@react-three/rapier,@react-three/dreibaseline internal1 file
package.json