Kanban Pane
The Kanban pane visualizes entity lifecycle as a board driven by state machines. Columns are auto-generated from state machine states, and dragging a card between columns issues a state transition command via the ControlBus. It provides operators with a tactile workflow view for managing entities through defined processes.
KanbanConfig
| Property | Type | Description |
|---|---|---|
| machine_id | MachineId | Which state machine drives the board columns |
| card_fields | Vec<String> | Entity snapshot fields to display on each card |
| entity_type_filter | Option<ObjectType> | Optional filter to restrict cards to a single ObjectType |
| show_count_badges | bool | Show entity count badge on column headers (default: true) |
| column_width | f32 | Column width in pixels (default: 200) |
Board Behavior
- Auto-generated Columns: Each state in the machine becomes a column (e.g., "New", "In Progress", "Done")
- Drag-and-drop: Moving a card to another column issues a state transition command via ControlBus
- Entity Cards: Display entity ID plus selected fields from the
EntitySnapshot - Count Badges: Column headers show the number of entities in each state
- Horizontal Scroll: When the machine has many states, the board scrolls horizontally
Transition Validation
Drops are only accepted if the state machine defines a valid transition from the source state to the target state. Invalid drops are rejected with a visual indicator, and the card snaps back to its original column. Transition rules, including guard conditions defined by RuleCondition, are evaluated before the command is dispatched.
Keyboard Shortcuts
← Scroll board left → Scroll board right Ctrl + F Search cards by entity ID Esc Clear card selection YAML Configuration
yaml KanbanConfig
auto-generated
Field Type Default Description title String — Optional title override (falls back to pane default). machine_id String — ID of the state machine whose states become columns. card_fields Vec<String> [] Entity snapshot fields to display on each card (e.g. `["speed", "temp"]`). entity_type_filter String — Optional `ObjectType` name filter — only show entities of this type. show_count_badges bool true Show entity-count badges on column headers. column_width f32 200.0 Width of each column in logical pixels.
Example YAML
kanban:
machine_id: hvac_lifecycle
card_fields:
- zone_name
- temperature
- last_service_date
entity_type_filter: HvacUnit
show_count_badges: true
column_width: 240
Questions?
Reach out for help with integration, deployment, or custom domain codecs.