Overrides are scoped by direction
The rule
Normative: this is the rule
- Exposure overrides are scoped by port direction: an output port's override is read from the
outputsmap, and an input port's (that of every other direction) from theinputsmap. - An input and an output of the same name are separate ports, and an override on one never applies to the other.
What it means
An input and an output that happen to share a name are two different ports,
not one port seen from two sides, and their exposure overrides live in two
different maps. Hiding an input named other says nothing about an output
also named other — a lookup that ignored direction and matched by name
alone would leak one port's override onto the other.
Example
{ "inputs": [{ "id": "other", "exposed": false }] }Checked as an input, other resolves hidden. Checked as an output, the same
port name finds no entry at all — the outputs map carries none — and
resolves to its own default, exposed.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · EXPO-3 · changed in spec 1.0