feat(foundry): complete HGeoZone live layer

This commit is contained in:
Codex
2026-07-22 09:25:32 +03:00
parent de060c105b
commit 309cddef73
9 changed files with 391 additions and 83 deletions
+12 -7
View File
@@ -27,7 +27,7 @@ Engine/NDC остаётся средой создания и исполнени
- ready/loading/empty/stale/error/offline states.
Размеры и внешний вид разновидностей сущностей задаются ссылками на
`styleProfiles`. Для live entity-stream Application page хранит отдельные
`styleProfiles`. Для live `entity-stream` и `zone-stream` Application page хранит отдельные
versioned `presentationProfiles`, а binding выбирает один из них через
`presentationProfileId`. Это позволяет одному доменному типу иметь разные
подтверждённые варианты, не создавая новый renderer-specific тип.
@@ -89,17 +89,17 @@ Runtime tile cache не является исходным кодом и не х
Дальше:
1. уточнить единый Label Style contract и варианты размеров уже на живой сцене;
2. спроектировать batching/instancing contract для больших потоков объектов и геозон;
2. расширить существующий HGeoZone batching contract явной spatial tiling-политикой для десятков тысяч геозон;
3. вынести development gateway в `platform/services/map-gateway` и подключить persistent cache;
4. добавить реальный Gaussian Splat 3D Tiles acceptance asset;
5. расширить entity-stream adapter с `points` на traces, routes и zones;
5. добавить специализированные adapters для traces и routes;
6. оформить renderer adapter capability matrix для Cesium и будущих providers.
## Live data-product runtime
`Map Page` хранит только provider-neutral binding: `dataProductId`, approved
semantic types, field projection, `presentationProfileId` и `slotId` (`points`
для live point entities).
semantic types, field projection, `presentationProfileId` и `slotId`: `points`
для live point entities или `zones` для polygon/multipolygon `map.zone`.
При открытии Application page browser делает same-origin запрос к Foundry:
```text
@@ -122,8 +122,13 @@ events с exact cursor и только после commit делает fan-out в
создают несколько upstream EDP subscriptions. Timeline использует provider-neutral
history route (`from/to/resolution/sourceIds/cursor`) через тот же BFF и не
занимает общую L2 execution queue. Renderer держит отдельный `CustomDataSource`
на binding и обновляет stable entity id без пересоздания viewer. Sampling и
retention остаются политикой Data Plane, а не Map Template.
на point binding и обновляет stable entity id без пересоздания viewer. `zones`
рендерятся отдельным HGeoZone ground-projection layer: Polygon/MultiPolygon
пакуются ограниченными batches в Cesium ground primitives, а границы — в
ground-polyline primitives. Это renderer adapter, не новый тип онтологии:
источником истины остаётся `map.zone`, а цвета и прозрачности остаются в
provider-neutral presentation profile. Sampling и retention остаются политикой
Data Plane, а не Map Template.
`fleet.positions.current.v2@2.0.0` является первым state-aware moving-object
контрактом. Пользовательский status contract ограничен