fix(selectors): type rect-requiring targets as addressable

Merged
KK
1d ago
+431-114

What

Fixes #3576. Rect-requiring selector resolutions were still typed as plain SnapshotNode, so acting paths had to rely on runtime ref guarantees that TypeScript could not see.

Fix

Add SnapshotAddressableNode for nodes with refs and keep require-rect narrowing behind checked selector pipeline exits, including acting candidate collapse.

Test

Adds selector-pipeline type and ref-less regression coverage for action vs read rows.