aboutsummaryrefslogtreecommitdiff
path: root/docs/specs/arealmap.md
blob: 3b234c92500e7560ff7bebec5f2c9040beb76c28 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# ArealMap

`ArealMap` — подсистема топологии мира и логических зон.

Подробный бинарный формат `Land.map` и связь с terrain описаны в:

- [Terrain + ArealMap](terrain-map-loading.md)

## 1. Роль в движке

1. Хранит ареалы, связи между ареалами и клеточный индекс.
2. Используется для навигации, логики объектов и AI-решений.
3. Связывает геометрию карты с миссионной и поведенческой логикой.

## 2. Минимальный runtime-контракт

1. Валидный граф ареалов и edge-link связей.
2. Валидная cell-grid индексация (`cellsX/cellsY` + hit lists).
3. Согласованные идентификаторы ареалов для AI/Behavior/Missions.

## 3. Статус покрытия и что осталось до 100%

Закрыто:

- бинарный контракт `Land.map` и pair-загрузка с `Land.msh`.

Осталось:

1. Полная доменная семантика `class_id`/`logic_flag` по всем игровым сценариям.
2. Формальная спецификация API-запросов к ArealMap (поиск зон, фильтры, события).
3. Набор parity-тестов поведения навигационных запросов на одинаковых входах.