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

This commit is contained in:
tom-boullay
2026-05-28 10:13:59 +02:00
parent d654565f87
commit d9cf87d2d6
14 changed files with 107 additions and 71 deletions
+2 -2
View File
@@ -27,11 +27,11 @@ export const GAME_STEPS: readonly GameStep[] = [
const GAME_STEP_VALUES: ReadonlySet<string> = new Set(GAME_STEPS);
export type MainGameState = "intro" | "bike" | "pylone" | "ferme" | "outro";
export type MainGameState = "intro" | "ebike" | "pylone" | "ferme" | "outro";
export const MAIN_GAME_STATES: readonly MainGameState[] = [
"intro",
"bike",
"ebike",
"pylone",
"ferme",
"outro",
+2 -2
View File
@@ -4,7 +4,7 @@ import type {
Vector3Tuple,
} from "@/types/three/three";
export type RepairMissionId = "bike" | "pylone" | "ferme";
export type RepairMissionId = "ebike" | "pylone" | "ferme";
export interface RepairMissionCaseConfig {
position: Vector3Tuple;
@@ -54,7 +54,7 @@ export type MissionStep =
| "reassembling"
| "done";
const REPAIR_MISSION_IDS = ["bike", "pylone", "ferme"] as const;
const REPAIR_MISSION_IDS = ["ebike", "pylone", "ferme"] as const;
const REPAIR_MISSION_ID_VALUES: ReadonlySet<string> = new Set(
REPAIR_MISSION_IDS,
);
+28 -2
View File
@@ -1,4 +1,6 @@
type TerrainSurfaceKind =
import type * as THREE from "three";
export type TerrainSurfaceKind =
| "grass"
| "path"
| "water"
@@ -6,7 +8,19 @@ type TerrainSurfaceKind =
| "dirt"
| "rock";
type TerrainSurfaceRgb = readonly [number, number, number];
export type TerrainSurfaceRgb = readonly [number, number, number];
export interface TerrainSurfaceUv {
u: number;
v: number;
}
export interface TerrainSurfaceProjectionConfig {
flipX?: boolean;
flipZ?: boolean;
offsetX?: number;
offsetZ?: number;
}
export interface TerrainSurfaceBounds {
minX: number;
@@ -23,3 +37,15 @@ export interface TerrainSurfaceColorConfig {
modelPath?: string;
tileSize?: number;
}
export interface TerrainSurfaceSample {
rgb: TerrainSurfaceRgb;
key: string | null;
config: TerrainSurfaceColorConfig | null;
}
export interface TerrainSurfaceData {
bounds: TerrainSurfaceBounds;
imageData: ImageData;
raycastTarget: THREE.Object3D;
}