4.5 KiB
4.5 KiB
id, title, summary, priority, area, owner, created, updated, execution_time, depends_on, canonical_docs, related_files
| id | title | summary | priority | area | owner | created | updated | execution_time | depends_on | canonical_docs | related_files | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-0003 | Построить детерминированную voxel-генерацию мира с биомами | Развить воксельный worldgen до детерминированной генерации мира по seed с поддержкой биомов и стабильной структуры чанков. | Highest | worldgen | unassigned | 2026-03-30 | 2026-03-30 | 1d6h |
|
|
|
TASK-0003 - Построить детерминированную voxel-генерацию мира с биомами
Status
Статус задачи ведется в docs/tasks/Index.md и является каноническим там.
Допустимые значения статуса:
BackLogToDoInProgressReviewDone
Why
Диаблоид с процедурным миром требует воспроизводимого результата по seed. Биомы влияют не только на визуал, но и на правила спавна, лута и будущих данжей.
Expected Outcome
Один и тот же seed всегда строит одинаковый набор воксельных чанков и биомных зон. У мира есть понятный API для запроса biome data и chunk data.
Current Context
В проекте уже есть VoxelWorldGenerator, который строит чанки и управляет их lifecycle. Легаси Assets/Scripts/WorldGen/* не является фокусом проекта.
Source Of Truth
Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.csAssets/Scripts/VoxelWorld/Runtime/VoxelWorldAtlas.cs- решения из
TASK-0001
Read First
docs/tasks/items/TASK-0001.mdAssets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.csAssets/Scripts/VoxelWorld/Runtime/VoxelWorldAtlas.cs
Scope In
- нормализовать seed-driven worldgen
- определить модель биома на уровне чанка и под-областей
- выделить стабильные world coordinates и chunk coordinates
- подготовить world query API для спавна и данжей
Scope Out
- логика врагов и битовые маски убийств
- размещение готовых данж prefab
Constraints
- генерация должна быть одинаковой для всех клиентов и сервера
- нельзя строить ключевые правила мира только на клиенте
If You Find Drift
- если существующий worldgen зависит от недетерминированных источников, это нужно исправлять или явно документировать
Suggested Approach
- Зафиксировать структуру seed, biome sampling и координатную систему.
- Вынести deterministic chunk generation API.
- Подготовить точки интеграции для spawn, saves и dungeon placement.
Acceptance Criteria
- одинаковый seed порождает одинаковые чанки и биомы
- есть способ получить biome/chunk data без прямой привязки к визуальному рендеру
- downstream systems могут использовать мир как deterministic source of truth
Verification
- прогон нескольких одинаковых seed и сравнение результатов
- ручная проверка стабильности при повторной загрузке мира
Risks / Open Questions
- потребуется решить, хранится ли биом целиком как функция seed или частично кэшируется в save
Human Decisions Needed
- none currently
Decision Log
2026-03-30- поддержка биомов зафиксирована как часть ядра worldgen, а не как декоративное расширение.
Handoff Notes
Задачи по спавну, сохранениям и данжам должны ссылаться на deterministic world query API из этой задачи.