Master Canvas uses Electron for desktop packaging and Vite for the renderer build.
npm install
npm run desktopThis builds the web app and opens it in an Electron window.
npm run desktop:dirThis creates an unpacked desktop app in release/. It is useful for QA before making installers.
npm run desktop:distElectron Builder targets are configured for macOS, Windows, and Linux.
Generated artifacts are written to release/. On macOS this creates a .dmg and a .zip app bundle.
The development config skips macOS signing with:
"identity": nullThat is fine for local QA and open-source test builds. For public distribution where users can double-click without Gatekeeper warnings, remove that setting and sign/notarize with your Apple Developer ID.
Unsigned macOS builds can still be opened, but first-run users may need to right-click the app and choose Open, or approve it in System Settings. A signed and notarized build is the polished "download, double-click, opens normally" experience.
Windows builds can produce an .exe installer and .zip. For a clean no-warning Windows release, sign the installer with a code-signing certificate.
Linux builds can produce an AppImage and tarball. AppImage users may need to mark the file executable before launching.
The desktop app stores project data in Electron/Chromium local storage and IndexedDB on the user's machine. Nothing is uploaded to a server.