docmontage: end-tag overlay default + Chirp 3 HD as default TTS voice

End-tag now composited over final body footage (ProRes 4444 with alpha)
instead of concatenated as a black card. Updated idea-director,
edit-director, compose-director, and pipeline manifest with overlay-first
instructions. Default Google TTS voice changed from Neural2-D to
Chirp3-HD-Orus across tool code and docs.
This commit is contained in:
calesthio
2026-04-11 21:38:36 -07:00
parent a8d1ebdf6f
commit cf3527fbbe
8 changed files with 171 additions and 30 deletions
+18
View File
@@ -220,6 +220,24 @@ export const Root: React.FC = () => {
fadeOutSeconds: 0.6,
} as EndTagProps}
/>
<Composition
id="EndTagOverlay"
component={EndTag}
// 8.19s at 30fps = 246 frames. Render CLI can override via --props.
// Intended to be composited on top of body footage, not concat'd.
durationInFrames={246}
fps={30}
width={1920}
height={1080}
defaultProps={{
text: "EARN THE LIGHT.",
palette: "cool_offwhite_on_black",
fadeInSeconds: 1.0,
holdSeconds: 5.69,
fadeOutSeconds: 1.5,
overlay: true,
} as EndTagProps}
/>
</>
);
};
+8 -1
View File
@@ -13,6 +13,12 @@ export interface EndTagProps {
fadeInSeconds?: number;
holdSeconds?: number;
fadeOutSeconds?: number;
// Overlay mode: render on a transparent background so the tag can be
// composited on top of the body footage in post, instead of being
// concatenated as a standalone black card. When `overlay=true` the
// AbsoluteFill drops its background fill — caller is responsible for
// rendering with an alpha-capable codec (VP9/WebM or ProRes 4444).
overlay?: boolean;
}
const PALETTES = {
@@ -49,6 +55,7 @@ export const EndTag: React.FC<EndTagProps> = ({
fadeInSeconds = 0.6,
holdSeconds = 4.3,
fadeOutSeconds = 0.6,
overlay = false,
}) => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
@@ -113,7 +120,7 @@ export const EndTag: React.FC<EndTagProps> = ({
return (
<AbsoluteFill
style={{
backgroundColor: pal.background,
backgroundColor: overlay ? "transparent" : pal.background,
justifyContent: "center",
alignItems: "center",
}}