Render slot stubs for top-level blueprint multi-input leaves #49
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap
After the render-path unification (#48, commit
481172a), the blueprint maingraph and the composite
where:interior share one render core(
render_graph, crates/aura-cli/src/graph.rs). A composite-interior multi-inputleaf renders its wired input slots as
#…source-derived stubs (e.g.[Sub(#Sf,#Ss)], viafan_in_identifiersat graph.rs). A top-level blueprintmulti-input leaf does not:
SimBroker, with two wired slots (exposure, price),renders as bare
[SimBroker]inaura graph --macd.So the main graph still under-mirrors the
where:enrichment for one of thethree borders — the slot stubs — even though param names and the
from_fieldconsumer-prefix are now shared.
Why it was deferred
The shared core gates stub rendering behind
stub_ctx: Option<&Composite>,passed
Nonefor the blueprint path.fan_in_identifiers→slot_source→signature_of(crates/aura-engine/src/blueprint.rs:266) is still coupled to thecomposite shape:
signature_ofexpects&[Role]+&[ParamAlias], which aBlueprintdoes not have (it hassources+param_space). Threading theblueprint case through it is the deeper change #48's spike deliberately left out
of scope, with user sign-off ("not optimal, but leave it for now").
Direction (not prescriptive)
Generalise the stub machinery off
&Compositeonto the same borrowed-sliceshape the render core already uses (the
Entryabstraction unifyingRoleandSourceSpec), sosignature_of/fan_in_identifiersserve a top-levelblueprint leaf the same way they serve a composite interior leaf. Then
SimBrokerrenders its two slots as stubs andstub_ctxcan stop being anOption.Acceptance
aura graph --macdrendersSimBroker's two input slots as#…stubs.where:section stays byte-identical (the composite stub output isunchanged).
#48 holds).