Commit Graph

19 Commits

Author SHA1 Message Date
kevinguevara 0676e9f0a8 feat: AI Brand Voice Translator integration and Mesh Content fix 2026-06-03 23:56:58 -05:00
kevinguevara ad8622e243 feat: daily timeline advanced UI and calendar integration 2026-06-03 04:08:13 -05:00
kevinguevara cac5bd9faf fix: Repair blend mode stacking context in canvas and display mode in live preview 2026-06-02 23:27:50 -05:00
kevinguevara c90628efdf fix: Render intro and outro videos correctly on BuilderCanvas preview 2026-06-02 23:18:22 -05:00
kevinguevara 75c600aefd fix: Syntax error in FieldConfigPanel.tsx 2026-06-02 23:12:38 -05:00
kevinguevara 419e25a87b fix: Expose Blend Mode selector for brand-variable and static fields 2026-06-02 23:10:35 -05:00
kevinguevara 0abfa2b8ed feat: Add Blend Mode support to Video and Image template fields 2026-06-02 23:01:58 -05:00
kevinguevara e85d8eabcc feat: Support brand Intro and Outro videos in template fields 2026-06-02 22:55:16 -05:00
kevinguevara dc6cab57bd fix: Scale element borders, shadows and blurs dynamically based on resolution 2026-06-02 22:31:27 -05:00
kevinguevara 32a993d6a9 feat: Dynamic text scaling based on video resolution 2026-06-02 22:18:00 -05:00
kevinguevara 58d9b095a3 feat: Add batch video export support with Export Queue and modal 2026-06-02 22:16:51 -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 b7656cf8eb feat(ui): apply brand identity colors, typography, and contextual toolbar 2026-06-02 15:27:01 -05:00
kevinguevara f998e454fe Refactor: remove AGPL imgly dependency and migrate background removal to python backend 2026-06-02 14:50:25 -05:00
kevinguevara 560a413c1e fix: dynamic video duration across ProductionForm + LivePreviewCanvas
- Expanded useVideoDurations to detect both form-sourced segments AND
  editable-slot video fields inside content scenes
- Wired videoDurations into ProductionForm (getTemplateDuration,
  compileExpressToTimeline, LivePreviewCanvas, ExportModal)
- LivePreviewCanvas now accepts videoDurations prop
- Simplified getTemplateDuration/compiler: any scene with a known
  video duration uses it, regardless of segmentSource type
- A 33s uploaded video now creates a 33s timeline, not 5s
2026-06-02 09:58:37 -05:00
kevinguevara a21675e5fc fix: 3 critical bugs — audio corruption, blob URLs, static duration
1. Audio/Video sync: During playback, let the browser handle media naturally
   and only force-seek when drift > 250ms. Prevents audio glitching caused
   by setting currentTime 30x/sec. When paused/scrubbing, sync precisely.

2. Blob URLs → Server uploads: All media uploads (BrandTabMedia, SceneFieldEditor,
   TemplateFieldInput) now POST to /api/upload and use persistent server URLs
   instead of blob: URLs that vanish on refresh.

3. Dynamic duration: Added useVideoDurations hook that probes actual video
   durations from uploaded form videos. getTemplateDuration and
   compileExpressToTimeline now accept videoDurations to override static
   durationSeconds for form-sourced scenes.
2026-06-02 09:48:28 -05:00
kevinguevara 32505f95ce chore: remove all Remotion references from Electron main + UI
- Cleaned Electron main.ts: removed Remotion bundle path, compositor path, and predownloadBrowser()
- Set BRADLY_SERVE_URL from Express port for headless rendering
- Cleaned GlobalSettingsPanel: removed Remotion-specific frame capture code
- Removed stale remotion:bundle script from package.json
- Zero Remotion dependencies, imports, or functional code remain
2026-06-02 05:35:03 -05:00
kevinguevara ff07d8c492 feat: replace Remotion with custom Bradly Engine (Phases 1-3)
- Phase 1: Custom animation engine (interpolate, spring, Easing)
- Phase 2: Custom composition components (AbsoluteFill, Sequence, Img, Video, Audio)
- Phase 3: BradlyPlayer with rAF frame loop, imperative API, controls

Migrated 24 files from remotion/@remotion/player imports to src/engine/.
All type errors from migration resolved. Pre-existing errors remain unchanged.
2026-06-02 05:20:43 -05:00
kevinguevara b135a70cc7 Initial commit — Bradly branding editor platform 2026-06-02 03:27:03 -05:00