The product's snap edges in world space. May be empty if geometry isn't loaded yet.
World-space max snap distance for a position (typically derived from camera + config).
Warm a product's edges asynchronously; resolves with the loaded edges (empty if none).
Resolve a pick to an opaque product handle, or undefined if it isn't snappable. Also the edge-cache key.
Supplies the host/core-specific primitives the state machine needs for snapping. The orchestration (edge caching, combining with clip edges, running the snap algorithm) stays generic in the state machine; the consumer's adapter implements only the parts that require the concrete product/scene model.