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.tsx Root React Three Fiber dice roller component
  • DiceScene.tsx 3D dice scene with @react-three/rapier physics
  • Die.tsx Individual die component with physics via rapier
  • index.ts Components barrel exports
  • main-app.tsx Application mode entry point
  • main-lib.tsx Library mode entry point
  • App.jsx Vite scaffold app component
  • App.css Vite scaffold styles
  • react-three-fiber.d.ts Type declarations for R3F JSX elements
  • Added React Three Fiber components: DiceRoller.tsx, DiceScene.tsx, Die.tsx with physics via @react-three/rapier instantiate architectural
    3 files
    • DiceRoller.tsx
    • DiceScene.tsx
    • Die.tsx
  • Created src/main-app.tsx and src/main-lib.tsx entry points for app mode and library mode respectively instantiate internal
    2 files
    • main-app.tsx
    • main-lib.tsx
  • Added src/react-three-fiber.d.ts type declarations for R3F JSX elements baseline internal
    1 file
    • react-three-fiber.d.ts

Core bootstrap layer

4 files changed
  • bootstrap.ts Core initialization bootstrap
  • callbacks.ts Event callback management
  • index.ts Core module exports
  • ui-setup.ts DOM setup for vanilla initialization
  • Built src/core/bootstrap.ts for initialization and src/core/ui-setup.ts for DOM setup instantiate behavioral
    2 files
    • bootstrap.ts
    • ui-setup.ts
  • Added src/core/callbacks.ts for event callback management instantiate behavioral
    1 file
    • callbacks.ts
  • Created test-app.html and E2E test for target values visual testing qualify internal
    1 file
    • target-values-visual.spec.ts

Build system and packaging

5 files changed
  • postbuild.js Postbuild script for TypeScript declaration file generation
  • vite.config.ts Dual entry point build with library mode support
  • tsconfig.build.json Library-specific TypeScript configuration
  • tsconfig.json Updated TypeScript configuration
  • package.json Added @react-three/fiber, @react-three/rapier, @react-three/drei dependencies
  • Removed src/dice/custom-geometry-data.ts (924 lines), consolidated into src/dice/custom-geometry.ts remediate internal
    1 file
    • custom-geometry.ts
  • Significantly reduced src/main.ts from ~550 lines to ~200 lines by extracting logic to core modules remediate internal
    1 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.json for library-specific TypeScript compilation baseline internal
    1 file
    • tsconfig.build.json
  • Added scripts/postbuild.js to generate TypeScript declaration wrapper files after build baseline internal
    1 file
    • postbuild.js
  • Updated package.json with new dependencies: @react-three/fiber, @react-three/rapier, @react-three/drei baseline internal
    1 file
    • package.json