phenotypic.gui.builder._state._DagBuilderState#
- class phenotypic.gui.builder._state._DagBuilderState(root: ~phenotypic.gui.builder._state._DagBuilderScope = <factory>, breadcrumb: ~typing.List[str] = <factory>, selected_block_id: str | None = None, selected_edge_id: str | None = None, selected_targets_by_scope: ~typing.Dict[str, ~typing.Dict[str, ~typing.Any]] = <factory>, open_port_menu: ~typing.Dict[str, ~typing.Any] | None = None, pending_delete_block_id: str | None = None, toast_queue: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>)[source]#
Bases:
objectTop-level DAG state for the Dash builder.
Mirrors the legacy
_LegacyBuilderStatesurface but with block_ids / edge_ids instead of node_ids. The popover-erainspector_focus_auxoverride is gone — the DAG path edits aux parameters via the inspector aux-ports section directly.- Parameters:
- root#
Outermost
_DagBuilderScope(what the user sees whenbreadcrumbis empty).
- breadcrumb#
Ordered list of container block_ids the user has drilled into. Each entry is the
BlockNode.block_idof a Pipeline container in the next-outer scope. An empty list means “viewingroot”.- Type:
List[str]
- selected_block_id#
BlockNode.block_idof the currently focused block (op, container, or Input Image), if any. Mutually exclusive withselected_edge_id.- Type:
str | None
- selected_edge_id#
Edge.edge_idof the currently focused wire, if any. Mutually exclusive withselected_block_id.- Type:
str | None
- pending_delete_block_id#
Set by
block_delete_requestfor non-empty containers; drives the confirm-delete modal’s visibility. Cleared on Confirm/Cancel.- Type:
str | None
- toast_queue#
FIFO queue of toast payloads (one visible at a time, 3000ms auto-dismiss). Each entry is a free-form dict shaped by the callback that enqueued it; the Dash callback that binds to the toast component pops the head.
- Type:
List[Dict[str, Any]]
Methods
__init__Attributes
- root: _DagBuilderScope#