Commit Graph
3 Commits
Author SHA1 Message Date
knsoandClaude Sonnet 5 f7041dab91 feat(world): Chunk-Streaming mit Collider-Verwaltung und Auffangnetz
wantedChunks() liefert Lade-/Entladelisten mit Hysterese (Laderadius 400,
Entladeradius 600) um die Spielerposition; ChunkStreamer holt Chunks per
fetch, baut sie über buildChunkGeometry() (Task 7) zu Meshes, registriert
die Kollisionsschicht (ground/bridges/buildings) beim Player-Controller
mit asynchronem BVH-Bau und meldet über isReadyAt() wann ein Collider
tatsächlich einsatzbereit ist. Straßen/Sand/Park/Stadtfläche bleiben reine
Auflagen ohne eigene Kollision.

main.js schwebt die Figur kollisionsfrei am Spawn (Vice Beach), bis ihr
Chunk bereit ist oder 15s vergangen sind, und fängt jeden tieferen
Durchfall über ein Auffangnetz ab, das zur letzten sicheren Höhe
zurücksetzt. Der alte Platzhalter-Boden (400x400-Ebene samt Collider)
entfällt zugunsten der echten gestreamten Welt.

Der zweite Testfall aus dem Task-Brief hatte einen Datenfehler: die
"near"-Position {x:1375,z:-1375} traf exakt das Zentrum von Chunk 9_4
(Distanz zu Chunk 5_5 ca. 1030, weit jenseits des Entladeradius 600) und
ließ die eigene Behauptung "not.toContain" fehlschlagen, sobald
streaming.js existierte (RED belegt im Task-8-Report). Position auf
{x:875,z:-1125} korrigiert, exakt 500 Einheiten von Chunk 5_5 entfernt —
außerhalb von 400, innerhalb von 600 — und damit die Hysterese, die der
Testname behauptet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 20:18:54 +02:00
knsoandClaude Sonnet 5 fbe9b18b5e fix: Pflichtoption controls an player.init übergeben
player.init wirft ohne controls einen TypeError, da CameraSystem und
InputSystem intern auf controls.domElement/.target zugreifen (siehe
three-player-controller/src/systems/CameraSystem.ts,
three-player-controller/src/systems/InputSystem.ts). Eine
OrbitControls-Instanz auf renderer.domElement schließt die Lücke; der
Controller übernimmt die eigentliche Kamerasteuerung ohnehin selbst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 13:42:11 +02:00
knsoandClaude Sonnet 5 b27b9b7a61 feat: App-Gerüst mit Spieler auf Testfläche
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 13:28:09 +02:00