Skip to content

v1: strokes crossing the cut line are not selected #19

Description

@gorlix

Context

lassoElements uses findTrailsContourInBox: it only selects strokes whose contour is fully inside the rect. A stroke that crosses the cut line (part above, part below) is not selected, so it stays put while the rest moves.

Current behavior

Strokes straddling the cut line are left behind. Fine when cutting in blank space between lines; surprising if a stroke crosses the line.

Goal

Decide and implement the desired handling for crossing strokes. Options:

  1. Document + accept (status quo): cut only in gaps.
  2. Warn: detect crossing strokes near the line and hint the user to pick a clearer gap.
  3. Include: also move strokes that cross the line (requires the v2 per-element shift, not pure lasso).

Approach

  • Detection: read elements near cutY (getElements / getLastElement) and test bounding boxes against the line.
  • Option 3 ties into the v2 auto-move work.

Acceptance criteria

  • Chosen behavior implemented and documented.
  • If "warn", a clear en/it message; if "include", crossing strokes move with the selection.

References

  • .claude/skills/supernote-plugin-dev/references/make-space.md §3
  • references/pen-emr.md Pattern 14 (lasso contour requirement)

Metadata

Metadata

Assignees

No one assigned

    Labels

    limitationKnown limitation to addressv1Belongs to v1 scope

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions