- Add Vite proxy: /api/* requests from renderer (5173) → Express (3000)
- Add dynamic port finding: if 3000 is taken, auto-pick next available
- Import net module for port checking
- Use dynamic expressPort in production URL loading
- Add @electron-forge/maker-squirrel for Windows installer
- Create .ico icon from existing PNG
- Fix compositor platform detection for win32
- Forge config now builds both .dmg (macOS) and .exe (Windows)
- Add Bradly app icon (.icns + .png) for macOS
- Fix Electron production mode: Express serves built renderer files
- Add extraResource for renderer + remotion-bundle in forge.config.ts
- Fix dev:web script to use npx tsx
- Add electron-vite + Electron Forge tooling
- Create Electron main process with embedded Express server
- Create preload script with native dialog IPC bridge
- Refactor server.ts to export createExpressApp() (dual web/electron)
- Adapt renderQueue.ts for packaged binaries + pre-built bundle
- Add ensureBrowser() for Chrome Headless Shell pre-download
- Add scripts/bundle-remotion.js for packaging
- Data persists in ~/Library/Application Support/Bradly/
- Web mode preserved via npm run dev:web