[Add] New Tasks (The tasks have not been verified)

This commit is contained in:
2026-03-30 10:50:02 +07:00
parent 5434a7e601
commit 129fcf783b
21 changed files with 2230 additions and 6 deletions
+112
View File
@@ -0,0 +1,112 @@
---
id: TASK-0003
title: Построить детерминированную генерацию мира с биомами
summary: Развить существующий worldgen до детерминированной генерации мира по seed с поддержкой биомов и стабильной структуры чанков.
priority: Highest
area: worldgen
owner: unassigned
created: 2026-03-30
updated: 2026-03-30
execution_time: 1d6h
depends_on:
- TASK-0001
canonical_docs:
- docs/tasks/Index.md
related_files:
- Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs
- Assets/Scripts/WorldGen/ChunkTemplate.cs
- Assets/Scripts/WorldGen/WorldAutotileProfile.cs
---
# TASK-0003 - Построить детерминированную генерацию мира с биомами
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
Допустимые значения статуса:
- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`
## Why
Диаблоид с процедурным миром требует воспроизводимого результата по seed. Биомы влияют не только на визуал, но и на правила спавна, лута и будущих данжей.
## Expected Outcome
Один и тот же seed всегда строит одинаковый набор чанков, тайлов и биомных зон. У мира есть понятный API для запроса biome data и chunk data.
## Current Context
В проекте уже есть `InfiniteWorldGenerator`, `ChunkTemplate` и `WorldAutotileProfile`, что дает стартовую основу под генерацию 2D-мира.
## Source Of Truth
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
- `Assets/Scripts/WorldGen/ChunkTemplate.cs`
- решения из `TASK-0001`
## Read First
- `docs/tasks/items/TASK-0001.md`
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
- `Assets/Scripts/WorldGen/ChunkTemplate.cs`
- `Assets/Scripts/WorldGen/WorldAutotileProfile.cs`
## Scope In
- нормализовать seed-driven worldgen
- определить модель биома на уровне чанка и под-областей
- выделить стабильные world coordinates и chunk coordinates
- подготовить world query API для спавна и данжей
## Scope Out
- логика врагов и битовые маски убийств
- размещение готовых данж prefab
## Constraints
- генерация должна быть одинаковой для всех клиентов и сервера
- нельзя строить ключевые правила мира только на клиенте
## If You Find Drift
- если существующий worldgen зависит от недетерминированных источников, это нужно исправлять или явно документировать
## Suggested Approach
1. Зафиксировать структуру seed, biome sampling и координатную систему.
2. Вынести deterministic chunk generation API.
3. Подготовить точки интеграции для 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 из этой задачи.