1.5 KiB
1.5 KiB
Config Schema
Primary File
The example project file is config/project.example.toml.
Root Objects
metadatatopologytransport_profilessafety_profilespresets
metadata
project_nameschema_versiondefault_transport_profiledefault_safety_profile
topology
expected_node_countoutputs_per_nodeleds_per_outputnodeslayout_panelsgroups
topology.nodes[]
node_iddisplay_namenetwork.reserved_ipnetwork.telemetry_labeloutputs
topology.nodes[].outputs[]
Required:
panel_positionphysical_output_namedriver_channel.kinddriver_channel.referenceled_countdirectioncolor_orderenabledvalidation_state
Optional:
logical_panel_name
Activation Rules
Structural validation accepts pending_validation so the system can model unresolved wiring.
Activation validation rejects any output that is still:
driver_channel.kind = "pending_validation"validation_state != "validated"
This is intentional and prevents accidental deployment against guessed hardware assumptions.
Groups
topology.groups[] keeps grouping explicit and simple:
group_idtagsmembers[] = { node_id, panel_position }
Layout
topology.layout_panels[] is optional and only needed for preview or spatial effects:
node_idpanel_positionrowcolumnrotation_degreesmirror_xmirror_y