phenotypic.gui.builder._state.BlockNode#
- class phenotypic.gui.builder._state.BlockNode(block_id: str, class_name: str, params: ~typing.Dict[str, ~typing.Any], label: str | None = None, nested: ~phenotypic.gui.builder._state._DagBuilderScope | None = None, collapsed: bool = False, list_slot_counts: ~typing.Dict[str, int] = <factory>)[source]#
Bases:
objectOne canvas block — single op, container, or Input Image source.
A
BlockNodeis the DAG-canvas counterpart of a single operation (or the Input Image sentinel, or a Pipeline container) in anImagePipeline. It captures the class to instantiate, the scalar parameter values entered by the user, and (when the block is a Pipeline container) the inner_DagBuilderScope.Aux wiring is not stored on the block — it lives on the enclosing scope’s
edgeslist as oneEdgeper wire.- Parameters:
- class_name#
Registry key (e.g.
"GaussianBlur"), the"ImagePipeline"sentinel for container blocks, or the"InputImage"sentinel for the scope’s source block.- Type:
- params#
Scalar parameter values (no op-typed values — those come from edges now).
- Type:
Dict[str, Any]
- nested#
Inner
_DagBuilderScopepopulated only whenclass_name == "ImagePipeline".- Type:
- list_slot_counts#
Per list-aux param name, the total slot count for layout. Empty slots = slot positions in
[0, count)not covered by anyEdge. Increments onlist_aux_add_empty_slot/edge_createto a list port; never decrements except via slot delete.
Methods
__init__Attributes
- nested: _DagBuilderScope | None = None#