You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mục tiêu: Ứng dụng Menu Bar trên macOS, cung cấp các công cụ hỗ trợ thuyết trình (Vẽ, Zoom, Highlight, Spotlight) tức thì qua phím tắt toàn cục (Global Hotkeys) mà không làm gián đoạn phần mềm đang chia sẻ màn hình (Zoom, Google Meet, MS Teams, v.v.).
Target OS: macOS 14.0 (Sonoma) trở lên (Tận dụng ScreenCaptureKit API).
Kiến trúc: Menu Bar App + Transparent Overlay Window.
2. Đặc tả Tính năng cốt lõi (Core Features - MVP)
2.1. System & Control (Hệ thống & Cài đặt)
Onboarding: Yêu cầu quyền Screen Recording và Accessibility ở lần chạy đầu tiên. Có UI hướng dẫn mở System Settings.
Menu Bar Icon: Chứa các menu: Settings, Enable/Disable App, Quit.
Settings Panel (SwiftUI):
General: Khởi động cùng macOS.
Hotkeys: Tùy chỉnh phím tắt cho Zoom, Draw, Spotlight.
Appearance: Chỉnh màu sắc, độ dày nét vẽ mặc định.
2.2. Draw & Annotate (Vẽ và Ghi chú)
Trigger Flow: Nhấn phím tắt -> Màn hình tối đi 10% (0.1s) -> Con trỏ đổi thành bút -> Hiện Floating Toolbar.
Chức năng:
Vẽ tự do (Freehand).
Vẽ hình cơ bản (Mũi tên, Hình chữ nhật).
Auto-fade (Tùy chọn): Nét vẽ tự động biến mất sau 3-5 giây.
Exit Flow: Nhấn Esc hoặc phím tắt lần nữa -> Xóa toàn bộ nét vẽ -> Trả lại quyền click xuyên thấu cho chuột (Click-through).
2.3. Screen Zoom (Phóng to cận cảnh)
Trigger Flow: Nhấn phím tắt -> Chụp nhanh (snapshot) màn hình hiện tại.
Chế độ Kính lúp (Loupe Mode): Xuất hiện một vòng tròn quanh con trỏ chuột, hiển thị phần hình ảnh bên dưới được phóng to 200%. Di chuyển chuột đến đâu, kính lúp đi theo đến đó.
Exit Flow: Nhấn Esc hoặc Click chuột trái để thoát.
2.4. Spotlight (Focus Mode)
Trigger Flow: Nhấn phím tắt.
Behavior: Toàn màn hình phủ lớp overlay đen (opacity 70%). Khoét một lỗ tròn trong suốt quanh con trỏ chuột để làm nổi bật vùng được chỉ định. Vẫn cho phép click xuyên qua để thao tác.
Hỗ trợ shape, line/arrow, freehand, text, numbered marker, multi-selection,
move/resize/rotate, group semantics, lock, layer ordering và undo/redo.
Property panel chỉnh stroke/fill, opacity, width, roughness, dash, hachure,
rounded corners, font family, alignment và hyperlink.
Text multiline có wrapping, container text và arrow label; connector snap/bind
vào shape và tự cập nhật khi diagram thay đổi.
Quản lý nhiều board với autosave atomic và tự động migrate
Whiteboard.json cũ sang WhiteboardLibrary.json có version; hỗ trợ rename,
duplicate, switch và delete board.
Export PNG vùng đang nhìn, SVG toàn bộ nội dung và file .excalidraw
editable. Clipboard cung cấp native data, Excalidraw JSON và SVG; có thể paste
trực tiếp Excalidraw JSON. Element chưa hỗ trợ được giữ lại để re-export.
Dữ liệu chỉ lưu local; không có account, cloud hoặc collaboration.