feat(world): Hood Yard im Spiel

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Haiku 4.5 committed 2026-09-14 11:35:17 +02:00
1 parent ef2001542a
commit 9f6570b11d
1 file changed
+5
+5
View File
@@ -8,6 +8,7 @@ import { createMaterials } from "./world/materials.js";
import { createSky } from "./world/sky.js";
import { createSunShadows } from "./world/shadows.js";
import { PropLayer } from "./world/props.js";
import { PlaceLayer } from "./world/places.js";
import { chunkForWorld, threeToWorld } from "./world/coords.js";
import { createCharacterModule } from "./characters/index.js";
import { activeVehicleOrNull, playerIsGrounded, playerPosition } from "./player.js";
@@ -236,6 +237,9 @@ await props.load();
// endlose Fall-Auffang-Schleife laufen, sobald der Chunk dauerhaft ausbleibt. Nach 15s gibt
// es nur noch eine einmalige Warnung, kein Verhaltenswechsel.
const streamer = new ChunkStreamer({ scene, player, materials, props, pinned: VEHICLE_PINNED_CHUNKS });
// Fest platzierte Modelle aus three-d-stage (src/world/places.js). Eigene Radien, damit ein Ort nur in
// der Szene ist, solange die Chunks unter ihm geladen sind.
const places = new PlaceLayer({ scene, player });
player.setSkipCapsuleCollision(true);
let settled = false;
let warnedSlowSpawn = false;
@@ -250,6 +254,7 @@ function tick(delta) {
// Sitzplatz-Offset, nicht die Weltposition (Begründung in src/player.js). Ohne diese
// Umstellung hört das Streaming beim Fahren auf nachzuladen.
streamer.update(playerPosition(player));
places.update(playerPosition(player));
if (!settled) {
// Ein Sprung vor dem ersten Boden — Karte und Panel sind schon vor props.load() bedienbar —
// ersetzt den Spawn als Startpunkt, statt beim Einrasten stillschweigend verloren zu gehen.