dev@bfd:~/dev-diary$ git show 2026-02
commit 2026-02-05-build-native-gdi-capture-path-for-snapdual
Author: MJ
Date: Feb 05, 2026

2026-02-05 - Build native GDI capture path for SnapDual

Timeline

  • (Context) Capture latency and reliability still felt rough in the Windows flow
  • (Action) Implemented in-memory full-screen capture through Win32 GDI in native_screenshot_service.dart
  • (Action) Updated capture_service.dart for borderless overlay capture, virtual-screen bounds, and safe style restoration
  • (Action) Refined crop and UX layers in crop_overlay.dart, full_gui_widget.dart, home_screen.dart, and hotbar_widget.dart
  • (Action) Updated launcher automation in snap_dual.ps1
  • (Observation) Native capture + isolate processing reduced overhead compared with disk-first capture paths
  • (Open Thread) Validate behavior across mixed-DPI multi-monitor and ultra-wide virtual desktop setups

Context

  • Goal was practical: capture full virtual screen quickly, select reliably, save cleanly
  • Work required coordination across Win32 capture, overlay routing, and window-manager state transitions

Actions

  • Updated native_screenshot_service.dart for native GDI capture.
  • Updated capture_service.dart for overlay capture and screen-bound handling.
  • Updated crop_overlay.dart for more stable region selection behavior.
  • Updated full_gui_widget.dart for smoother mode transitions.
  • Updated home_screen.dart and hotbar_widget.dart for capture UX polish.
  • Updated snap_dual.ps1 launcher automation and startup behavior.

Observations

  • Window-style transitions (normal -> popup -> restore) were required to remove titlebar artifacts during overlay mode
  • Hotbar drag behavior and full-GUI switching improved once restoration logic was centralized

Open Threads

  • Add smoke checks around cancel and ESC flows to prevent stale topmost/fullscreen state
  • Decide whether PNG/JPG dual-save remains configurable or is pinned to one default

Boundary Reminder: Seeds. No maintenance. No roadmap.