creator-editing-studio 1.3.7 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/finish.mjs +132 -0
- package/bin/init.mjs +5 -1
- package/bin/update.mjs +18 -0
- package/history.json +1 -1
- package/package.json +2 -1
- package/template/CLAUDE.md +31 -7
- package/template/package.json +3 -1
- package/template/preview/lib.mjs +164 -19
- package/template/preview/player.html +71 -68
- package/template/preview/server.mjs +246 -23
- package/template/remotion.config.ts +5 -0
- package/template/scripts/approve.mjs +39 -0
- package/template/scripts/lib/plan-gate.mjs +73 -0
- package/template/scripts/plan-sheet.mjs +99 -0
- package/template/src/components/CommentBox.tsx +31 -0
- package/template/src/components/FilmBurn.tsx +48 -0
- package/template/src/components/FlashBloom.tsx +45 -0
- package/template/src/components/MergeToPill.tsx +56 -0
- package/template/src/components/NotificationDrop.tsx +49 -0
- package/template/src/components/PillCaptions.tsx +62 -0
- package/template/src/components/ReelRing.tsx +81 -0
- package/template/src/components/WhipScene.tsx +90 -0
- package/template/src/design/motion.ts +8 -0
- package/template/src/lib/brand.tsx +89 -0
- package/template/src/lib/layout.tsx +113 -0
- package/template/src/lib/recolor.ts +173 -0
- package/template/src/lib/tweaks.tsx +108 -6
- package/template/src/plan/entry.tsx +66 -0
- package/template/src/videos/whats-new/WhatsNewEdit.tsx +177 -0
- package/template/src/videos/whats-new/beats.ts +44 -0
- package/template/src/videos/whats-new/head-track.json +5195 -0
- package/template/src/videos/whats-new/preview.tsx +36 -0
- package/template/src/videos/whats-new/tweaks.json +1 -0
- package/template/src/videos/whats-new/words.json +1 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the live preview plays for the whats-new demo: the edit (silent — no voice ships), its six beats, and what
|
|
3
|
+
* each beat can be adjusted by. The whole clip is head-tracked, so every beat's Follow head is instant.
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import {AbsoluteFill} from 'remotion';
|
|
7
|
+
import {BEATS as ALL, LIMITS, type Tweaks} from './beats';
|
|
8
|
+
import {FRAMES, HEIGHT, WIDTH, WhatsNewEdit} from './WhatsNewEdit';
|
|
9
|
+
import headTrack from './head-track.json';
|
|
10
|
+
import SAVED from './tweaks.json';
|
|
11
|
+
|
|
12
|
+
export const Comp: React.FC<{tweaks?: Tweaks}> = ({tweaks}) => (
|
|
13
|
+
<AbsoluteFill>
|
|
14
|
+
<WhatsNewEdit tweaks={tweaks ?? (SAVED as Tweaks)} />
|
|
15
|
+
</AbsoluteFill>
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
export const META = {durationInFrames: FRAMES, fps: 30, width: WIDTH, height: HEIGHT};
|
|
19
|
+
// No clip ships; the whole stand-in path is already tracked, so Follow head is always instant.
|
|
20
|
+
const CLIP = '';
|
|
21
|
+
const tracked = new Set((headTrack as {frames: {f: number}[]}).frames.map((x) => x.f));
|
|
22
|
+
const covered = (a: number, b: number) => {
|
|
23
|
+
for (let f = a; f <= b; f++) if (!tracked.has(f)) return false;
|
|
24
|
+
return true;
|
|
25
|
+
};
|
|
26
|
+
export const BEATS = ALL.map(({name, beat, icons, from, to, time, says, fromF, toF}) => ({
|
|
27
|
+
name,
|
|
28
|
+
beat,
|
|
29
|
+
icons,
|
|
30
|
+
from,
|
|
31
|
+
to,
|
|
32
|
+
time,
|
|
33
|
+
says,
|
|
34
|
+
follow: {clip: CLIP, from: fromF, to: toF - 1, tracked: covered(fromF, toF - 1)},
|
|
35
|
+
}));
|
|
36
|
+
export const TWEAKS = {saved: SAVED as Tweaks, file: 'src/videos/whats-new/tweaks.json', icons: [] as string[], limits: LIMITS, trackFile: 'src/videos/whats-new/head-track.json'};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fps":30,"frames":740,"words":[{"text":"Okay,","f":5,"t":14},{"text":"so","f":24,"t":29},{"text":"I","f":34,"t":36},{"text":"have","f":36,"t":41},{"text":"been","f":42,"t":47},{"text":"playing","f":48,"t":56},{"text":"around","f":57,"t":63},{"text":"with","f":65,"t":69},{"text":"this","f":70,"t":75},{"text":"editing","f":79,"t":89},{"text":"setup","f":90,"t":101},{"text":"for","f":108,"t":113},{"text":"a","f":114,"t":115},{"text":"while","f":116,"t":123},{"text":"now","f":126,"t":131},{"text":"and","f":140,"t":143},{"text":"the","f":145,"t":147},{"text":"idea","f":148,"t":154},{"text":"is","f":154,"t":156},{"text":"pretty","f":157,"t":163},{"text":"simple.","f":164,"t":175},{"text":"I","f":184,"t":185},{"text":"shoot","f":189,"t":197},{"text":"the","f":198,"t":201},{"text":"video,","f":202,"t":215},{"text":"talk","f":224,"t":232},{"text":"normally,","f":233,"t":247},{"text":"leave","f":257,"t":263},{"text":"all","f":269,"t":272},{"text":"the","f":274,"t":276},{"text":"pauses","f":277,"t":288},{"text":"in","f":292,"t":296},{"text":"and","f":305,"t":309},{"text":"then","f":315,"t":321},{"text":"the","f":322,"t":325},{"text":"system","f":327,"t":336},{"text":"handles","f":338,"t":349},{"text":"the","f":351,"t":354},{"text":"boring","f":354,"t":364},{"text":"stuff","f":366,"t":375},{"text":"like","f":381,"t":385},{"text":"cut","f":392,"t":398},{"text":"the","f":399,"t":403},{"text":"gaps,","f":404,"t":415},{"text":"add","f":420,"t":424},{"text":"captions,","f":426,"t":443},{"text":"brings","f":452,"t":459},{"text":"in","f":461,"t":464},{"text":"b-rolls,","f":465,"t":481},{"text":"adds","f":489,"t":492},{"text":"a","f":495,"t":497},{"text":"few","f":498,"t":504},{"text":"zooms","f":505,"t":515},{"text":"and","f":520,"t":523},{"text":"motion","f":525,"t":534},{"text":"graphics.","f":535,"t":551},{"text":"Basically,","f":560,"t":573},{"text":"it","f":573,"t":575},{"text":"turns","f":577,"t":585},{"text":"this","f":586,"t":590},{"text":"raw","f":592,"t":597},{"text":"clip","f":599,"t":606},{"text":"into","f":608,"t":616},{"text":"something","f":617,"t":629},{"text":"I","f":631,"t":632},{"text":"would","f":633,"t":637},{"text":"actually","f":639,"t":648},{"text":"post,","f":650,"t":659},{"text":"which","f":668,"t":676},{"text":"honestly","f":680,"t":692},{"text":"saves","f":693,"t":700},{"text":"me","f":700,"t":703},{"text":"a","f":703,"t":704},{"text":"ridiculous","f":704,"t":718},{"text":"amount","f":719,"t":726},{"text":"of","f":728,"t":730},{"text":"time.","f":731,"t":737}]}
|