Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.09 KB

File metadata and controls

52 lines (36 loc) · 2.09 KB

LOD Tree Split Status

Current State

Tree LOD is implemented on develop.

  • Terrain LOD and tree LOD are separated at render time.
  • FarRenderer owns terrain and water LOD meshes.
  • FarTreeRenderer owns the far tree render pass.
  • Worker-side extraction is represented by lod-worker-tree.ts.
  • LOD stats include tree section, draw call, instance, and triangle counts through FarRenderer.getStats().

Implemented Files

  • apps/dawnlight/src/game/engine/lod/far-tree-renderer.ts
  • apps/dawnlight/src/workers/lod-worker-tree.ts
  • apps/dawnlight/src/game/engine/lod/lod-data-types.ts
  • apps/dawnlight/src/game/engine/lod/far-renderer.ts
  • apps/dawnlight/src/workers/lod-worker.ts

Validation Status

Automated coverage exists for the LOD worker, worker manager, LOD tree, and near-only interaction behavior:

pnpm --filter dawnlight test -- lod-worker.test.ts lod-worker-manager.test.ts lod-tree.test.ts near-only-interaction.test.ts --runInBand
pnpm --filter dawnlight exec tsc --noEmit

Manual visual validation should still be done with agent-browser whenever LOD rendering changes:

pnpm --filter dawnlight dev -- --host 127.0.0.1
agent-browser open http://localhost:5173
agent-browser errors
agent-browser screenshot /tmp/dawnlight-lod-check.png

Repeatable screenshot baselines are documented in AGENT_BROWSER.md. The required LOD set is default spawn plus /lodbaseline forest, /lodbaseline beach, and /lodbaseline snow views when biome-specific LOD visuals change.

An old debug capture is archived at docs/lod/lod-log-sample.txt. New local LOD logs should use lod-log.txt or lod-log-*.txt, which are ignored.

Remaining Follow-Up Candidates

  1. Collect and commit a release baseline summary after the next intentional LOD visual tuning pass.
  2. Add image-diff thresholds once baseline screenshots are stable enough for CI.

Risks

  • Tree extraction can still increase worker cost in dense forests.
  • Section boundaries need continued attention for duplicate or missing trees.
  • Terrain and tree fade timing should stay synchronized to avoid visible popping.