@glissade/cli 0.10.1 → 0.11.0-pre.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/index.d.ts CHANGED
@@ -55,11 +55,6 @@ interface RenderOptions {
55
55
  * this is set.
56
56
  */
57
57
  allowGpuShards?: boolean;
58
- /**
59
- * Internal (shard children): render video-only — skip the audio mix and the
60
- * caption/cue sidecars, which the orchestrator emits once over the joined result.
61
- */
62
- videoOnly?: boolean;
63
58
  onProgress?: (frame: number, total: number) => void;
64
59
  }
65
60
  declare class SceneModuleError extends Error {
package/dist/render.js CHANGED
@@ -74,7 +74,7 @@ async function render(opts) {
74
74
  const isVideo = opts.format !== "png-seq" && /\.(mp4|webm)$/i.test(opts.out);
75
75
  const singleFile = !isVideo && total === 1 && /\.png$/i.test(opts.out);
76
76
  if (isVideo && !ffmpegAvailable()) throw new Error(`'${opts.out}' needs FFmpeg on PATH and none was found. Render a PNG sequence instead (--out <directory>) or install ffmpeg.`);
77
- const workers = opts.videoOnly ? 1 : Math.max(1, Math.floor(opts.workers ?? 1));
77
+ const workers = Math.max(1, Math.floor(opts.workers ?? 1));
78
78
  if (workers > 1 && isVideo && total > 1) {
79
79
  const { renderSharded } = await import("./shards.js").then((n) => n.i);
80
80
  return renderSharded({
@@ -162,10 +162,8 @@ async function render(opts) {
162
162
  }
163
163
  const outAbs = resolve(opts.out);
164
164
  mkdirSync(dirname(outAbs), { recursive: true });
165
- if (!opts.videoOnly) {
166
- emitSidecars(outAbs);
167
- emitCues(outAbs);
168
- }
165
+ emitSidecars(outAbs);
166
+ emitCues(outAbs);
169
167
  const isWebm = /\.webm$/i.test(outAbs);
170
168
  const container = isWebm ? "webm" : "mp4";
171
169
  const { pickEncoder } = await import("./encoders.js").then((n) => n.r);
@@ -193,10 +191,7 @@ async function render(opts) {
193
191
  "+faststart"
194
192
  ]
195
193
  ];
196
- const { audioInputs, audioArgs } = opts.videoOnly ? {
197
- audioInputs: [],
198
- audioArgs: []
199
- } : await planFinalAudio(opts, [...compiled.audio], duration, container);
194
+ const { audioInputs, audioArgs } = await planFinalAudio(opts, [...compiled.audio], duration, container);
200
195
  const result = spawnSync("ffmpeg", [
201
196
  "-y",
202
197
  "-framerate",
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@glissade/cli",
3
- "version": "0.10.1",
3
+ "version": "0.11.0-pre.1",
4
4
  "description": "glissade CLI: headless rendering via backend-skia (+ FFmpeg mux).",
5
5
  "license": "Apache-2.0",
6
+ "engines": {
7
+ "node": ">=20.19"
8
+ },
6
9
  "type": "module",
7
10
  "bin": {
8
11
  "gs": "./dist/cli.js"
@@ -20,15 +23,15 @@
20
23
  "@napi-rs/canvas": "^0.1.65",
21
24
  "esbuild": "^0.28.0",
22
25
  "jiti": "^2.4.2",
23
- "@glissade/backend-skia": "0.10.1",
24
- "@glissade/core": "0.10.1",
25
- "@glissade/interact": "0.10.1",
26
- "@glissade/lottie": "0.10.1",
27
- "@glissade/svg": "0.10.1",
28
- "@glissade/narrate": "0.10.1",
29
- "@glissade/player": "0.10.1",
30
- "@glissade/scene": "0.10.1",
31
- "@glissade/sfx": "0.10.1"
26
+ "@glissade/backend-skia": "0.11.0-pre.1",
27
+ "@glissade/core": "0.11.0-pre.1",
28
+ "@glissade/interact": "0.11.0-pre.1",
29
+ "@glissade/lottie": "0.11.0-pre.1",
30
+ "@glissade/svg": "0.11.0-pre.1",
31
+ "@glissade/narrate": "0.11.0-pre.1",
32
+ "@glissade/player": "0.11.0-pre.1",
33
+ "@glissade/scene": "0.11.0-pre.1",
34
+ "@glissade/sfx": "0.11.0-pre.1"
32
35
  },
33
36
  "repository": {
34
37
  "type": "git",