feat(film): pillar 2 — right person, automatically
This commit is contained in:
@@ -1,5 +1,36 @@
|
||||
import { AbsoluteFill, Sequence } from "remotion";
|
||||
import { PillarTitle } from "../components/PillarTitle";
|
||||
import { ScreenFrame } from "../components/ScreenFrame";
|
||||
import { KenBurns } from "../components/KenBurns";
|
||||
import { Cursor } from "../components/Cursor";
|
||||
import { Caption } from "../components/Caption";
|
||||
import { DURATIONS } from "../timing";
|
||||
export const Pillar2Dispatch: React.FC = () => (
|
||||
<PillarTitle index="②" title="Pillar 2" subtitle="(stub)" startFrame={0} durationInFrames={DURATIONS.pillar2} />
|
||||
);
|
||||
|
||||
const D = DURATIONS.pillar2;
|
||||
const TITLE = 75;
|
||||
|
||||
export const Pillar2Dispatch: React.FC = () => {
|
||||
const afterTitle = D - TITLE;
|
||||
const half = Math.floor(afterTitle / 2);
|
||||
return (
|
||||
<AbsoluteFill>
|
||||
<Sequence durationInFrames={TITLE}>
|
||||
<PillarTitle index="②" title="The right person, automatically" subtitle="AI picks the rep — proximity + skill" startFrame={0} durationInFrames={TITLE} />
|
||||
</Sequence>
|
||||
|
||||
{/* Beat A: LynkDispatch AI recommendation; cursor assigns */}
|
||||
<Sequence from={TITLE} durationInFrames={half}>
|
||||
<KenBurns durationInFrames={half}><ScreenFrame captureId="dispatch" /></KenBurns>
|
||||
<Cursor from={{ x: 700, y: 350 }} to={{ x: 1430, y: 430 }} moveStartFrame={20} clickAtFrame={46} />
|
||||
<Caption text="LynkDispatch matches each lead to the closest, best-skilled rep." startFrame={10} durationInFrames={half - 20} />
|
||||
</Sequence>
|
||||
|
||||
{/* Beat B: Pipeline kanban — move a deal forward */}
|
||||
<Sequence from={TITLE + half} durationInFrames={afterTitle - half}>
|
||||
<KenBurns durationInFrames={afterTitle - half}><ScreenFrame captureId="kanban" /></KenBurns>
|
||||
<Cursor from={{ x: 560, y: 500 }} to={{ x: 1180, y: 520 }} moveStartFrame={16} clickAtFrame={12} />
|
||||
<Caption text="Deals move through the pipeline instead of going cold." startFrame={10} durationInFrames={afterTitle - half - 20} />
|
||||
</Sequence>
|
||||
</AbsoluteFill>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user