@glissade/cli 0.34.0-pre.1 → 0.35.0-pre.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.
Files changed (3) hide show
  1. package/dist/cli.js +2 -1
  2. package/dist/dev.js +8 -0
  3. package/package.json +10 -10
package/dist/cli.js CHANGED
@@ -86,7 +86,7 @@ const USAGE = `usage:
86
86
  gs mcp <scene-module> start an MCP stdio server for this scene: describe / list_targets / apply_patch / undo / render_frame (the AI-native write layer)
87
87
  gs build [filter...] [--config <glissade.config.ts>] [--explain] content-graph DAG runner: narrate→sfx→loudness→render per scene, runs ONLY the stale subtree
88
88
  gs describe [--out <api.json>] [--examples] snapshot THIS engine's describe() API manifest (stdout, or --out to a file) — the input to gs migrate
89
- gs migrate <baseline-api.json> [--json] diff a saved API manifest against the current engine: moved imports / removed / added / changed, with a suggested fix per breaking item (advisory; never rewrites your files)
89
+ gs migrate <baseline-api.json> [--json] [--check] diff a saved API manifest against the current engine: moved imports / removed / added / changed, with a suggested fix per breaking item (advisory; --check exits non-zero on any breaking change for CI gating)
90
90
  gs --version print the engine version
91
91
 
92
92
  render options:
@@ -286,6 +286,7 @@ async function main() {
286
286
  const report = diffManifests(baseline, describe());
287
287
  if (mf.has("json")) process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
288
288
  else process.stdout.write(`${formatReport(report)}\n`);
289
+ if (mf.has("check") && report.summary.breaking > 0) process.exit(1);
289
290
  return;
290
291
  }
291
292
  const { positional, flags } = parseArgs(rest);
package/dist/dev.js CHANGED
@@ -18,6 +18,14 @@ import { mount } from '@glissade/player';
18
18
  import { createMachine, recordTrace } from '@glissade/interact';
19
19
 
20
20
  const scene = mod.createScene();
21
+ // Load the Yoga layout engine when the scene uses Layout nodes — parity with
22
+ // gs render / gs mcp (render.ts / mcpSession.ts do the same hasLayout check).
23
+ // Without it a Stack/Row/Column/Layout scene throws LayoutEngineMissingError
24
+ // under gs dev (top-level await is fine: this harness is an ESM bundle).
25
+ if ([...scene.nodes.values()].some((n) => n.constructor.isLayoutNode === true)) {
26
+ const { loadYogaLayoutEngine } = await import('@glissade/scene/layout');
27
+ await loadYogaLayoutEngine();
28
+ }
21
29
  const canvas = document.getElementById('stage');
22
30
  canvas.width = scene.size.w;
23
31
  canvas.height = scene.size.h;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissade/cli",
3
- "version": "0.34.0-pre.1",
3
+ "version": "0.35.0-pre.0",
4
4
  "description": "glissade CLI: headless rendering via backend-skia (+ FFmpeg mux).",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -28,15 +28,15 @@
28
28
  "@napi-rs/canvas": "^0.1.65",
29
29
  "esbuild": "0.28.0",
30
30
  "jiti": "^2.4.2",
31
- "@glissade/backend-skia": "0.34.0-pre.1",
32
- "@glissade/core": "0.34.0-pre.1",
33
- "@glissade/interact": "0.34.0-pre.1",
34
- "@glissade/lottie": "0.34.0-pre.1",
35
- "@glissade/narrate": "0.34.0-pre.1",
36
- "@glissade/player": "0.34.0-pre.1",
37
- "@glissade/scene": "0.34.0-pre.1",
38
- "@glissade/sfx": "0.34.0-pre.1",
39
- "@glissade/svg": "0.34.0-pre.1"
31
+ "@glissade/backend-skia": "0.35.0-pre.0",
32
+ "@glissade/core": "0.35.0-pre.0",
33
+ "@glissade/interact": "0.35.0-pre.0",
34
+ "@glissade/lottie": "0.35.0-pre.0",
35
+ "@glissade/narrate": "0.35.0-pre.0",
36
+ "@glissade/player": "0.35.0-pre.0",
37
+ "@glissade/scene": "0.35.0-pre.0",
38
+ "@glissade/sfx": "0.35.0-pre.0",
39
+ "@glissade/svg": "0.35.0-pre.0"
40
40
  },
41
41
  "repository": {
42
42
  "type": "git",