chore(debug): tune physics test scene and drop noisy waypoint logs
Lower grabbable spawn, expose GPS preview position/rotation as constants, fix physics spawn to use PLAYER_EYE_HEIGHT, and silence the console.log noise around waypoint loading in TestMap. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,13 +1,15 @@
|
|||||||
import type { Vector3Tuple } from "@/types/three/three";
|
import type { Vector3Tuple } from "@/types/three/three";
|
||||||
import type { RepairMissionId } from "@/types/gameplay/repairMission";
|
import type { RepairMissionId } from "@/types/gameplay/repairMission";
|
||||||
|
|
||||||
|
const DEG_TO_RAD = Math.PI / 180;
|
||||||
|
|
||||||
export const TEST_SCENE_FLOOR_POSITION: Vector3Tuple = [0, -0.5, 0];
|
export const TEST_SCENE_FLOOR_POSITION: Vector3Tuple = [0, -0.5, 0];
|
||||||
export const TEST_SCENE_FLOOR_SIZE: Vector3Tuple = [200, 1, 200];
|
export const TEST_SCENE_FLOOR_SIZE: Vector3Tuple = [200, 1, 200];
|
||||||
export const TEST_SCENE_FLOOR_COLLIDER_HALF_EXTENTS: Vector3Tuple = [
|
export const TEST_SCENE_FLOOR_COLLIDER_HALF_EXTENTS: Vector3Tuple = [
|
||||||
100, 0.5, 100,
|
100, 0.5, 100,
|
||||||
];
|
];
|
||||||
|
|
||||||
export const TEST_SCENE_GRABBABLE_POSITION: Vector3Tuple = [0, 1, -3];
|
export const TEST_SCENE_GRABBABLE_POSITION: Vector3Tuple = [0, 0.25, -3];
|
||||||
export const TEST_SCENE_GRABBABLE_BOX_SIZE: Vector3Tuple = [0.5, 0.5, 0.5];
|
export const TEST_SCENE_GRABBABLE_BOX_SIZE: Vector3Tuple = [0.5, 0.5, 0.5];
|
||||||
export const TEST_SCENE_GRABBABLE_COLOR = "#e07b39";
|
export const TEST_SCENE_GRABBABLE_COLOR = "#e07b39";
|
||||||
export const TEST_SCENE_GRABBABLE_ROUGHNESS = 0.6;
|
export const TEST_SCENE_GRABBABLE_ROUGHNESS = 0.6;
|
||||||
@@ -23,6 +25,12 @@ export const TEST_SCENE_TRIGGER_METALNESS = 0.5;
|
|||||||
|
|
||||||
export const TEST_SCENE_REPAIR_ZONE_MARKER_RADIUS = 1.65;
|
export const TEST_SCENE_REPAIR_ZONE_MARKER_RADIUS = 1.65;
|
||||||
export const TEST_SCENE_REPAIR_ZONE_MARKER_TUBE_RADIUS = 0.045;
|
export const TEST_SCENE_REPAIR_ZONE_MARKER_TUBE_RADIUS = 0.045;
|
||||||
|
export const TEST_SCENE_GPS_PREVIEW_POSITION: Vector3Tuple = [0, 5, -4.8];
|
||||||
|
export const TEST_SCENE_GPS_PREVIEW_ROTATION: Vector3Tuple = [
|
||||||
|
-33 * DEG_TO_RAD,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
];
|
||||||
|
|
||||||
export const GAME_REPAIR_ZONES = [
|
export const GAME_REPAIR_ZONES = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,4 +20,8 @@ export const PLAYER_SPAWN_POSITION_GAME: Vector3Tuple = [
|
|||||||
LA_FABRIK_PLAYER_SPAWN[1],
|
LA_FABRIK_PLAYER_SPAWN[1],
|
||||||
LA_FABRIK_PLAYER_SPAWN[2] - 1,
|
LA_FABRIK_PLAYER_SPAWN[2] - 1,
|
||||||
];
|
];
|
||||||
export const PLAYER_SPAWN_POSITION_PHYSICS: Vector3Tuple = [0, 3, 0];
|
export const PLAYER_SPAWN_POSITION_PHYSICS: Vector3Tuple = [
|
||||||
|
0,
|
||||||
|
PLAYER_EYE_HEIGHT,
|
||||||
|
0,
|
||||||
|
];
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ export function getMapLodModelPath(modelName: string): string | null {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export const MAP_LOD_SCALE_MULTIPLIERS = {
|
export const MAP_LOD_SCALE_MULTIPLIERS = {
|
||||||
sapin: 0.35,
|
sapin: 0.35,
|
||||||
buisson: 0.7,
|
buisson: 0.7,
|
||||||
|
|||||||
+10
-15
@@ -17,6 +17,8 @@ import {
|
|||||||
TEST_SCENE_GRABBABLE_METALNESS,
|
TEST_SCENE_GRABBABLE_METALNESS,
|
||||||
TEST_SCENE_GRABBABLE_POSITION,
|
TEST_SCENE_GRABBABLE_POSITION,
|
||||||
TEST_SCENE_GRABBABLE_ROUGHNESS,
|
TEST_SCENE_GRABBABLE_ROUGHNESS,
|
||||||
|
TEST_SCENE_GPS_PREVIEW_POSITION,
|
||||||
|
TEST_SCENE_GPS_PREVIEW_ROTATION,
|
||||||
GAME_REPAIR_ZONES,
|
GAME_REPAIR_ZONES,
|
||||||
TEST_SCENE_REPAIR_ZONE_MARKER_RADIUS,
|
TEST_SCENE_REPAIR_ZONE_MARKER_RADIUS,
|
||||||
TEST_SCENE_REPAIR_ZONE_MARKER_TUBE_RADIUS,
|
TEST_SCENE_REPAIR_ZONE_MARKER_TUBE_RADIUS,
|
||||||
@@ -110,24 +112,17 @@ export function TestMap({ onOctreeReady }: TestMapProps): React.JSX.Element {
|
|||||||
try {
|
try {
|
||||||
const parsed = JSON.parse(saved);
|
const parsed = JSON.parse(saved);
|
||||||
if (Array.isArray(parsed) && parsed.length > 0) {
|
if (Array.isArray(parsed) && parsed.length > 0) {
|
||||||
console.log(
|
|
||||||
`[TestMap] ${parsed.length} waypoints chargés depuis localStorage.`,
|
|
||||||
);
|
|
||||||
// Schedule state update to avoid synchronous setState in effect
|
// Schedule state update to avoid synchronous setState in effect
|
||||||
queueMicrotask(() => {
|
queueMicrotask(() => {
|
||||||
if (!cancelled) setWaypoints(parsed);
|
if (!cancelled) setWaypoints(parsed);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch {
|
||||||
console.error("Failed to parse local storage waypoints", e);
|
// Ignore parse errors — fall through to fetch fallback
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Try public/roadNetwork.json
|
|
||||||
console.log(
|
|
||||||
"[TestMap] Tentative de chargement depuis /roadNetwork.json...",
|
|
||||||
);
|
|
||||||
fetch("/roadNetwork.json")
|
fetch("/roadNetwork.json")
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.ok) return res.json();
|
if (res.ok) return res.json();
|
||||||
@@ -136,14 +131,11 @@ export function TestMap({ onOctreeReady }: TestMapProps): React.JSX.Element {
|
|||||||
.then((data) => {
|
.then((data) => {
|
||||||
if (cancelled) return;
|
if (cancelled) return;
|
||||||
if (Array.isArray(data)) {
|
if (Array.isArray(data)) {
|
||||||
console.log(
|
|
||||||
`[TestMap] ${data.length} waypoints chargés depuis /roadNetwork.json.`,
|
|
||||||
);
|
|
||||||
setWaypoints(data);
|
setWaypoints(data);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch(() => {
|
||||||
console.log("[TestMap] Aucun point d'A* trouvé par défaut.", err);
|
// No A* waypoints available — silent fallback
|
||||||
});
|
});
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
@@ -253,7 +245,10 @@ export function TestMap({ onOctreeReady }: TestMapProps): React.JSX.Element {
|
|||||||
</Physics>
|
</Physics>
|
||||||
|
|
||||||
{/* Dynamic Futuristic 3D GPS Dashboard Preview */}
|
{/* Dynamic Futuristic 3D GPS Dashboard Preview */}
|
||||||
<group position={[0, 2.8, -4.8]} rotation={[0, 0, 0]}>
|
<group
|
||||||
|
position={TEST_SCENE_GPS_PREVIEW_POSITION}
|
||||||
|
rotation={TEST_SCENE_GPS_PREVIEW_ROTATION}
|
||||||
|
>
|
||||||
{/* Futuristic glowing screen frame (commented out to show true 3D transparency!) */}
|
{/* Futuristic glowing screen frame (commented out to show true 3D transparency!) */}
|
||||||
{/*
|
{/*
|
||||||
<mesh>
|
<mesh>
|
||||||
|
|||||||
Reference in New Issue
Block a user