pub fn node_tier(
node: &dyn PolydatNode,
wire_types: &[PortType],
) -> CompileLevelExpand description
The highest tier a node can reach, given the types of the wires feeding it: the one answer to a question four places were asking separately.
The order is the one every builder walks. Native first, since a node
with a lowering joins a segment; then the compiled forms, in the
order assembly::node_step_op tries them — a copy step, the scalar
compiled_u64, the node’s own slot kit; then the interpreter.
The wire types are not optional. compiled_slot is offered per call
site with the types the kernel fixed, so a caller without them can
only ask the first two questions, and the three callers that
reported a tier rather than selecting one did exactly that — they
asked compiled_u64().is_some() and called a node with a slot kit
Phase1, which is what the binary printed for printf.