Router page. Display construction is split into three skills: a foundation (Basics) and two paradigm specializations (Canvas, Dashboard). This page tells the AI which of the three to load for a given task.

Parent: Platform Skills Library


When to use this skill

Use when:

  • Building a new display from scratch
  • User asks for a dashboard, HMI screen, or operator interface
  • Need to place symbols with tag bindings
  • Need visual dynamics (color changes, visibility toggles, rotation)
  • Need navigation between displays
  • Need CodeBehind for display logic

Do NOT use when:

  • Just modifying text or properties on an existing display (use get_objects + write_objects)
  • Need only a basic starter dashboard (the New Solution skill covers that)

Router — which child skill(s) to load

Display construction is split into three focused skills. Load them based on what you're building:

Task

Load these skills

Any display work — first time in a session

Basics (always)

Process diagram, P&ID, HMI screen, equipment layout, spatial arrangement

Basics + Canvas

KPI wall, operator console, data monitoring grid, responsive card layout

Basics + Dashboard

Hybrid solution — some pages are P&ID, some are KPI grids

Basics + Canvas + Dashboard

Single display combining grid cells with spatial equipment imagery

Basics + Dashboard + Canvas (embed Canvas via ChildDisplay cell)

Decision guide — Canvas vs Dashboard

If the display is primarily data monitoring (gauges, trends, grids, alarm viewers) → Dashboard.

If the display shows equipment with spatial relationships (pipes, process flow, custom shapes) → Canvas.

When in doubt, start with Dashboard — it's simpler and covers 70%+ of operator-facing displays.

When the operator question is "what does this equipment look like and what's its state?", the answer is almost always Canvas + a Wizard symbol — Wizard/BLOWER, Wizard/MOTOR, Wizard/PUMP, Wizard/TANK, or Wizard/VALVE — wired through SymbolLabels rather than direct properties.

The three child skills

Skill Display Construction - Basics

The foundation for all display work. Load this in every session that touches a display.

Covers: theme-first mental model (13 theme pairs, semantic brushes), write mechanics (DisplaysList, document objects, read-before-write), the build loop (write_objectsget_state → fix → repeat), binding syntax and gotchas (UDT inheritance bug TDEV-1272, system-column bug TDEV-1273, @Tag vs @Label), spacing and typography tokens, minimum element sizes, element-category overview, symbol writing rules (Wizard, Library, Solution prefixes), common pitfalls.

Skill Display Construction - Canvas

Absolute-positioned displays for HMI, P&ID, process overviews, equipment layouts.

Covers: zone-based mental model, zone math, z-order rules, the 7 shape primitives (Rectangle, Ellipse, Polygon, Polyline, Path, Gridline, Spline), 8 first-class auto-shapes (Cylinder, Gear, Arrow, Cloud, Star, Hexagon, Pentagon, Trapezoid), 3 containers (ShapeGroup, SvgGroup, Group), the equipment cookbook (vessel with jacket, centrifugal pump, pipe segment, reactor with heating coils), the 14 dynamics types with 4 copy-paste patterns (status_indicator, toggle_button, animated_motor, level_bar), header-owns-navigation pattern, writer-side normalizations.

Skill Display Construction - Dashboard

Grid-based displays for data monitoring, KPI walls, operator consoles.

Covers: cell/grid mental model, 6 standard grid recipes (3×2 KPI wall, 4×3 operator wall, 2-column list-detail, etc.), controls-by-cell-purpose decision matrix, the TrendChart recipe (Pens forms, Duration defaults, LegendPlacement), the DataGrid list→detail pattern via UserType-typed Client tag, ComboBox zero-script FK-lookup, AlarmViewer default-template pattern, AssetsTree + ChildDisplay master-detail navigation, Carousel vs TabControl, KPI card recipes (CenterValue, composite TextBlock, threshold-colored value), Dashboard-specific quirks (cells size by content, animation dynamics ignored).

Discovery tools (common to all three)

Before building any display, use these tools to discover what's available:

list_elements()                   -- all element types by category + library folders
list_elements('ThemeColors')      -- all named theme brushes
list_elements('Wizard')           -- the 5 Wizard symbols
list_elements('Library/HMI')      -- browse HMI symbol library (~1600 symbols)
list_elements('Canvas')           -- Canvas display structure schema
list_elements('Dashboard')        -- Dashboard display structure schema
list_dynamics()                   -- all dynamic types by category
list_dynamics('FillColorDynamic') -- full schema for a specific dynamic

MCP tools and tables

Category

Items

Tools

get_table_schema, write_objects, get_objects, list_elements, list_dynamics, browse_object_model, get_state

Tables

DisplaysList, DisplaysSymbols, DisplaysLayouts

Critical: use DisplaysList for creating and editing displays. DisplaysDraw is the Designer visual editor UI — NOT a writable table.

Child pages are listed automatically by Confluence below.