Commit Graph

5 Commits

Author SHA1 Message Date
Michael Chihlas
7f31a90e05 docs(plan): record Win32-opacity decision
Replaces the eval-based set_window_opacity in the plan with the
SetLayeredWindowAttributes implementation that actually shipped.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 22:34:33 -04:00
Michael Chihlas
87843e3be4 docs(plan): drop core:window:allow-set-opacity
Not a real Tauri 2.11.x permission identifier. Discovered when cargo
check listed the actual valid permissions. Opacity is Rust-side only
and routes through our custom command.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 19:14:07 -04:00
Michael Chihlas
a91be65354 docs(plan): add set_window_opacity Rust command
Tauri 2 JS WebviewWindow does not expose setOpacity (only the Rust
side has set_opacity), so the JS layer routes through a custom
command. Surfaced during Task 9 implementation; updates Tasks 16 and
17 to register the command.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 17:55:25 -04:00
Michael Chihlas
6e62673f7e docs: address review of MVP plan
Patches:
- Wire tauri://destroyed listener through onDestroyed callback so
  taskbar-close keeps isOpen in sync (was: defined onOverlayClosed
  but never wired).
- Drop Rust-side opacity restore in apply_state; JS event handler
  reads useOverlayStore.getState().opacity and restores. Fixes
  hotkey-from-50%-opacity stuck at 100%.
- Replace event-based hotkey-registration signal with pull-style
  AppState.hotkey_status + get_hotkey_status command. Eliminates
  the listener-not-yet-registered race.
- Remove unused LogicalPosition/LogicalSize imports (would have
  failed tsc under noUnusedLocals).
- Remove unused urlError selector in OpenOverlayButton (same).
- Replace flushPendingPersist with flushPendingPersistSync that
  fires the write fire-and-forget; document the bounded staleness
  trade-off (<= 300ms loss on crash).
- Drop broken docs/screenshot.png reference from README.
- Collapse Task 18 down: syncClickThroughCache now lives in Task 9
  alongside lib/overlay.ts; Task 18 only touches the live-wiring
  hook to keep the cache in sync on UI-side toggles.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 17:25:32 -04:00
Michael Chihlas
4a3d380b54 docs: add Phase 1 MVP implementation plan
Twenty bite-sized tasks covering project hygiene, Tailwind v4 setup,
Zustand store + tested URL/debounce helpers, the WebviewWindow API
boundary, persistence, Rust plugin registration with click-through
toggle, capability files (overlay locked down), manual verification
checklist, and README + tag.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:14:24 -04:00