First wreck in the production world layer. A WreckActor (StaticBody3D) instantiates a two-LOD glTF visual, builds a trimesh collision from a separate lighter glTF, and carries the sonar metadata (metal, 0.9 reflectivity) so the bathymetry rays echo it. The sunlit shallows site places the MV Hebat Allah 62 m ahead of the submarine on the floor. The assets derive from a CC BY 4.0 photogrammetry scan by Holger Buss (Sketchfab). The raw 274 MB scan stays outside the repo; the committed GLBs come from a reproducible Blender pipeline under scripts/assets/: skirt cut, 44 m rescale, merge by distance (the scan is a triangle soup), fragment removal, 0.4 m voxel remesh, decimation to 58k/14.5k/2.9k triangles, smart UVs and a 2K albedo rebaked from a luminance-rebuilt texture (the scan's red channel is dead). docs/ASSET_LICENSES.md starts the licence registry required by the design plan and records the attribution owed in the credits. The site suite gains twelve assertions covering sonar metadata, collision, LOD handover and triangle budgets. Godot extracts the embedded albedo next to the glb on import; those PNGs are ignored like the cockpit ones. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Ransom’s Wake
La première tranche de pilotage de la verticale est désormais la scène
principale. Nouvelle partie ouvre un court parcours sous-marin en vue cockpit :
le clavier pilote une coque inertielle, la souris déplace seulement le regard et
les snapshots du domaine alimentent les instruments physiques à 60 Hz.
Les POC A et B restent disponibles comme références jetables ; aucun code de
production sous game/ n'en dépend.
Fondations de production
- Renderer Forward+ unique.
- Règles de plongée résolues selon améliorations, difficulté et accessibilité.
- Oxygène, batterie, coque, pression, alertes et éjection possédés par
DiveSession. - Contrats séparés pour tick, télémétrie, collisions, outils et retour.
DiveUpdatecohérent composé d'un snapshot et d'événements typés.- Acteur sous-marin de production derrière des contrats de commande et de télémétrie typés.
- Habitacle 3D solidaire de la coque : hublot à cloison annulaire bombée, consoles, commandes, éclairage, structure de coque renforcée, conduites, jauges analogiques graduées, tableau d'instruments structuré et emplacement réservé au sonar.
- Instruments physiques à valeurs réelles ; le HUD reste réservé aux alertes, à l'éjection et aux états terminaux.
- Pause qui suspend les ticks, confirmations de sortie et premier remappage avec détection des conflits.
- Première boucle sonar de production : acquisition bathymétrique typée, relief révélé progressivement et texture unique partagée entre cockpit et grande vue.
La tranche sonar reste en cours : la calibration face au faisceau frontal et la décision d'acquisition autoritaire ne sont pas encore terminées.
Prototypes validés
Le POC A validé couvre le pilotage et la survie. Le POC B validé couvre un sonar manuel reconstruisant progressivement une carte bathymétrique 3D continue.
POC A — périmètre validé
- Pilotage 3D inertiel depuis l'habitacle, derrière un hublot circulaire.
- Oxygène consommé en continu.
- Batterie consommée uniquement sous propulsion.
- Profondeur nominale, zone critique et rupture de coque.
- Dégâts de collision.
- Alarmes visuelles et sonores.
- Estimation du coût de retour.
- Éjection volontaire.
- Parcours whitebox en trois étapes.
Le sonar, les épaves, le commerce, la narration et les sauvegardes de campagne sont volontairement absents.
POC B — périmètre validé
- Zone de calibration avec fond sculpté, passage et objet métallique.
- Scan manuel de 2,5 secondes, révélé du proche vers le lointain.
- Surface bathymétrique continue, ombrée et colorée selon l'altitude.
- Portée de 95 mètres sur une ouverture de 76°.
- Petit écran de cockpit et grande vue partageant le même rendu.
- Ancien scan remplacé progressivement par le nouveau.
Prérequis
- Godot 4.7.2.
Lancer
Depuis le dossier du projet :
godot --editor --path .
Ou lancer directement la fondation de production :
godot --path .
Pour relancer les POC validés :
godot --path . --scene res://scenes/poc_a.tscn
godot --path . --scene res://scenes/poc_b.tscn
Contrôles de la tranche de production
| Touche | Action |
|---|---|
| W / S | Avancer / reculer |
| A / D | Tourner à gauche / droite |
| Espace / Ctrl | Monter / descendre |
| Maj | Forte poussée |
| Souris | Déplacer le regard dans le hublot uniquement |
| X maintenu | Éjection volontaire |
| R | Recentrer le regard |
| F | Émettre un relevé sonar |
| Tab | Agrandir / réduire le sonar |
| Échap | Pause / retour |
Les commandes propres aux POC restent décrites dans leurs documents respectifs.
Tests
Barrière qualité complète obligatoire :
bash scripts/quality_gate.sh
Elle vérifie les frontières d'architecture, charge tous les scripts et scènes, puis exécute les tests unitaires et d'intégration.
Le workflow Gitea Actions .gitea/workflows/quality-gate.yml exécute cette
même commande sur chaque push vers main, chaque pull request visant main et
à la demande. Il utilise le runner natif portant le label deploy-production,
avec bash, curl, git, node, rg, sha512sum et unzip installés.
Godot 4.7.2 est vérifié puis conservé dans le cache du compte runner afin
d'éviter un téléchargement à chaque exécution. Après sa première exécution
réussie, le contrôle Quality Gate doit être rendu obligatoire dans la
protection de la branche main.
Commandes individuelles pour diagnostic :
godot --headless --path . --script res://tests/run_tests.gd
godot --headless --path . --script res://tests/unit/run_dive_foundation_tests.gd
godot --headless --path . --script res://tests/unit/run_vehicle_application_tests.gd
godot --headless --path . --script res://tests/integration/run_vertical_slice_foundation.gd
Test d'intégration du POC B :
godot --headless --path . --script res://tests/run_poc_b_integration.gd
Documents
- Plan général : docs/GAME_DESIGN_PLAN.md
- Objectifs et protocole du POC : docs/POC_A.md
- Bilan technique du POC A : docs/POC_A_TECHNICAL_BASELINE.md
- Objectifs et protocole du POC B : docs/POC_B.md
- Bilan technique du POC B : docs/POC_B_TECHNICAL_BASELINE.md
- Barrières techniques de production : docs/ENGINEERING_GUARDRAILS.md
- Cadrage technique de la verticale : docs/VERTICAL_SLICE_TECHNICAL_PLAN.md
- Design system UI de la verticale : docs/UI_DESIGN_SYSTEM.md
- Propositions visuelles UI : Design-Proposal/README.md
- Décisions d'architecture : docs/adr/