@vosjs/cli 0.28.1 → 0.29.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.
package/dist/cli.js CHANGED
@@ -495,7 +495,7 @@ async function cmdCheck(argv) {
495
495
  return result.ok ? EXIT_OK : EXIT_ERROR;
496
496
  }
497
497
  async function delegate(argv, viaAlias = false) {
498
- const { run } = await import("./run-QAI3HGTK.js");
498
+ const { run } = await import("./run-2KGUUW4W.js");
499
499
  if (viaAlias && argv[0]) {
500
500
  process.stderr.write(
501
501
  `note: "vos voila ${argv[0]}" is now "vos ${argv[0]}".
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ import {
30
30
  validateActions,
31
31
  waitForPageDone,
32
32
  writeSyncState
33
- } from "./chunk-T35XY4YW.js";
33
+ } from "./chunk-GSRCASV2.js";
34
34
  import {
35
35
  BrowserUnavailableError,
36
36
  configDuration,
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  run
4
- } from "./chunk-T35XY4YW.js";
4
+ } from "./chunk-GSRCASV2.js";
5
5
  import "./chunk-NHKHTIDR.js";
6
6
  export {
7
7
  run
8
8
  };
9
- //# sourceMappingURL=run-QAI3HGTK.js.map
9
+ //# sourceMappingURL=run-2KGUUW4W.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vosjs/cli",
3
- "version": "0.28.1",
3
+ "version": "0.29.0",
4
4
  "description": "The vos CLI: record the real product from a scripted browser flow, auto-zoom from the cursor track, cut as data in doc.json, render deterministic video and stills, deliver a release's media per destination spec, and sync with vos.so. One binary, every verb, MIT.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -48,14 +48,14 @@
48
48
  "dependencies": {
49
49
  "mediabunny": "^1.55.7",
50
50
  "playwright": "^1.49.0",
51
+ "@vosjs/elements": "^0.8.1",
51
52
  "@vosjs/core": "^0.24.0",
52
53
  "@vosjs/editor": "^1.3.1",
53
- "@vosjs/elements": "^0.8.1",
54
- "@vosjs/render-core": "^0.2.6",
54
+ "@vosjs/render-core": "^0.2.7",
55
55
  "@vosjs/shared": "^0.4.1",
56
- "@vosjs/studio-core": "^0.18.1",
57
56
  "@vosjs/tween": "^0.8.2",
58
- "@vosjs/timeline": "^0.4.1"
57
+ "@vosjs/timeline": "^0.4.1",
58
+ "@vosjs/studio-core": "^0.19.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "^22",
@@ -826,7 +826,47 @@
826
826
  "type": "string"
827
827
  },
828
828
  "kind": {
829
- "enum": ["text", "image", "video"]
829
+ "enum": ["text", "image", "video", "html"]
830
+ },
831
+ "html": {
832
+ "type": "string",
833
+ "description": "html kind: the layer's MARKUP, well-formed XML (foreignObject is XML, not HTML: <br />, &amp;, quoted attributes). A UI component authored as DOM, laid out and painted by the browser and composited over the footage sharp at any export size. Required for html. No script runs and nothing is fetched: an image or icon inside must be a data: URI; faces are found from the CSS"
834
+ },
835
+ "css": {
836
+ "type": "string",
837
+ "description": "html kind: the layer's CSS, scoped by the layer's own wrapper (plain selectors are fine). Its box-shadow, border and radius ARE the layer's chrome (the compositor adds none). A font-family it names is resolved against the hosted catalog (GET https://vos.so/api/fonts) at every font-weight it names; an animation or transition inside runs on the wall clock, never the timeline, and validate warns"
838
+ },
839
+ "box": {
840
+ "type": "object",
841
+ "required": ["width", "height"],
842
+ "additionalProperties": false,
843
+ "properties": {
844
+ "width": { "type": "number", "exclusiveMinimum": 0 },
845
+ "height": { "type": "number", "exclusiveMinimum": 0 }
846
+ },
847
+ "description": "html kind: the design box the markup is laid out in, in 1080p design px (the frame is 1920 wide). Required for html"
848
+ },
849
+ "bleed": {
850
+ "type": "number",
851
+ "minimum": 0,
852
+ "description": "html kind: design px of room around the box for what paints OUTSIDE it (a shadow, a glow), or the SVG viewport clips it square. Absent = derived from the CSS's shadows; stated, it wins"
853
+ },
854
+ "fonts": {
855
+ "type": "array",
856
+ "items": {
857
+ "type": "object",
858
+ "required": ["family", "url"],
859
+ "properties": {
860
+ "family": { "type": "string" },
861
+ "url": {
862
+ "type": "string",
863
+ "description": "https URL of a woff2 face"
864
+ },
865
+ "weight": { "type": "number", "minimum": 100, "maximum": 900 },
866
+ "style": { "enum": ["normal", "italic"] }
867
+ }
868
+ },
869
+ "description": "html kind: faces the CSS names that the catalog does NOT host, by URL (the page fetches and inlines them). A hosted family needs no entry: name it in the CSS"
830
870
  },
831
871
  "start": {
832
872
  "type": "number",
@@ -1103,7 +1143,7 @@
1103
1143
  "type": "number",
1104
1144
  "exclusiveMinimum": 0,
1105
1145
  "maximum": 1,
1106
- "description": "media kinds: base width as a FRACTION of the frame width (default 0.35); height follows the media's aspect; \u00d7 transform.scale"
1146
+ "description": "media and html kinds: base width as a FRACTION of the frame width (media default 0.35; html default = the design size, the box plus its bleed over 1920); height follows the picture's aspect; \u00d7 transform.scale"
1107
1147
  },
1108
1148
  "radius": {
1109
1149
  "type": "number",
@@ -1114,7 +1154,7 @@
1114
1154
  "type": "number",
1115
1155
  "minimum": 0,
1116
1156
  "maximum": 1,
1117
- "description": "media kinds: opacity (default 1)"
1157
+ "description": "media and html kinds: opacity (default 1)"
1118
1158
  },
1119
1159
  "loop": {
1120
1160
  "type": "boolean",