v2: чанковый мир — Chunk/VoxelWorld с dirty-трекингом, meshRegion, демка 3×3 чанков
- world/chunk.ts (16×H×16) + world/world.ts: мир-словарь, get/set через
  границы (в т.ч. отрицательные), правка боковой кромки помечает соседний
  чанк dirty
- мешер обобщён: meshRegion(at, bounds, palette) — область по функции
  доступа; world/worldMesher.ts мешает чанк через world.get — culled и AO
  на швах бесшовны; тест: меш 4 чанков ≡ меш одной сеткой (позиции+AO)
- демка на мире 3×3 чанков с ремешингом dirty-чанков; мост __agent:
  setVoxel (атомарен с ремешингом), chunkStats; гейт 8/8 — столбик на шве
  чанков меняет кадр, dirty схлынулись

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent e7e843f commit c77f5e7b9e07fb0f7ad6c98014395bc80a130079
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 2 days ago
Showing 10 changed files
View
docs/plan.md
View
v2/CLAUDE.md
View
v2/apps/demo/src/main.ts
View
v2/apps/demo/tools/checks/render.mjs
View
v2/packages/engine/src/index.ts
View
v2/packages/engine/src/voxel/mesher.ts
View
v2/packages/engine/src/world/__tests__/world.test.ts 0 → 100644
View
v2/packages/engine/src/world/chunk.ts 0 → 100644
View
v2/packages/engine/src/world/world.ts 0 → 100644
View
v2/packages/engine/src/world/worldMesher.ts 0 → 100644