carry of #28075: fix Priority row hit testing

TE
5d ago
+255-18

Carry of #28075: fix Priority row drag hit testing.

Original purpose: #28075 carries #25231 so Priority row drag hit testing routes presses to the row while preserving action buttons. This carry merges current feat-cmux-next and fixes the remaining BLOCK P2: FlippedDocument forwards document-space points directly to row hitTest, so rows below the first rejected all clicks and drags. hitTest now converts from its superview before bounds/button checks, with a regression test using a non-top row's document-space point.

Original PR: https://github.com/manaflow-ai/cmux/pull/28075

Agent session: agent session


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Carries #28075 into feat-cmux-next: Priority view rows now drag to reorder, and a hit-testing bug that rejected clicks and drags on rows below the first is fixed.

New Features

  • Drag a row past the drag threshold to move it; a click, jitter included, still opens the chat.
  • A dropped chat keeps its place in the ranking (AgentPriorityMarks.placed), and the others rank around it; an idle chat moved up no longer sinks below unread ones.
  • Placed idle chats stay past the idle horizon, like pinned ones.
  • Marks saved before placed existed still load.

Bug Fixes

  • FlippedDocument passed document-space points straight to row hitTest, so rows below the first never received hits. hitTest now converts to the row's coordinates before checking bounds and buttons.