@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 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-pre.0",
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-pre.0",
24
- "@glissade/core": "0.9.1-pre.0",
25
- "@glissade/interact": "0.9.1-pre.0",
26
- "@glissade/lottie": "0.9.1-pre.0",
27
- "@glissade/svg": "0.9.1-pre.0",
28
- "@glissade/narrate": "0.9.1-pre.0",
29
- "@glissade/player": "0.9.1-pre.0",
30
- "@glissade/scene": "0.9.1-pre.0",
31
- "@glissade/sfx": "0.9.1-pre.0"
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",