BVH-backed picking strategy — wraps SceneRaycaster.

What works:

  • canvas-pos / ray / matrix inputs (all three);
  • objectId, meshId, worldPos, triangleIndex;
  • filter, tMin, tMax, pickInvisible (mapped onto visiblePickableOnly).

What doesn't:

  • snap-to-vertex / snap-to-edge — silently dropped. The result's PickResult.snap is null.
  • worldNormal, localPos, uv — not provided by the BVH path; left null on the result.

Stateless after construction; stateEpoch stays 0.

Implements

Constructors

Properties

Methods

Constructors

Properties

stateEpoch: 0

Monotonic counter that bumps every time the strategy's internal state changes in a way that invalidates cached results — for example, when a RoutingPickStrategy's renderer becomes available, or its WebGL context is lost. A future memoising decorator compares this against the epoch stamped on cached results to know when to drop them.

Strategies whose state never changes (e.g. BVHPickStrategy) may always return 0.

Methods