Files
La-Fabrik/docs/user/features.md
T
2026-05-11 13:10:26 +02:00

3.5 KiB

Implemented Features

This document lists features that are implemented in the current codebase.

Scene

  • Fullscreen React Three Fiber scene
  • Main map scene loaded from public/map.json and matching public/models/{name}/model.glb or model.gltf assets
  • Debug physics test scene selectable from the debug panel
  • Ambient and directional lighting
  • Environment background setup

Player

  • Player camera mode
  • Pointer lock mouse look
  • Movement with ZQSD
  • Jumping
  • Octree-based collision against the loaded map

Interactions

  • Focus detection by distance and raycast
  • Trigger interactions activated with E
  • Grab interactions activated with the primary mouse button
  • Interaction prompt shown for trigger interactions

Audio

  • Category-based volumes for music, SFX, and dialogue
  • Looped background music playback through AudioManager
  • One-shot sound playback for SFX and dialogue, with simple per-sound pooling
  • Optional stereo pan for one-shot sounds

Dialogue And Subtitles

  • Dialogue manifest in public/sounds/dialogue/dialogues.json
  • Dialogue audio loaded from public/sounds/dialogue/
  • One SRT subtitle file per voice and language
  • French subtitle fallback when the selected language file is missing
  • Runtime subtitle overlay with speaker-specific colors
  • Timecoded dialogue trigger support for dialogue entries that define timecode
  • Dialogue queueing to avoid overlapping dialogue playback

Cinematics

  • Cinematic manifest in public/cinematics.json
  • Timecoded cinematic trigger support
  • GSAP camera keyframe playback
  • Optional dialogue cues synchronized to cinematic timelines
  • Player input lock while a cinematic is active

Game Options Menu

  • Esc opens and closes the in-game options menu
  • Music, SFX, and dialogue volume sliders
  • Subtitle visibility toggle
  • Subtitle language choice between French and English
  • Repair runtime choice between local JavaScript and Python server mode
  • Quit action that clears browser-accessible cookies and returns to /

Debug Tooling

  • ?debug query param enables the debug panel
  • lil-gui controls for camera mode, scene mode, R3F Perf, Debug Overlay, and interaction tuning
  • Compact debug overlay for game state controls and hand tracking status
  • Debug scene helpers
  • Free debug camera
  • r3f-perf overlay

Map Editor

  • /editor route for inspecting and editing public/map.json
  • Automatic loading of public/map.json when available
  • Folder upload fallback when map.json is missing
  • Rendering of available public/models/{name}/model.glb or model.gltf assets
  • Fallback cubes for nodes whose model is missing
  • Object selection by click
  • Transform modes for translate, rotate, and scale
  • Keyboard shortcuts for T, R, S, Esc, undo, and redo
  • Player-style navigation mode with WASD, ZQSD, arrow keys, Space, and Shift
  • JSON export for downloading the edited map
  • Dev-server save endpoint for writing changes back to public/map.json
  • SRT editor for dialogue subtitles
  • Audio preview and timing helpers for SRT cues
  • Dev-server save endpoint for SRT files
  • Dialogue manifest editor with preview and assisted French SRT cue creation
  • Cinematic manifest editor with camera keyframes, dialogue cues, and canvas preview
  • Dialogue manifest validation from the editor UI

Not Implemented Yet

  • mission system
  • zone system
  • gameplay-triggered dialogue branches beyond current prototype triggers
  • loading flow
  • minimap and mission HUD
  • full production separation between gameplay and debug scenes
  • production backend persistence for editor saves