Tom Boullay
bc862960a7
fix(settings): persist pause menu preferences
2026-06-01 01:32:36 +02:00
Tom Boullay
34c198ebfd
feat(world): add map lod graphics presets
2026-05-31 19:03:55 +02:00
Tom Boullay
7c691a8044
fix: show dialogue subtitles on black screen
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-30 20:25:21 +02:00
Tom Boullay
07b09c22af
fix(site): repair onboarding audio cleanup, redirect, and manifest fetches
...
- loadDialogueManifest: cache the resolved manifest at module level and
dedupe concurrent fetches so each screen no longer re-downloads it
- useGameStore: completeIntroState now also advances intro.currentStep
to "playing" so callers do not need a separate setIntroStep call
- SiteNamingScreen and SiteTransitionOverlay: replace ref-based guards
with an isCancelled flag captured per effect. The previous guards
persisted across StrictMode remounts, leaving mount 2 unable to
re-run the effect after mount 1's chain was cancelled, which broke
the fade animations, the second narrator dialogue and the redirect.
Both screens now also call stopCurrentDialogue on unmount so audio
cannot bleed across routes, and the transition gets a safety timeout
in case the dialogue audio fails to fire its "ended" event
- SiteTransitionOverlay: keep the <Subtitles /> mount inside the
overlay so it renders inside the z-index 1000 stacking context
(above the black screen); the one in SiteLayout sits behind it
- IntroDialogueOverlay: route through playDialogueById instead of
AudioManager.playSoundWithCallback so the narrator subtitles play
in sync, and add the same isCancelled cleanup pattern
- IntroRevealOverlay: rely on completeIntro alone now that it advances
intro.currentStep, and skip the fade when reduced motion is requested
- SiteMobileBlocker: correct logo path from public/... to /...
2026-05-30 18:43:53 +02:00
Tom Boullay
0f6860f1ae
refactor(site): extract shared utilities and centralise dialogue IDs
...
- new src/hooks/ui/useIsMobile.ts (matchMedia + useSyncExternalStore)
replacing the resize-handler hook inlined inside pages/site/page.tsx
- new src/hooks/ui/usePrefersReducedMotion.ts
- new src/data/site/dialogueIds.ts so site and intro components stop
carrying hard-coded narrator IDs
- siteConfig: add SITE_BACKGROUND_STYLE shared by SiteLayout and
SiteMobileBlocker, rename forcedName to presetPlayerName, fix the
swapped id/label pairing on situation cards
- useSiteStore: rename selectedExperience/Situation to *Index so the
stored value (an array index) is obvious in callers
- audioConfig: drop dead AUDIO_PATHS placeholders
- propagate the renames and SITE_BACKGROUND_STYLE through SiteLayout,
SiteWelcomeScreen, SiteSituationScreen and pages/site/page.tsx
2026-05-30 18:43:35 +02:00
Tom Boullay
a2cff0567e
feat: add site onboarding route
2026-05-30 04:00:09 +02:00
Tom Boullay
4c5e2ed945
feat(types): add SiteStep and refactor GameStep for new intro flow
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-30 02:14:10 +02:00
Tom Boullay
89044a18ec
merge develop into feat/map-environment
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-29 01:45:08 +02:00
Tom Boullay
093ffd726d
fix(review): address audit findings before merge
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-29 01:23:08 +02:00
Tom Boullay
343a122c06
fix(editor): restore stable map editing behavior
2026-05-29 00:52:44 +02:00
tom-boullay
d5675fe82c
feat: restaure l'éditeur map et ajoute les personnages
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-28 15:49:57 +02:00
tom-boullay
9bbed06ddc
feat: ancre les réparations sur la map chargée
2026-05-28 15:47:53 +02:00
tom-boullay
ba50224e6e
refactor: nettoie l'architecture monde et les docs
2026-05-28 15:47:16 +02:00
tom-boullay
1a91b1d7ae
refactor: clean map gameplay architecture
2026-05-28 11:15:45 +02:00
tom-boullay
d9cf87d2d6
feat: launch ebike repair from map interaction
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-28 10:13:59 +02:00
Tom Boullay
d654565f87
chore: address code quality audit findings
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-28 08:31:42 +02:00
tom-boullay
3eba38a80b
fix: ebike
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-27 17:21:11 +02:00
Tom Boullay
25e0f7e062
feat(environment): add adaptive atmospheric fog
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
2026-05-27 00:54:17 +02:00
Tom Boullay
4ebb5b8c25
feat(environment): add wind-driven cloud system
2026-05-27 00:33:53 +02:00
tom-boullay
e4ee2d768b
feat(debug): add map performance visibility controls
2026-05-21 15:38:23 +02:00
tom-boullay
4f25b33d3b
feat(debug): persist and reset debug game state
2026-05-21 12:09:12 +02:00
math-pixel
cff7744ad9
wip
2026-05-17 07:41:29 +02:00
Tom Boullay
1d3aa1c9f2
add: world config (wind, graphics, terrain, fog)
2026-05-13 15:00:13 +02:00
math-pixel
ceffedf684
fix : lint
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
2026-05-12 16:51:35 +02:00
math-pixel
8d197ba26b
PR: refactor state game
2026-05-12 13:47:05 +02:00
Tom Boullay
2c3f0db65b
refactor: move mission flow state into game store
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
2026-05-11 18:02:00 +02:00
Tom Boullay
91ebea8d99
Merge remote-tracking branch 'origin/develop' into feat/mission-2
...
# Conflicts:
# package-lock.json
# package.json
# src/App.tsx
# src/components/three/interaction/CentralObject.tsx
# src/components/three/interaction/VillageoisHelperObject.tsx
# src/managers/GameStepManager.ts
# src/stateManager/AudioManager.ts
# src/world/World.tsx
# src/world/player/PlayerController.tsx
2026-05-11 17:46:42 +02:00
Tom Boullay
711c336f1e
Merge branch 'develop' into feat/repair-game
2026-05-11 17:31:14 +02:00
Tom Boullay
1ad4a164ea
fix: clarify repair mission locked flow
2026-05-11 12:10:35 +02:00
Tom Boullay
4218fde63a
update: add runtine camera keyframe
2026-05-11 11:13:49 +02:00
Tom Boullay
a93d2dc92c
update: audimanager
2026-05-11 10:22:12 +02:00
math-pixel
e8fb859f79
update
2026-05-11 08:56:54 +02:00
Tom Boullay
5889a325ec
update: add stereo
2026-05-10 00:50:34 +01:00
Tom Boullay
53fdf3cb1e
update: play audio + srt sync
2026-05-10 00:07:56 +01:00
Tom Boullay
974f1e33fb
add: settings menu + menu store
2026-05-09 23:45:05 +01:00
Tom Boullay
ce67d07107
add: global cat volumes
2026-05-09 23:37:07 +01:00
Tom Boullay
53add29a48
add: type audio playback cat
2026-05-09 23:30:14 +01:00
Tom Boullay
6d9eac291e
big clean up
2026-05-08 03:02:26 +01:00
Tom Boullay
ead3634aab
add: animate repair reassembly
2026-05-08 02:40:31 +01:00
Tom Boullay
eee69825c6
clean: remove obsolete repair debug code + unused core utilities
2026-05-08 02:07:03 +01:00
Tom Boullay
8fa4b087ba
update: add generic repair mission store helpers
2026-05-08 01:09:42 +01:00
Tom Boullay
eef39ab53d
update: debug overlay layout controls
2026-05-01 23:39:04 +02:00
Tom Boullay
a87ffac63f
Merge branch 'develop' into feat/main-feature
2026-04-30 15:48:35 +02:00
Tom Boullay
a14f776e5d
address zustand progression review feedback
2026-04-30 14:59:41 +02:00
Tom Boullay
7c7dbdb588
connect game progression state to world
2026-04-30 14:24:59 +02:00
Tom Boullay
2696289483
add zustand game progression store
2026-04-30 14:04:01 +02:00
Tom Boullay
b1187b68ae
refactor: split hooks types and utils by domain
2026-04-30 11:49:18 +02:00
Tom Boullay
92097e5256
feat: add game music loop and mallette sounds
2026-04-30 10:06:00 +02:00
Tom Boullay
01c583ba96
refactor: prepare main feature gameplay object and use GLB sky model
2026-04-30 10:02:00 +02:00
Tom Boullay
7958b2c62a
fix: decouple hand tracking from crosshair focus
2026-04-29 11:13:11 +02:00