Commit Graph

5 Commits

Author SHA1 Message Date
kevinguevara ad8622e243 feat: daily timeline advanced UI and calendar integration 2026-06-03 04:08:13 -05:00
kevinguevara 9503dbfabc fix(rendering): synchronize FPS, implement render locks, respect brand segment duration, and fix local audio path resolving for ffmpeg 2026-06-02 20:40:30 -05:00
kevinguevara 551bff56a2 feat: Phase 4 — replace @remotion/bundler + @remotion/renderer with Puppeteer + FFmpeg
- Created src/engine/renderer/puppeteerRenderer.ts (frame capture via headless Chrome)
- Created src/engine/renderer/videoEncoder.ts (FFmpeg CLI wrapper for MP4/WebM)
- Created src/pages/RenderPage.tsx (headless render page with __BRADLY_RENDER__ API)
- Rewrote src/server/renderQueue.ts — zero Remotion imports
- Deleted scripts/bundle-remotion.js
- Replaced @remotion/bundler + @remotion/renderer with puppeteer-core
- Added renderMode detection in main.tsx entry point

Zero Remotion dependencies remain. Fully independent.
2026-06-02 05:33:17 -05:00
kevinguevara 92a8cf78a9 feat: integrate Electron for desktop app
- 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
2026-06-02 03:57:17 -05:00
kevinguevara b135a70cc7 Initial commit — Bradly branding editor platform 2026-06-02 03:27:03 -05:00