Resolve a tap point against an ordered, placed chain: the index of the LAST processor that
runs strictly before the point, or TAP_AT_CHAIN_INPUT when nothing does.
By construction, not by search: the answer is read off the placements the operator authored,
so it tracks any rearrangement of the FX around the point for free — there is no anchor node
to go missing and no fall-through rule to get wrong. An absent point (one this set does not
declare) resolves to nothing and is reported as such by the caller; it is never approximated
to the nearest boundary, which is the collapse this whole model exists to delete.
Resolve a tap point against an ordered, placed chain: the index of the LAST processor that runs strictly before the point, or TAP_AT_CHAIN_INPUT when nothing does.
By construction, not by search: the answer is read off the placements the operator authored, so it tracks any rearrangement of the FX around the point for free — there is no anchor node to go missing and no fall-through rule to get wrong. An absent point (one this set does not declare) resolves to nothing and is reported as such by the caller; it is never approximated to the nearest boundary, which is the collapse this whole model exists to delete.