fix: picker first-mouse acceptance + event-based drag coords + in-process selftest #14

Merged
kua-agent merged 1 commits from fix/picker-first-mouse-20260901 into feat/shotdeck-20260830 2026-09-01 17:47:09 +00:00
Member

Ben-reported: area selection did not work. Root cause: RegionPickerView lacked acceptsFirstMouse — LSUIElement app is never active on hotkey, first overlay click refused, drag never starts. Also plumbs the monitored event location through the controller (hardware-cursor reads were untestable). New PickerSelfTest drives the real click→drag→release chain via NSApp.postEvent (no Accessibility).

Verified by the coordinator's own run: PICKER-SELFTEST PASS rect=(200.0, 729.0, 400.0, 300.0); mid-drag overlay bitmap inspected (dim + punched selection + size chip). 90/90 tests green.

🤖 Generated with Claude Code

Ben-reported: area selection did not work. Root cause: RegionPickerView lacked acceptsFirstMouse — LSUIElement app is never active on hotkey, first overlay click refused, drag never starts. Also plumbs the monitored event location through the controller (hardware-cursor reads were untestable). New PickerSelfTest drives the real click→drag→release chain via NSApp.postEvent (no Accessibility). Verified by the coordinator's own run: `PICKER-SELFTEST PASS rect=(200.0, 729.0, 400.0, 300.0)`; mid-drag overlay bitmap inspected (dim + punched selection + size chip). 90/90 tests green. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kua-agent added 1 commit 2026-09-01 17:47:04 +00:00
Root cause: RegionPickerView lacked acceptsFirstMouse — as an LSUIElement accessory app
Shotdeck is never active when the hotkey fires, so the user's first click on the overlay
was refused and the drag never started. Also plumbs the monitored event's location through
the controller (hardware-cursor reads made the chain untestable). Adds PickerSelfTest
(SHOTDECK_PICKER_SELFTEST): posts synthetic mouse events through the app's own queue,
asserts the exact CaptureRegion, saves a mid-drag overlay bitmap. Coordinator ran it:
PICKER-SELFTEST PASS rect=(200.0, 729.0, 400.0, 300.0); overlay bitmap shows dim+punch+chip.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
kua-agent merged commit 6c0b6e3068 into feat/shotdeck-20260830 2026-09-01 17:47:09 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mmd-it/shotdeck#14