cadrumo.entrypoints.tui.modelo.view.inputs module

The modelo.workspace.inputs read destination.

Renders one admitted workspace session’s declared fields and their materialized values. It is a READ destination: it mounts no editing widget of any kind, because the edit surface is a C3 concern whose authority is a time-bounded admission this cohort does not hold. A screen that offered an edit affordance it cannot honour would promise the operator something the contract refuses.

Grouping follows ModeloWorkspaceSchemaRecordV1.record_family, which the assembler sets to a literal (("casillas",), ("bindings",), ("formulas",), ("relations",), ("parameters",)). The family is the only coherent grouping for that facet: it carries casillas, bindings, formulas, relations and parameters in one record set, and a casilla-only section path is undefined over four of those five.

So an operator sees these records grouped by family, not by the modelo’s sections. The modelo’s own CasillaDefinition.section is not projected into the workspace schema facet at all, and this module does not substitute for it: inventing a section structure the projection does not carry would be exactly the synthesis the cohort forbids everywhere else.

The family and the declared input kind are shown in words. The family’s own token, and the binding address of a repeated row, are raw identifiers: they sit in a collapsed technical-details group at the end of the page.

Row identity is the canonical identity the producer already assigned – a casilla id for a scalar, a (binding, row index) pair for a repeated row – so a row key never encodes an address the registry does not have.

Under STATIC_INSPECTION the materialization facet is None by construction, and absence is rendered as an explicit not-measured disposition rather than as a zero, a blank, or an empty table. That distinction is the same one workspace_models defends one layer down: “nothing was measured” and “the measured value is nothing” are different answers with different operator remedies.

class ModeloWorkspaceInputsScreen(session, *, id=None)[source]

Bases: TypedAppAccess, AccountChromeScreen

Read-only section, scalar, and repeated-row rendering for one session.

Parameters:
BINDINGS: ClassVar

A list of key bindings.

compose()[source]

Called by Textual to create child widgets.

This method is called when a widget is mounted or by setting recompose=True when calling [refresh()][textual.widget.Widget.refresh].

Note that you don’t typically need to explicitly call this method.

Return type:

Iterable[Widget]

Example

def compose(self) -> ComposeResult:
    yield Header()
    yield Label("Press the button below:")
    yield Button()
    yield Footer()
on_mount()[source]

Populate the header, the value disposition, and one group per section.

Return type:

None

action_quit_inputs()[source]

Leave the destination without returning a value; this screen decides nothing.

Return type:

None

action_toggle_appearance()[source]

Switch between the two shipped appearances.

Return type:

None

can_focus: bool

Widget may receive focus.

can_focus_children: bool

Widget’s children may receive focus.