feat(repair): align mission data with new pylone glb and broken-part workflow

- Update pylone path references from /models/pylone/model.gltf to .glb
  (galleryModels, mapInstancingConfig, repairMissions). The new glb
  exports a single cable node 'cable2' (no cable1).
- Pylon brokenParts: drop lampe and panneau2; the pylon design no longer
  has detached broken pieces (the cable is just missing from the model).
- Pylon replacement cables target the pylon's 'cable2' node world position
  via targetNodeName (used by the upcoming broken-anchor wiring).
- Ebike refroidisseur replacement and brokenPart both target the bike's
  'refroidisseur' node so the broken piece spawns from its original
  location and the replacement can install in the same slot.
This commit is contained in:
Tom Boullay
2026-06-02 19:01:47 +02:00
parent 5b123f9704
commit 4de86f4e58
3 changed files with 8 additions and 17 deletions
+6 -15
View File
@@ -32,6 +32,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
label: "Cooling core",
modelPath: "/models/refroidisseur/model.gltf",
nodeName: "refroidisseur",
targetNodeName: "refroidisseur",
caseSlotName: "placeholder_1",
},
],
@@ -41,6 +42,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
label: "Refroidisseur",
modelPath: "/models/refroidisseur/model.gltf",
caseAnchor: "refroidisseur",
targetNodeName: "refroidisseur",
},
{
id: "ebike-cable-right-distractor",
@@ -73,7 +75,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
label: "Power pylon",
description:
"Restore the pylon lamp relay and damaged panel before reconnecting the grid",
modelPath: "/models/pylone/model.gltf",
modelPath: "/models/pylone/model.glb",
stageUiPath: "/assets/world/UI/pylon-mission-notification.webm",
interactUiPath: REPAIR_INTERACT_UI_PATH,
brokenUiPath: REPAIR_BROKEN_UI_PATH,
@@ -84,20 +86,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
"pylon-cable-left-replacement",
],
scanPartSeconds: 1.4,
brokenParts: [
{
id: "pylon-grid-relay",
label: "Grid relay",
nodeName: "lampe",
caseSlotName: "placeholder_1",
},
{
id: "pylon-damaged-panel",
label: "Damaged solar panel",
nodeName: "panneau2",
caseSlotName: "placeholder_2",
},
],
brokenParts: [],
replacementParts: [
{
id: "pylon-cable-right-replacement",
@@ -105,6 +94,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
modelPath: "/models/cable1/model.gltf",
caseAnchor: "cabledroit",
caseLockGroup: "pylon-cable",
targetNodeName: "cable2",
},
{
id: "pylon-cable-left-replacement",
@@ -112,6 +102,7 @@ export const REPAIR_MISSIONS: Record<RepairMissionId, RepairMissionConfig> = {
modelPath: "/models/cable2/model.gltf",
caseAnchor: "cablegauche",
caseLockGroup: "pylon-cable",
targetNodeName: "cable2",
},
{
id: "pylon-cooling-distractor",