adityanandanx / adityanandanx/nightcall

Build: production terrain engine from the LOD prototype

Aberta
#7 0 comentários 0 reações 0 responsáveis Ver no GitHub
wayfinder:task
Linguagem predominante
Sem dados de linguagem
Estrelas
0
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Part of #1

## Question

Take the validated prototype branch `prototype/lod-quadtree` (ticket #6, commit 4dafb65 — quad-locked SSE quadtree + LRU TileCache + skirt crack-mitigation) and turn it into the production terrain engine: fully crack-free LOD transitions, streaming performance, and a clean module split ready for the physics map.

## Scope

- **Crack-free seam upgrade:** replace skirt-only mitigation with **edge-matched child-from-parent upsampling** (per research #4: Navara `upsample/mod.rs` / Cesium child-from-parent) so a child tile reuses its parent's exact boundary vertices — cracks eliminated at LOD transitions, not hidden. Keep skirts as the eviction-time gap layer.
- **Horizon occlusion gate** (research #4: `EllipsoidalOccluder`) so we stop streaming tiles around the far side of the globe; add frustum culling.
- **Decode on a Worker** (research #4: Navara worker split) so big tile fetches don't jank the render thread; transfer typed arrays.
- **Geometry pooling + eviction GC:** dispose GPU buffers on cache eviction (already signaled via `onEvict`), keep byte budget bounded while orbiting fast.
- **Module split finalized** per research #4: `decode/` `tile-cache/` `lod-selector/` `geometry-builder/` (RTC) `threeLayer/` — matching what the physics map (react-three-rapier colliders from own triangles) will consume.
- Keep RTC-center geometry (float64/float precision at globe scale).

## Deliverable

A branch off `prototype/lod-quadtree` with the engine refactor; zoom orbit from space to ~1 km altitude stays smooth (no jank, bounded cache, crack-free seams), verified in-browser. This is the base the physics map builds on.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Start on the `prototype/lod-quadtree` branch from ticket #6 (commit 4dafb65) and review the terrain flow in `decode/`, `tile-cache/`, `lod-selector/`, `geometry-builder/`, and `threeLayer/`. Next inspect current seam handling, cache eviction (`onEvict`) paths, and thread/worker boundaries to identify where to apply parent-child upsampling, horizon frustum culling, and typed-array transfer. No tests are named, so verify by running/in-browser testing from space to ~1 km and confirm smooth orbiting, bounded cache, no LOD cracks, and no render-thread jank.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
react, three.js
Domínio
frontend
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.