reframe-video 0.6.20 → 0.6.21
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/guides/directing-guide.md +8 -2
- package/package.json +1 -1
- package/skills/reframe/SKILL.md +14 -4
|
@@ -74,6 +74,11 @@ flagship scenes — reuse the technique, vary the content:
|
|
|
74
74
|
|
|
75
75
|
### 4. Verify objectively (don't argue about "more dynamic")
|
|
76
76
|
|
|
77
|
+
Mind the tiers so you're not full-rendering to check small things: `compile`
|
|
78
|
+
(validate eDSL → IR, ~1s) and `labels` are cheap, no render; `frame --t <sec>`
|
|
79
|
+
is the cheap visual look (one PNG, ~1s); `motion`/`trace` below need a finished
|
|
80
|
+
render or reference video, so they're end-stage measurement, not the per-edit loop.
|
|
81
|
+
|
|
77
82
|
- `reframe labels scene.ts` — every label → exact seconds. The timing source for audio + a
|
|
78
83
|
sanity check that beats land when you think.
|
|
79
84
|
- `reframe motion out.mp4` — speeds, static fraction, oscillation rhythm, spikes. A vague
|
|
@@ -97,5 +102,6 @@ addresses), so the human's polish isn't lost when you redo the base.
|
|
|
97
102
|
matching with `diff` before adding motion.
|
|
98
103
|
- Keep `id`s/labels stable across rewrites (see `reframe guide --regen`) so the user's
|
|
99
104
|
overlay edits survive.
|
|
100
|
-
- It's still iterative. The tools cut the rounds; they don't remove the loop.
|
|
101
|
-
|
|
105
|
+
- It's still iterative. The tools cut the rounds; they don't remove the loop. `compile` to
|
|
106
|
+
validate (~1s), `frame --t <sec>` to look at a held moment (~1s), adjust — the agent should
|
|
107
|
+
read frames, not guess. Full `render` is the last step, not the per-edit check.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reframe-video",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.21",
|
|
4
4
|
"description": "Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"motion-graphics",
|
package/skills/reframe/SKILL.md
CHANGED
|
@@ -19,7 +19,15 @@ runtime needs ffmpeg on PATH and a one-time `npx playwright install chromium`
|
|
|
19
19
|
Scenes must be pure functions of time: no `Math.random()`/`Date` — use
|
|
20
20
|
`wiggle` with a seed. Give every node a meaningful stable `id` and label
|
|
21
21
|
the key timeline moments — those names are addresses for everything below.
|
|
22
|
-
3.
|
|
22
|
+
3. Iterate on the cheap commands; full-render once at the end:
|
|
23
|
+
- `npx -y reframe-video compile <name>.ts` — validate eDSL → IR in ~1s, no
|
|
24
|
+
browser, no ffmpeg. Fix the classified error it prints, repeat. Catch every
|
|
25
|
+
syntax/validation error here before launching anything heavier.
|
|
26
|
+
- `npx -y reframe-video frame <name>.ts --t <sec> -o frame.png` — render ONE
|
|
27
|
+
PNG at a key moment in ~1s (chromium only, no mp4 mux) and LOOK at it. This
|
|
28
|
+
is your visual check; sample a few times across the timeline.
|
|
29
|
+
- `npx -y reframe-video render <name>.ts` → `out/<name>.mp4` — the full mp4 is
|
|
30
|
+
~10x slower; run it once the frames look right, not per edit.
|
|
23
31
|
|
|
24
32
|
## Directing a high-end piece (cinematic / reference-faithful)
|
|
25
33
|
|
|
@@ -86,6 +94,8 @@ to handle explicitly:
|
|
|
86
94
|
|
|
87
95
|
## Verification habits
|
|
88
96
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
Verify on the cheap commands, not by full-rendering. `compile` (validate, ~1s)
|
|
98
|
+
then `frame --t <sec>` (one PNG, ~1s) is the inner loop; `render` is for the
|
|
99
|
+
final mp4. Don't pull frames out of an mp4 with ffmpeg just to look — `frame`
|
|
100
|
+
writes the PNG directly and skips the mux. Same input renders byte-identically,
|
|
101
|
+
so "it changed" or "it didn't change" is always provable from a single frame.
|