import React from 'react'; import { AbsoluteFill, useCurrentFrame, useVideoConfig, Audio, Video, staticFile, Series, } from 'remotion'; import { TransitionSeries, linearTiming } from '@remotion/transitions'; import { wipe } from '@remotion/transitions/wipe'; import { slide } from '@remotion/transitions/slide'; import { scenes, videoConfig } from './scenes-data'; import { SceneRenderer } from './SceneRenderer'; import { designTokens } from './styles/design-tokens'; export const CyberWireframe: React.FC<{ audioPath?: string; bgVideo?: string; bgOpacity?: number; bgOverlayColor?: string; }> = ({ audioPath, bgVideo, bgOpacity, bgOverlayColor }) => { const frame = useCurrentFrame(); const { fps } = useVideoConfig(); const currentTime = frame / fps; // Use prop values if provided, otherwise fall back to videoConfig const finalAudioPath = audioPath || videoConfig.audioPath; const finalBgVideo = bgVideo || videoConfig.bgVideo; const finalBgOpacity = bgOpacity !== undefined ? bgOpacity : videoConfig.bgOpacity ?? 0.7; const finalBgOverlayColor = bgOverlayColor || videoConfig.bgOverlayColor || designTokens.colors.background.translucentDark; return ( {/* Global background video layer */} {finalBgVideo && (