test(world): Sperrflächen, Startpunkt und Parkwege gegen die Daten prüfen
Startpunkt und Fahrzeugpunkte stehen jetzt in src/world/spawn.js, damit ein Datentest sie lesen kann. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b736afb7ff
commit
5e445c5a3e
4 files changed
+88
-14
No files matched your search
+3
-14
@@ -9,6 +9,7 @@ import { createSky } from "./world/sky.js";
|
||||
import { createSunShadows, prepareLitMaterials } from "./world/shadows.js";
|
||||
import { PropLayer } from "./world/props.js";
|
||||
import { PLACES, PlaceLayer } from "./world/places.js";
|
||||
import { SPAWN, VEHICLE_SPAWN_POINTS } from "./world/spawn.js";
|
||||
import { chunkForWorld, threeToWorld } from "./world/coords.js";
|
||||
import { createCharacterModule } from "./characters/index.js";
|
||||
import { activeVehicleOrNull, playerIsGrounded, playerPosition } from "./player.js";
|
||||
@@ -69,20 +70,8 @@ water.rotation.x = -Math.PI / 2;
|
||||
water.position.set(500, -0.6, -1000);
|
||||
scene.add(water);
|
||||
|
||||
// Vice Beach, Rasen am Südrand des Parks (Beschriftungs-Plan, Task 7). Auch initPos, damit der Streamer von Anfang an den richtigen
|
||||
// Chunk anfragt statt erst nach dem späteren reset() umzuschwenken.
|
||||
const SPAWN = { x: 1600, y: 3, z: -690 };
|
||||
|
||||
// Task 11, Schritt 5: vier SUVs an echten Mittellinienpunkten aus chunk_10_7.json (derselbe
|
||||
// Chunk wie SPAWN), auf der Straße verteilt und weit genug von SPAWN entfernt, um den Spieler
|
||||
// beim Start nicht zu überlappen. y=1: kleine Fallhöhe bis zur Fahrbahn (y=0), die Federung
|
||||
// übernimmt den Rest — wie schon bei SPAWN selbst braucht es keine exakte Bodenhöhe im Voraus.
|
||||
const VEHICLE_SPAWNS = [
|
||||
new Vector3(1560, 1, -658),
|
||||
new Vector3(1590, 1, -659),
|
||||
new Vector3(1630, 1, -661),
|
||||
new Vector3(1655, 1, -663),
|
||||
];
|
||||
// Startpunkt und Fahrzeugpunkte stehen in src/world/spawn.js.
|
||||
const VEHICLE_SPAWNS = VEHICLE_SPAWN_POINTS.map(([x, y, z]) => new Vector3(x, y, z));
|
||||
// Konfiguration unverändert aus spawnShowcaseVehicles/VEHICLE_TUNING in
|
||||
// three-player-controller/example/showcase.js — dieselbe suv.glb, dieselbe Abstimmung.
|
||||
const VEHICLE_SCALE = 0.5;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// Startpunkt und Fahrzeugpunkte, aus src/main.js herausgelöst, damit tests/parkData.test.js sie gegen die
|
||||
// Chunk-Daten prüfen kann: main.js lädt beim Import Texturen und Modelle und lässt sich nicht in Tests laden.
|
||||
|
||||
// Vice Beach, Rasen am Südrand des Parks (Beschriftungs-Plan, Task 7). Seit Flamingo Park nach OpenStreetMap
|
||||
// (docs/superpowers/specs/2026-09-15-flamingo-park-design.md) liegt er im neu eingesetzten Park. Auch initPos,
|
||||
// damit der Streamer von Anfang an den richtigen Chunk anfragt statt erst nach dem späteren reset() umzuschwenken.
|
||||
export const SPAWN = { x: 1600, y: 3, z: -690 };
|
||||
|
||||
// Task 11, Schritt 5: vier SUVs an echten Mittellinienpunkten aus chunk_10_7.json (derselbe Chunk wie SPAWN),
|
||||
// auf der Straße verteilt und weit genug von SPAWN entfernt, um den Spieler beim Start nicht zu überlappen.
|
||||
// y=1: kleine Fallhöhe bis zur Fahrbahn (y=0), die Federung übernimmt den Rest. Als [x, y, three-z].
|
||||
export const VEHICLE_SPAWN_POINTS = [
|
||||
[1560, 1, -658],
|
||||
[1590, 1, -659],
|
||||
[1630, 1, -661],
|
||||
[1655, 1, -663],
|
||||
];
|
||||
Reference in new issue
Block a user