// @ts-nocheck import React from "react"; import { AbsoluteFill } from "remotion"; import { W, H } from "../chronixel/theme"; /** * Wraps any full-frame scene into a split "card" occupying one side of the * frame, with the rest TRANSPARENT (alpha). Rendered with --codec=prores * --prores-profile=4444 it produces a clip you drop on V2 over the talking * head — the empty side shows the person through, no chroma key / no crop. * * The scene renders at full 1920×1080 internally and is scaled to fit the * panel width, vertically centred — so layouts are preserved, not squished. */ export const SplitScene: React.FC<{ side?: "left" | "right"; widthPct?: number; // panel width as % of frame children: React.ReactNode; }> = ({ side = "left", widthPct = 62, children }) => { const panelW = (W * widthPct) / 100; const scale = panelW / W; const panelH = H * scale; return (
{children}
); };