Skip to Content
This documentation is provided with the HEAT environment and is relevant for this HEAT instance only.
Dashboard ComponentsLegacyLegacy dashboard components

Legacy dashboard components

Legacy dashboards (dashboard node, DashboardVersion="Legacy", ui/legacy) render widgets from a fixed registry of mount identifiers. The runner publishes JSON keyed by data payload keys; the layout references mount ids. Those strings are often different.

How wiring works

  1. The dashboard node stores layoutConfiguration (array of rows) and a payload object (e.g. Map, TimelineChart, …).
  2. Each column sets "component": "<MountId>" (case-sensitive).
  3. layout-grid calls getComponentById from session-detail/index.tsx.
  4. Unknown mount ids render nothing (default: return null).

Mount ids are not inferred from data keys or runner names.

Layout mount identifiers

Update this table when adding a case to getComponentById in session-detail/index.tsx.

Mount id (layoutConfiguration.cols[].component)Data key (if documented)Notes
LandingScore
PerformanceScore
MapTimelineOlder map + timeline (MapWithControls); not heat-next
OverallScore
CockpitTimeline
RadarChartRenders ScoreRadarChart
CognitiveLoadheat-next import
DigitalSignatureExposureheat-next import
ColumnEyeTrackingheat-next import
EyeTrackingContainerheat-next import
EyeTrackingheat-next import
EyeTrackingCanvasXCognitiveLoadDual component
FlightPathXEyeTrackingCanvasDual component
FlightPathXCognitiveLoadDual component
AltitudeFlightPathXEyeTrackingCanvasDual component
MultiFlightPathCanvasXAltitudeGridDual component
FlightPathFlight path with playback
FlightCircuit
FlightPathCanvasAlias → FlightPathAndEyeTracking
FlightPathAndEyeTracking
MapDisplayMapCurrent map (heat-next); MapDisplay
ResultsWas QuestionResults
RecognitionScoreWas RecognitionScoring
TimelineChartcombined-custom-chartsOptional configuration.graphOnTop (area above scatter bands)
ComposableChartcombined-custom-chartsheat-next ComposableChartLegacy; ComposableChart (Legacy)
CustomRenderer(layout only)Escape hatch , not recommended for production; heat-next; CustomRenderer. payload = v1 dashboardData; $session works in sandbox (default) and inline
BarChart
ImpactHeatmap
CrewCognitiveLoad
CognitiveLoadBreakdown
CognitiveLoadTimeline
ResponseTimeWas CommunicationTimeline
ColorPhaseScore
OverallPhaseScore
StatsSummary
StatsSummaryWithDropdown
StatsSummaryWithModalReport
ProgressScore
ProgressScoreTable
CycleContainer
PhaseSummary
LineProcess

Mount id vs data payload key

ConceptWhere it appearsExample (map)
Mount idlayoutConfiguration onlyMapDisplay
Data keyDashboard node output JSON (legacy facade APIs)Map

Example layout snippet

{ "layoutConfiguration": [ { "cols": [ { "component": "MapDisplay", "colspan": 12, "marginBottom": 24 } ] } ] }

Documented components

  • MapDisplay , tactical map with routes, cones, playback
  • ComposableChart , multi-slice chart via legacy manifest + v1 combined-custom-charts

Authoring new pages

Copy the structure from _page-template. Add a row to the mount registry when you add a switch case.