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.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import React, { useState, useMemo, useCallback, useRef } from 'react';
|
||||
import { ArrowLeft, Zap, Wrench, Download, ChevronRight, Play, Pause, RotateCcw } from 'lucide-react';
|
||||
import { Player, PlayerRef } from '@remotion/player';
|
||||
import { BradlyPlayer, BradlyPlayerRef } from '../../engine/player';
|
||||
import { ExpressTemplate, DesignMD, TimelineElement, TimelineLayer, CompanyProfile } from '../../types';
|
||||
import { BrandComposition } from '../BrandComposition';
|
||||
import { ExpressTemplateGallery } from './ExpressTemplateGallery';
|
||||
@@ -42,7 +42,7 @@ export const ExpressEditor: React.FC<ExpressEditorProps> = ({
|
||||
const [showLogo, setShowLogo] = useState(true);
|
||||
const [overlayOpacity, setOverlayOpacity] = useState(0);
|
||||
|
||||
const playerRef = useRef<PlayerRef>(null);
|
||||
const playerRef = useRef<BradlyPlayerRef>(null);
|
||||
|
||||
const handleSelectTemplate = useCallback((template: ExpressTemplate) => {
|
||||
setSelectedTemplate(template);
|
||||
@@ -208,7 +208,7 @@ export const ExpressEditor: React.FC<ExpressEditorProps> = ({
|
||||
maxHeight: 'calc(100% - 80px)',
|
||||
}}
|
||||
>
|
||||
<Player
|
||||
<BradlyPlayer
|
||||
ref={playerRef}
|
||||
component={BrandComposition}
|
||||
inputProps={{
|
||||
|
||||
Reference in New Issue
Block a user