docs/plans/2026-03-17-selection-internals.md
Complete ordered slice 2 only:
shouldTrigger bug if the new spec proves itSelectionArea suite for threshold and scroll behaviorpackages/selection/src/internal/utils/*packages/selection/src/internal/EventEmitter.tspackages/selection/src/internal/SelectionArea.tsshouldTrigger returns on the first trigger instead of checking whether any configured trigger matchesframes, selectAll, intersectsScroll, or EventTargetSelectionArea is large, but the highest-value non-React seam is still threshold-start and scroll/frame schedulingstartThreshold is inclusive and uses the combined client-coordinate delta, so 30,40 -> 33,43 already crosses a threshold of 6pnpm turbo typecheck --filter=./packages/selection only went green after a full root pnpm build; the earlier filtered build was not enough to satisfy workspace-built exports for this packageshouldTrigger if red test proves the bugSelectionArea coveragebun run test packages/selection/src/internal/utils/shouldTrigger.spec.ts packages/selection/src/internal/utils/frames.spec.ts packages/selection/src/internal/utils/selectAll.spec.ts packages/selection/src/internal/utils/intersects.spec.ts packages/selection/src/internal/EventEmitter.spec.ts packages/selection/src/internal/SelectionArea.spec.tspnpm installpnpm turbo build --filter=./packages/selectionpnpm turbo typecheck --filter=./packages/selectionpnpm lint:fixbun run test packages/selection/src/internal/utils/shouldTrigger.spec.ts packages/selection/src/internal/utils/frames.spec.ts packages/selection/src/internal/utils/selectAll.spec.ts packages/selection/src/internal/utils/intersects.spec.ts packages/selection/src/internal/EventEmitter.spec.ts packages/selection/src/internal/SelectionArea.spec.tspnpm buildpnpm turbo typecheck --filter=./packages/selectionshouldTrigger, frames, selectAll, intersectsScroll, and EventTargetSelectionArea coverage for drag threshold start, single-click behavior, and manual scroll frame schedulingshouldTrigger bug so later configured triggers can match