Skip to content

[Feature] 047 Three.js Game #48

@TortoiseWolfe

Description

@TortoiseWolfe

Summary

Tracking issue for Feature 047 — Three.js Game, an interactive WebGL scene at /game/3d that demonstrates ScriptHammer's capacity for 3D content as a PWA.

Spec

features/enhancements/047-threejs-game/047_threejs-game_feature.md

Status

Ready for SpecKit — run /speckit.specify against the PRP to generate spec.md, then proceed through /speckit.clarify → wireframes → /speckit.plan/speckit.tasks/speckit.implement.

Key Decisions Already Locked

  • Route: /game/3d as a sub-route. Existing dice game at /game stays untouched (feature 037-game-a11y-tests depends on it).
  • Stack: three, @react-three/fiber, @react-three/drei. No physics, no audio, no model imports for v1.
  • Theme-aware: scene reads DaisyUI CSS custom properties; MutationObserver on data-theme triggers updates (precedent: useMapTheme in src/utils/theme-utils.ts).
  • Reduced motion: respects prefers-reduced-motion: reduce (precedent: commit acb1920).
  • Pa11y: /game/3d excluded from a11y scans (canvas not auditable). Existing /game retains a11y coverage via feature 037.
  • Static export: dynamic import with ssr: false keeps it compatible with next build.

Out of Scope (v1)

Multiplayer, leaderboards, persistent save state, physics, audio, asset pipeline, payments, Web3, homepage promotion.

Dependencies

  • 001 WCAG AA Compliance (with documented Pa11y exclusion caveat)
  • 006 Component Template (5-file pattern enforced by validate:structure)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions