feat(foundry): productionize Cesium Map Page and platform runtime

This commit is contained in:
Codex
2026-07-16 02:25:58 +03:00
parent 1a2ca8c82c
commit 5e8c1cc3fc
41 changed files with 6977 additions and 179 deletions
+1 -1
View File
@@ -302,7 +302,7 @@
"rules": [
"The six-dot handle is the only drag initiator; clicking the row keeps its normal navigation or selection action.",
"Sortable rows are visually constrained to the vertical axis and cannot pull their layout horizontally.",
"A transfer is accepted only when the dragged surface overlaps the destination by at least the consumer-defined threshold; Module Studio uses 20 percent.",
"A transfer is accepted only when the dragged surface overlaps the destination by at least the consumer-defined threshold; Module Foundry uses 20 percent.",
"Consumers own domain mutations while the package owns sensors, transforms, accessible drag attributes and geometry.",
"Repeated page-template drops create distinct application page instances instead of consuming the source template.",
"A reordered application page array is the single source of truth for both composition and navigation order."
@@ -19,7 +19,27 @@
{ "id": "label.place.large", "kind": "label", "variant": "place-large", "color": "#ffffff", "opacity": 1, "size": 28 },
{ "id": "label.entity.compact", "kind": "label", "variant": "entity-compact", "color": "#ffffff", "opacity": 0.92, "size": 13 },
{ "id": "label.station.medium", "kind": "label", "variant": "station-medium", "color": "#ffffff", "opacity": 0.95, "size": 16 },
{ "id": "pin.transport.active", "kind": "pin", "variant": "transport-active", "color": "#ff2f92", "opacity": 1, "size": 22 },
{
"id": "pin.transport.active",
"kind": "pin",
"variant": "transport-active",
"color": "#ff2f92",
"opacity": 1,
"size": 8,
"pinPresentation": {
"variant": "elevated-spike",
"stemHeightMeters": 120,
"headSizePx": 8,
"stemWidthPx": 2,
"outlineColor": "#0c0d12",
"outlineOpacity": 0.6,
"outlineWidthPx": 1,
"labelOffsetX": 10,
"labelOffsetY": 0,
"pinHideCameraHeightMeters": 120000,
"labelHideCameraHeightMeters": 85000
}
},
{ "id": "pin.station.metro", "kind": "pin", "variant": "station-metro", "color": "#8f72dc", "opacity": 1, "size": 26 },
{ "id": "pin.station.rail", "kind": "pin", "variant": "station-rail", "color": "#ffffff", "opacity": 1, "size": 22 },
{ "id": "line.route.primary", "kind": "line", "variant": "route-primary", "color": "#ff2f92", "opacity": 0.9, "width": 4 },
+2 -2
View File
@@ -1,6 +1,6 @@
{
"schemaVersion": "1.0.0",
"libraryVersion": "0.6.0",
"libraryVersion": "0.7.0",
"name": "NODE.DC Design System",
"purpose": "Canonical code-level UI system for current and future NODE.DC applications.",
"packages": [
@@ -45,7 +45,7 @@
"adoption": "../docs/ADOPTION.md",
"candidates": "../docs/CANDIDATES.md",
"applicationTemplate": "../docs/APPLICATION_TEMPLATE.md",
"moduleStudio": "../docs/MODULE_STUDIO.md",
"moduleFoundry": "../docs/MODULE_STUDIO.md",
"mapTemplate": "../docs/MAP_TEMPLATE.md",
"icons": "../docs/ICONS.md",
"consumption": "../docs/CONSUMPTION.md"
@@ -102,7 +102,27 @@
"color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
"opacity": { "type": "number", "minimum": 0, "maximum": 1 },
"width": { "type": "number", "exclusiveMinimum": 0 },
"size": { "type": "number", "exclusiveMinimum": 0 }
"size": { "type": "number", "exclusiveMinimum": 0 },
"pinPresentation": { "$ref": "#/$defs/pinPresentation" }
}
},
"pinPresentation": {
"type": "object",
"description": "Provider-neutral elevated-spike presentation for a map.pin. A renderer adapter maps these values to its own primitives.",
"additionalProperties": false,
"required": ["variant", "stemHeightMeters", "headSizePx", "stemWidthPx", "outlineColor", "outlineOpacity", "outlineWidthPx", "labelOffsetX", "labelOffsetY"],
"properties": {
"variant": { "enum": ["elevated-spike"] },
"stemHeightMeters": { "type": "number", "minimum": 0 },
"headSizePx": { "type": "number", "exclusiveMinimum": 0 },
"stemWidthPx": { "type": "number", "exclusiveMinimum": 0 },
"outlineColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
"outlineOpacity": { "type": "number", "minimum": 0, "maximum": 1 },
"outlineWidthPx": { "type": "number", "minimum": 0 },
"labelOffsetX": { "type": "number" },
"labelOffsetY": { "type": "number" },
"pinHideCameraHeightMeters": { "type": "number", "exclusiveMinimum": 0 },
"labelHideCameraHeightMeters": { "type": "number", "exclusiveMinimum": 0 }
}
},
"visibility": {