════════════════════════════════════════════════════════════════════════ CROSS-PLATFORM CHECKLIST Gnomad Webcanvas · docs/CROSS_PLATFORM_CHECKLIST.md ════════════════════════════════════════════════════════════════════════ CROSS-PLATFORM CHECKLIST — GNOMAD WEBCANVAS =========================================== Use when adding or changing UI, file I/O, or OS-facing behavior. ──────────────────────────────────────── SHARED REACT BUNDLE ------------------- The same src/ code runs in web and desktop (Tauri WebView). Verify: • [ ] Feature works in npm run dev (browser) • [ ] Feature works in npm run tauri:dev (desktop) • [ ] No hard dependency on Tauri APIs without platformBridge guard • [ ] isDesktop() gates desktop-only shortcuts (Open, Save As) ──────────────────────────────────────── PLATFORM MATRIX --------------- Feature | Web | macOS | Windows | Linux Live preview | ✓ | ✓ | ✓ | ✓ localStorage projects | ✓ | ✓ | ✓ | ✓ ZIP export | ✓ | ✓ | ✓ | ✓ URL share | ✓ | ✓ | ✓ | ✓ Open file | — | ✓ | ✓ | ✓ Save / Save As | — | ✓ | ✓ | ✓ Window title dirty | — | ✓ | ✓ | ✓ ──────────────────────────────────────── KEYBOARD SHORTCUTS ------------------ Shortcut | macOS | Windows/Linux Save | ⌘S | Ctrl+S Open | ⌘O | Ctrl+O Refresh | ⌘Enter | Ctrl+Enter Monaco may consume some bindings — test Save/Open do not conflict. ──────────────────────────────────────── FILE DIALOGS ------------ Desktop file I/O uses Tauri plugin-dialog: • [ ] Open filter: .html, .htm • [ ] Save filter: .html • [ ] Paths with spaces handled • [ ] Cancel dialog → no error toast / crash Test parseHtmlFile() with files saved from Chrome, VS Code, and Webcanvas itself. ──────────────────────────────────────── BEFORE MERGE ------------ [bash] npm run lint npx tsc -b --noEmit npm run build If touching Tauri config or Rust: [bash] cd src-tauri && cargo check ──────────────────────────────────────── RELEASE VERIFICATION -------------------- Full QA_CHECKLIST.md on macOS, Windows, and Linux before publishing draft release. ──────────────────────────────────────── Built with ❤️ by Gnomad Studio 🦙 ════════════════════════════════════════════════════════════════════════ Built with ❤️ by Gnomad Studio 🦙 https://gnomadstudio.org ════════════════════════════════════════════════════════════════════════