@glissade/cli 0.9.1-pre.0 → 0.9.1
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/dist/cli.js +1 -0
- package/dist/cues.js +6 -0
- package/package.json +10 -10
package/dist/cli.js
CHANGED
|
@@ -61,6 +61,7 @@ render options:
|
|
|
61
61
|
--music <m> auto (default): mix a sibling *.music.timing.json bed, ducked under narration | off
|
|
62
62
|
--sfx <m> auto (default): mix effect hits from a sibling *.sfx.timing.json | off
|
|
63
63
|
--chapters <m> vtt: also write WebVTT chapters from cue markers (cues.json is always written when cues exist)
|
|
64
|
+
(YouTube needs the 1st chapter at 0:00 — auto-anchored — and each chapter >= 10s; author cue ts accordingly)
|
|
64
65
|
--chapters-kind <k[,k]> cue kinds that become VTT chapters (default: chapter); cues.json keeps all kinds
|
|
65
66
|
--strict fail on an unregistered font family or an uncovered glyph (§3.6; default: warn)
|
|
66
67
|
|
package/dist/cues.js
CHANGED
|
@@ -38,6 +38,12 @@ const DEFAULT_CHAPTER_KINDS = new Set(["chapter"]);
|
|
|
38
38
|
* the next chapter; the cue text is the human `title` (falling back to `name`),
|
|
39
39
|
* never the machine `kind`. When the earliest chapter starts after 0, a `00:00`
|
|
40
40
|
* "Intro" chapter is auto-anchored (valid WebVTT, and YouTube needs a 0:00 start).
|
|
41
|
+
*
|
|
42
|
+
* Author note — YouTube's chapter rules are author-side, not enforced here:
|
|
43
|
+
* it needs the FIRST chapter at exactly 0:00 (the auto-anchor handles this, but
|
|
44
|
+
* a tiny first chapter from a lead-in will read oddly — pin chapter 1 to t=0
|
|
45
|
+
* instead) and EVERY chapter to be >= 10s (fold a too-short beat into its
|
|
46
|
+
* neighbour). cues.json is unaffected; only the human-pasted VTT cares.
|
|
41
47
|
*/
|
|
42
48
|
function cuesToVtt(cues, totalDuration, kinds = DEFAULT_CHAPTER_KINDS) {
|
|
43
49
|
const chapters = cues.filter((c) => kinds.has(c.kind));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glissade/cli",
|
|
3
|
-
"version": "0.9.1
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "glissade CLI: headless rendering via backend-skia (+ FFmpeg mux).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
"@napi-rs/canvas": "^0.1.65",
|
|
21
21
|
"esbuild": "^0.28.0",
|
|
22
22
|
"jiti": "^2.4.2",
|
|
23
|
-
"@glissade/backend-skia": "0.9.1
|
|
24
|
-
"@glissade/core": "0.9.1
|
|
25
|
-
"@glissade/interact": "0.9.1
|
|
26
|
-
"@glissade/lottie": "0.9.1
|
|
27
|
-
"@glissade/svg": "0.9.1
|
|
28
|
-
"@glissade/narrate": "0.9.1
|
|
29
|
-
"@glissade/player": "0.9.1
|
|
30
|
-
"@glissade/scene": "0.9.1
|
|
31
|
-
"@glissade/sfx": "0.9.1
|
|
23
|
+
"@glissade/backend-skia": "0.9.1",
|
|
24
|
+
"@glissade/core": "0.9.1",
|
|
25
|
+
"@glissade/interact": "0.9.1",
|
|
26
|
+
"@glissade/lottie": "0.9.1",
|
|
27
|
+
"@glissade/svg": "0.9.1",
|
|
28
|
+
"@glissade/narrate": "0.9.1",
|
|
29
|
+
"@glissade/player": "0.9.1",
|
|
30
|
+
"@glissade/scene": "0.9.1",
|
|
31
|
+
"@glissade/sfx": "0.9.1"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|