feat(map): add persistent gateway and ontology package
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Map Domain Ontology
|
||||
|
||||
Package: `catalog/domain-packages/map`
|
||||
|
||||
Status: first provider-neutral ontology slice for NDC Module Studio Map Page.
|
||||
|
||||
## Purpose
|
||||
|
||||
The package names stable spatial meanings already evidenced by the ENGINE MMAP workflow without making the current Cesium implementation canonical.
|
||||
|
||||
The Map Page, its visual components and renderer adapters belong to NDC Module Studio. ENGINE and NDC sources produce normalized domain data and commands through the Future Interface binding boundary. Platform services own access, provider credentials, proxy/cache and deployment concerns.
|
||||
|
||||
## Evidence boundary
|
||||
|
||||
The donor inspection covered the working `MMAP` workflow and its node of type `cesium`, plus Gelios, RZD/Yandex Rasp, Rail Inspector, city target, selection and grid layers.
|
||||
|
||||
The old `MoscowMapNode` is not a canonical donor. Runtime snapshots, provider tokens and full geometry datasets are evidence only and are not copied into Ontology Core.
|
||||
|
||||
## Canonical layers
|
||||
|
||||
```text
|
||||
NDC domain source
|
||||
-> moving objects, places, zones, routes, tracks, stations and events
|
||||
-> Future Interface binding
|
||||
-> Map View / Map Page slots
|
||||
-> shared pin, label, selection, style and visibility contracts
|
||||
-> replaceable renderer adapter
|
||||
-> provider capabilities
|
||||
```
|
||||
|
||||
Cesium is one possible renderer adapter. A future Cesium version or another provider can replace it without changing Map View, application manifests or domain subject identifiers.
|
||||
|
||||
## First acceptance slice
|
||||
|
||||
The first fixture-backed Map Page must cover:
|
||||
|
||||
- viewport and saved view;
|
||||
- base/building layer capability states;
|
||||
- multi-level grid using both local 3D and distant graticule modes;
|
||||
- place targets with pulse and scale-by-distance;
|
||||
- moving transport objects using shared pins and labels;
|
||||
- metro, railway station, stop and terminal variants;
|
||||
- railway route and track geometry;
|
||||
- polygon/multipolygon zones with level-dependent style;
|
||||
- selection driving Inspector or a quick card;
|
||||
- loading, empty, stale, error and offline states.
|
||||
|
||||
## Known donor debt
|
||||
|
||||
- Viewer lifecycle, map provider setup, cache, grid and layer orchestration are concentrated in one large node.
|
||||
- Labels are independently implemented by multiple source-specific layers.
|
||||
- Large geozone sets are rendered as many individual polygon/polyline entities.
|
||||
- Railway source handling, geometry LOD and renderer logic are only partially separated.
|
||||
- Existing Grid/AIS rendering relies on a proxy canvas because moving a live WebGL canvas is unstable.
|
||||
|
||||
These constraints guide acceptance tests but do not become public Map Page contracts.
|
||||
Reference in New Issue
Block a user