Feat/repair game #2

Merged
math-pixel merged 46 commits from feat/repair-game into develop 2026-05-11 15:33:19 +00:00
Owner

Summary

This PR implements the reusable production repair-game flow for the bike, pylone, and ferme missions.
It adds the full repair sequence:
waiting -> inspected -> fragmented -> scanning -> repairing -> reassembling -> done -> next mission

What Changed

  • Added reusable RepairGame mission flow mounted in the production game scene.
  • Added mission-specific repair configs for bike, pylone, and ferme.
  • Added scan sequence on fragmented models with per-part scan visuals.
  • Added broken-part detection, red highlight, and centered cassé.webm prompt.
  • Added focused repair-case view during repair.
  • Added repair-case placeholder traversal using placeholder_* nodes.
  • Added grabbable replacement parts with snap-to-placeholder placement.
  • Added broken-part deposit requirement before final repair validation.
  • Added inverse reassembly animation with completion particles.
  • Added mission-specific variants:
    • bike: cooling core repair
    • pylone: lamp relay + damaged panel, slower scan/reassembly timing
    • ferme: irrigation pump + humidity sensor, faster scan/reassembly timing
  • Fixed Linux CI casing issue for Logger.ts.
  • Updated user and technical documentation.

Architecture Notes

  • The repair flow remains data-driven through src/data/gameplay/repairMissions.ts.
  • RepairGame stays mission-agnostic and avoids mission-specific branching.
  • Mission differences are handled through config:
    • broken nodes
    • placeholder targets
    • scan timing
    • reassembly timing
    • replacement choices
  • Rapier physics remains scoped to production stage gameplay objects only.
  • Player/map octree collision remains unchanged.

Validation

Passed locally:

rtk npm run lint:fix
rtk npm run format
rtk npm run typecheck
rtk npm run build
Known Notes
- Vite still reports the existing large chunk warning.
- packderelance placeholder support is implemented, but the current local GLTF did not expose placeholder_* nodes during inspection. Fallback placeholder positions are used until the asset includes them.
## Summary This PR implements the reusable production repair-game flow for the `bike`, `pylone`, and `ferme` missions. It adds the full repair sequence: `waiting -> inspected -> fragmented -> scanning -> repairing -> reassembling -> done -> next mission` ## What Changed - Added reusable `RepairGame` mission flow mounted in the production game scene. - Added mission-specific repair configs for `bike`, `pylone`, and `ferme`. - Added scan sequence on fragmented models with per-part scan visuals. - Added broken-part detection, red highlight, and centered `cassé.webm` prompt. - Added focused repair-case view during repair. - Added repair-case placeholder traversal using `placeholder_*` nodes. - Added grabbable replacement parts with snap-to-placeholder placement. - Added broken-part deposit requirement before final repair validation. - Added inverse reassembly animation with completion particles. - Added mission-specific variants: - `bike`: cooling core repair - `pylone`: lamp relay + damaged panel, slower scan/reassembly timing - `ferme`: irrigation pump + humidity sensor, faster scan/reassembly timing - Fixed Linux CI casing issue for `Logger.ts`. - Updated user and technical documentation. ## Architecture Notes - The repair flow remains data-driven through `src/data/gameplay/repairMissions.ts`. - `RepairGame` stays mission-agnostic and avoids mission-specific branching. - Mission differences are handled through config: - broken nodes - placeholder targets - scan timing - reassembly timing - replacement choices - Rapier physics remains scoped to production stage gameplay objects only. - Player/map octree collision remains unchanged. ## Validation Passed locally: ```bash rtk npm run lint:fix rtk npm run format rtk npm run typecheck rtk npm run build Known Notes - Vite still reports the existing large chunk warning. - packderelance placeholder support is implemented, but the current local GLTF did not expose placeholder_* nodes during inspection. Fallback placeholder positions are used until the asset includes them.
math-pixel added 44 commits 2026-05-11 15:24:15 +00:00
fix: a pb with octree
🔍 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
0d9de0c403
math-pixel added 2 commits 2026-05-11 15:32:51 +00:00
fix: lint and format
🔍 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
3893121df3
math-pixel merged commit 1616f9ed02 into develop 2026-05-11 15:33:19 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: math-pixel/La-Fabrik#2