feat(map): add functional sector grid v2

This commit is contained in:
Codex
2026-08-06 11:22:45 +03:00
parent 6f1fcb1eb0
commit d4827009d4
15 changed files with 2902 additions and 76 deletions
+22 -1
View File
@@ -4,7 +4,7 @@
Область: Module Foundry Map Page, Platform Map Gateway, общий TileCache, DC AMD Proxy и DC AMD Connector
Контрольная дата: 2026-07-16
Контрольная дата: 2026-08-06
Этот документ — воспроизводимый канон интеграции Cesium в NODE.DC. Он описывает не только текущий Foundry Map Page, но и обязательные границы для следующих продуктов NODE.DC, которым потребуются Cesium Terrain, imagery, 3D Tiles или другие разрешённые provider assets.
@@ -181,6 +181,27 @@ Per-entity `PolygonGraphics` для массового слоя геозон н
а viewport через антимеридиан разбивается на два диапазона;
- sector id включает origin, LOD, шаг и signed integer address. Он не содержит
render serial, viewport или camera state и сохраняется при pan/zoom/reload;
- каждый minor-сектор имеет вычисляемые bounds, центр, площадь и четыре
адресных соседа. Для WGS84 longitude-соседи замыкаются через антимеридиан,
а за северным и южным полюсом сосед отсутствует;
- local ENU hierarchy использует `tileSizeKm` как размер major-тайла. Major
содержит целое число minor-секторов по каждой стороне; изменение шага в UI
сохраняет это соотношение. Для WGS84 major-шаг равен пяти minor-шагам;
- выбранный minor-сектор показывает parent major, число его children и
позволяет центрировать parent, переходить к четырём соседям и совместимому
следующему LOD без перебора Cesium entities. Полный список children не
материализуется автоматически: чистый API выдаёт его ограниченными pages;
горизонтальный sector id при этом не меняется;
- LOD 1–2 по умолчанию поддерживают отдельный высотный адрес ENU-объёма.
Диапазон задаётся как полуоткрытый `[minimum, maximum)`, делится на bands, а
последний band может быть короче. Volume id является дочерним адресом и не
подменяет стабильный id горизонтального сектора;
- Cesium материализует пространственную клетку только для выбранного сектора:
нижнюю и верхнюю рамки, вертикальные рёбра и границы bands. Вся ENU-плоскость
не размножается в объёмные entities, поэтому стоимость выбора ограничена;
- minor и major линии собираются раздельно. Major получает только множитель
толщины, наследует цвет/прозрачность текущего LOD, а подписи создаются
ограниченным набором вокруг viewport и не являются источником адресации;
- camera может менять LOD, view-cone и набор видимых линий, но не координаты,
границы или идентификаторы секторов;
- новый buffer подключается до удаления предыдущего. Дешёвый plan key