Спайк v2: воксельный рендер — сетка/мешер/AO, three.js-бэкенд, демка и скриншот-гейт
- движок: voxel/grid.ts (Uint8-сетка, палитра по индексам), voxel/mesher.ts
  (culled-грани + классический AO 0..3 с флипом диагонали, 12 тестов),
  render/voxelRenderer.ts (ортокамера диметрии 2:1, dirLight + shadow map,
  низкое разрешение 480×270)
- тулзы: tools/agent-lib.mjs — браузерный каркас проверок v2 (swiftshader),
  tools/png.mjs — PNG-кодек (в т.ч. RGB-скриншоты headless Chromium)
- демка: apps/demo — воксельный пепельный луг в палитре арт-библии,
  мост window.__agent (setSun/stats), чек checks/render.mjs: pageerror,
  меш, тени ползут утро/вечер, апскейл кратен 2×2, многокрасочность
- грабли в v2/CLAUDE.md: камера под землёй при минус-Y (ловится только
  скриншот-гейтом — урок №2 подтверждён в первый же день)

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 7306956 commit e7e843fd73385420851fd8e52301cc1a94d8f54c
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 2 days ago
Showing 18 changed files
View
docs/plan.md
View
v2/CLAUDE.md
View
v2/apps/demo/index.html 0 → 100644
View
v2/apps/demo/package.json 0 → 100644
View
v2/apps/demo/src/main.ts 0 → 100644
View
v2/apps/demo/tools/checks/render.mjs 0 → 100644
View
v2/apps/demo/tsconfig.json 0 → 100644
View
v2/apps/demo/vite.config.ts 0 → 100644
View
v2/package-lock.json
Too large (Show diff)
View
v2/package.json
View
v2/packages/engine/package.json
View
v2/packages/engine/src/index.ts
View
v2/packages/engine/src/render/voxelRenderer.ts 0 → 100644
View
v2/packages/engine/src/voxel/__tests__/mesher.test.ts 0 → 100644
View
v2/packages/engine/src/voxel/grid.ts 0 → 100644
View
v2/packages/engine/src/voxel/mesher.ts 0 → 100644
View
v2/packages/engine/tools/agent-lib.mjs 0 → 100644
View
v2/packages/engine/tools/png.mjs 0 → 100644