feat(remotion): shared FinishPass cinematic grade (quality floor) + @remotion/lottie
The single highest-ROI quality lift — one finish applied at the FlexStory level lifts all 12 blocks at once, no per-block change: - GRADE_FILTER: a headless-safe colour grade (contrast/saturation/lift) applied as a CSS `filter` on the content root — backdrop-filter does NOT render in headless Chrome, so the grade lives on the content, not an overlay. - FinishPass: split-tone (cool-shadows multiply + warm-highlights screen) + a soft brand duotone + top light-bloom, layered over each scene. - Installed @remotion/lottie@4.0.290 (artist-made animations — next lever). Verified: visible richer/graded look on CharacterScene + Slideshow, subtle enough to suit the muted palette, consistent across blocks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import { FONT } from "../lib/fonts";
|
||||
import { useLayout } from "../lib/aspect";
|
||||
import { getBlock } from "../scenes/registry";
|
||||
import { withDefaults, clampDuration } from "../scenes/types";
|
||||
import { FinishPass, GRADE_FILTER } from "../scenes/chrome";
|
||||
|
||||
/**
|
||||
* FlexStory — the scene sequencer. A template is `scenes: SceneInstance[]`; this
|
||||
@@ -78,7 +79,7 @@ export const FlexStory: React.FC<Props> = (props) => {
|
||||
});
|
||||
|
||||
return (
|
||||
<AbsoluteFill style={{ backgroundColor: colors.backgroundColor, fontFamily: FONT }}>
|
||||
<AbsoluteFill style={{ backgroundColor: colors.backgroundColor, fontFamily: FONT, filter: GRADE_FILTER }}>
|
||||
{music ? <Audio src={resolveAudio(music)} loop volume={musicVolume} /> : null}
|
||||
|
||||
{scenes.map((sc, i) => {
|
||||
@@ -101,6 +102,9 @@ export const FlexStory: React.FC<Props> = (props) => {
|
||||
</Sequence>
|
||||
))
|
||||
: null}
|
||||
|
||||
{/* Cinematic finish over every scene — the shared quality floor. */}
|
||||
<FinishPass colors={colors} />
|
||||
</AbsoluteFill>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user