feat(characters): populate residential zones
🔍 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

This commit is contained in:
Tom Boullay
2026-06-01 00:09:39 +02:00
parent a8cd66dcaa
commit 7dff4a1238
2 changed files with 85 additions and 8 deletions
+76 -1
View File
@@ -1,6 +1,15 @@
import type { Vector3Tuple } from "@/types/three/three";
export type CharacterId = "electricienne" | "gerant" | "fermier";
export type CharacterId =
| "electricienne"
| "gerant"
| "fermier"
| "zone1_habitant1"
| "zone1_habitant2"
| "zone2_habitant1"
| "zone2_habitant2"
| "zone3_habitant1"
| "zone3_habitant2";
export interface CharacterConfig {
id: CharacterId;
@@ -44,10 +53,76 @@ export const CHARACTER_CONFIGS = {
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone1_habitant1: {
id: "zone1_habitant1",
label: "Zone 1 - Habitant 1",
modelPath: "/models/habitant1-animated/model.gltf",
position: [-43.64, 0, -16.72],
rotation: [0, -1.23, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone1_habitant2: {
id: "zone1_habitant2",
label: "Zone 1 - Habitant 2",
modelPath: "/models/habitant2-animated/model.gltf",
position: [-43.46, 0, -4.93],
rotation: [0, -2.42, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone2_habitant1: {
id: "zone2_habitant1",
label: "Zone 2 - Habitant 1",
modelPath: "/models/habitant1-animated/model.gltf",
position: [-3.41, 0, 73.01],
rotation: [0, 1.97, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone2_habitant2: {
id: "zone2_habitant2",
label: "Zone 2 - Habitant 2",
modelPath: "/models/habitant2-animated/model.gltf",
position: [-2.22, 0, 60.59],
rotation: [0, 0.86, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone3_habitant1: {
id: "zone3_habitant1",
label: "Zone 3 - Habitant 1",
modelPath: "/models/habitant1-animated/model.gltf",
position: [82.52, 0, -29.01],
rotation: [0, -0.89, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
zone3_habitant2: {
id: "zone3_habitant2",
label: "Zone 3 - Habitant 2",
modelPath: "/models/habitant2-animated/model.gltf",
position: [92.95, 0, -18.1],
rotation: [0, -1.59, 0],
scale: [1.55, 1.55, 1.55],
animations: ["idle", "walk"],
defaultAnimation: "idle",
},
} satisfies Record<CharacterId, CharacterConfig>;
export const CHARACTER_IDS = [
"electricienne",
"gerant",
"fermier",
"zone1_habitant1",
"zone1_habitant2",
"zone2_habitant1",
"zone2_habitant2",
"zone3_habitant1",
"zone3_habitant2",
] as const satisfies readonly CharacterId[];