feat(foundry): close the operational map data loop

This commit is contained in:
Codex
2026-07-20 20:45:05 +03:00
parent aac44d057f
commit a02c3ff3dd
44 changed files with 4158 additions and 811 deletions
+22 -6
View File
@@ -5,16 +5,17 @@
"id": "glass-surface",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["GlassSurface", "GlassMaterialSurface"],
"domContract": ["nodedc-glass", "nodedc-glass-material", "nodedc-material-rim"],
"summary": "Matte application surfaces plus the canonical Engine V4 glass material for modal and Inspector shells.",
"anatomy": ["theme-provided surface", "modal tint", "gradient rim", "backdrop blur/saturation/brightness", "content"],
"variants": ["default", "strong", "soft"],
"exports": ["GlassSurface", "GlassMaterialSurface", "MapGlassSurface"],
"domContract": ["nodedc-glass", "nodedc-glass-material", "nodedc-map-glass", "nodedc-material-rim"],
"summary": "Matte application surfaces, the Engine V4 modal material and the light translucent surface used over Cesium imagery.",
"anatomy": ["theme-provided surface", "modal tint", "map-only light translucency", "gradient rim", "backdrop blur/saturation/brightness", "content"],
"variants": ["default", "strong", "soft", "map"],
"rules": [
"Geometry is invariant across application themes.",
"A material rim is a glass highlight, not a hard product-colored border.",
"Nested surfaces must use a softer tone to avoid card-inside-card noise.",
"GlassyMaterialSurface is restricted to modal Windows and the draggable Inspector."
"GlassyMaterialSurface is restricted to modal Windows and the draggable Inspector.",
"MapGlassSurface is restricted to overlays over Cesium/map imagery and must match the map Toolbar translucency."
]
},
{
@@ -337,6 +338,21 @@
"domContract": ["nodedc-status"],
"summary": "Semantic status pill whose tone is independent from the application accent."
},
{
"id": "toast",
"status": "baseline",
"package": "@nodedc/ui-react",
"exports": ["ToastCard", "ToastStack", "ToastItem", "ToastTone"],
"domContract": ["nodedc-toast-viewport", "nodedc-toast", "nodedc-toast__icon", "nodedc-toast__copy"],
"summary": "Tasker-derived non-blocking status notification with a bottom-right glass stack.",
"variants": ["success", "error", "warning", "info", "loading"],
"behavior": ["controlled items", "optional auto-dismiss", "manual dismiss", "portal viewport", "polite live region"],
"rules": [
"Applications own operation state and message copy; ToastStack owns viewport geometry and dismissal timing.",
"Loading notifications remain until the operation updates or dismisses them.",
"Status notifications never replace a blocking confirmation modal."
]
},
{
"id": "drag-drop",
"status": "baseline",