phenotypic.gui.builder#

The pipeline builder DAG model — block + edge state, conversion to and from ImagePipeline, and the pure-function validation layer that drives the canvas’s red/yellow border decoration.

The redesigned DAG-shaped state replaces the popover-anchored linear list of nodes from earlier builder versions. See Pipeline builder dispatch kinds for the full dispatch-kind reference and Pipeline builder validation rules for the seven validation rules.

State & schema#

phenotypic.gui.builder._state.BlockNode(...)

One canvas block — single op, container, or Input Image source.

phenotypic.gui.builder._state.Edge(edge_id, ...)

One wire between two block ports within a scope.

phenotypic.gui.builder._state._DagBuilderScope(...)

A DAG of blocks + edges (per scope).

phenotypic.gui.builder._state._DagBuilderState(...)

Top-level DAG state for the Dash builder.

phenotypic.gui.builder._state.INPUT_IMAGE_CLASS_NAME

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

phenotypic.gui.builder._state.PIPELINE_CLASS_NAME

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

phenotypic.gui.builder._state._seed_input_image(scope)

Idempotently add an InputImage block at the head of scope.

Conversion (DAG ↔ ImagePipeline)#

phenotypic.gui.builder._conversion_dag.to_pipeline_dag(state)

Convert a DAG-shaped BuilderState to an ImagePipeline.

phenotypic.gui.builder._conversion_dag.from_pipeline_dag(...)

Convert an ImagePipeline to a DAG-shaped BuilderState.

Validation#

phenotypic.gui.builder._validation.validate(state)

Run all validation rules across every scope reachable from the root.

phenotypic.gui.builder._validation.Issue(...)

A single validation finding for a block or scope.