@onmark/cli 0.1.4 → 0.2.3

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/README.md CHANGED
@@ -17,10 +17,10 @@
17
17
  Onmark is a screenplay-first video compiler for people and agents. Write one
18
18
  HTML document with semantic film elements, ordinary CSS, and optional seekable
19
19
  motion. Onmark compiles the authored intent into an exact timeline, renders it
20
- through Chromium, mixes media with FFmpeg, and writes an MP4.
20
+ through Chromium, mixes media with FFmpeg, and writes a delivery-ready video.
21
21
 
22
22
  ```text
23
- screenplay → Timeline IR → Render Units → browser frames + audio → MP4
23
+ screenplay → Timeline IR → Render Units → browser frames + audio → video
24
24
  ```
25
25
 
26
26
  ## One timeline. Three visual languages.
@@ -79,6 +79,22 @@ onmark render film.html
79
79
  ```
80
80
 
81
81
  The command writes `renders/film.mp4` without overwriting an existing file.
82
+ Validate or inspect the same production plan without launching Chromium:
83
+
84
+ ```bash
85
+ onmark check film.html
86
+ onmark inspect film.html --json
87
+ onmark doctor
88
+ onmark benchmark film.html --runs 3 --json
89
+ ```
90
+
91
+ Use the default H.264/AAC MP4 for delivery, or select the edit-friendly
92
+ ProRes/PCM MOV profile by filename:
93
+
94
+ ```bash
95
+ onmark render film.html --output film.mov
96
+ ```
97
+
82
98
  Resolution, exact rational frame rates, and imported subtitles stay explicit:
83
99
 
84
100
  ```bash
@@ -90,6 +106,13 @@ onmark render film.html \
90
106
  --subtitle captions.vtt
91
107
  ```
92
108
 
109
+ Install the optional agent skill for a product-owned create/check/inspect/render
110
+ loop:
111
+
112
+ ```bash
113
+ npx skills add varo-yang/onmark --skill onmark-video
114
+ ```
115
+
93
116
  ## Why screenplay-first
94
117
 
95
118
  - **Intent before coordinates.** Source describes scenes, shots, content, cues,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "packageName": "@onmark/cli",
4
- "version": "0.1.4",
5
- "sourceRevision": "faaf3134890c979f082912e6882d99750452031d",
4
+ "version": "0.2.3",
5
+ "sourceRevision": "05e6928b6f019f459ff09d9be0d3678730964939",
6
6
  "files": [
7
7
  {
8
8
  "path": "LICENSE",
@@ -11,13 +11,13 @@
11
11
  },
12
12
  {
13
13
  "path": "README.md",
14
- "bytes": 5791,
15
- "sha256": "d2da7345c7e5a623ca47e26296994f1c4a0febf26415b698397dca44e01e0c8a"
14
+ "bytes": 6326,
15
+ "sha256": "161bb00ebee6bbb7a6f6f15dbe0c00a36ae6c0943b1b3547d45424bb6132820d"
16
16
  },
17
17
  {
18
18
  "path": "package.json",
19
19
  "bytes": 1406,
20
- "sha256": "9527406d0676f0d8ff7bd545075a4f66f55072ac71082349400c3ce74ae65321"
20
+ "sha256": "976737f57bbccb7f6fa0f48f1eeea5bff57ca509091b18e944fc4873dfb48f73"
21
21
  },
22
22
  {
23
23
  "path": "packages/authoring/dist/src/frame-motion.d.ts",
@@ -106,8 +106,8 @@
106
106
  },
107
107
  {
108
108
  "path": "packages/bundler/dist/src/authored_html.js",
109
- "bytes": 13942,
110
- "sha256": "5c58e2bb952df7657fcdcbcb3bf5abf9831485aaca2c492ba2518b4948dd6027"
109
+ "bytes": 14049,
110
+ "sha256": "17af4b808b9199fb7b29b7992d63a4b90b196bc84eeb004e1effda3ec5c24f2c"
111
111
  },
112
112
  {
113
113
  "path": "packages/bundler/dist/src/command.d.ts",
@@ -276,8 +276,8 @@
276
276
  },
277
277
  {
278
278
  "path": "packages/runtime/dist/src/generated/browser-request.d.ts",
279
- "bytes": 3353,
280
- "sha256": "1dea1c9bafb7be477b2d86ecaf30b26e7ee64e25203d3a31d8975ecfbcb9c1d5"
279
+ "bytes": 3792,
280
+ "sha256": "f5144cdb3b9e1d3c58fbedafbd1b1509b7404abf52866221ab8bc9651b514b97"
281
281
  },
282
282
  {
283
283
  "path": "packages/runtime/dist/src/generated/browser-request.js",
@@ -287,7 +287,7 @@
287
287
  {
288
288
  "path": "packages/runtime/dist/src/generated/browser-response.d.ts",
289
289
  "bytes": 1368,
290
- "sha256": "ec32071435ada70f7837db7855fee95fecf79433e62aeb1736f35a0b868825bc"
290
+ "sha256": "15a67fcc4e7ec01e4ae8c2a1178893c24558656b9623737acae02a5af951139e"
291
291
  },
292
292
  {
293
293
  "path": "packages/runtime/dist/src/generated/browser-response.js",
@@ -327,12 +327,12 @@
327
327
  {
328
328
  "path": "packages/runtime/dist/src/generated/validators.d.ts",
329
329
  "bytes": 594,
330
- "sha256": "c9e92297fdc9cc1f2c79ec3a7972a0e7d76b496f52a1dd8a1c4889fde34b366b"
330
+ "sha256": "e86ba82ec30adb5f5df0470854a84000e7c0aca3bd55374e68c0cc70e22121f9"
331
331
  },
332
332
  {
333
333
  "path": "packages/runtime/dist/src/generated/validators.js",
334
- "bytes": 179613,
335
- "sha256": "1a80bd7d7995a4b9da29f697b86c41d36dd2bb6996288aa94fd99e3185e37e2c"
334
+ "bytes": 199436,
335
+ "sha256": "ee8e1cd7a1466ce3bbab4b8e32c9fb150f928a3acc4f2932d4fa5600f35c1ca0"
336
336
  },
337
337
  {
338
338
  "path": "packages/runtime/dist/src/host.d.ts",
@@ -356,13 +356,13 @@
356
356
  },
357
357
  {
358
358
  "path": "packages/runtime/dist/src/media.d.ts",
359
- "bytes": 688,
360
- "sha256": "260fdabfa1f0787faf81dbaf3ab6a60ff6e60a119a85bc4e0f014c4f9d1fbde5"
359
+ "bytes": 1087,
360
+ "sha256": "eb65fe99e616f1ba322d263c8330631b991a3a8a065c491f20a7f765cfb5d468"
361
361
  },
362
362
  {
363
363
  "path": "packages/runtime/dist/src/media.js",
364
- "bytes": 1385,
365
- "sha256": "4d0a3e4a6c2399e915d208284057d0d36bc913e2c4a456a4a7403ecf6cd58b98"
364
+ "bytes": 4577,
365
+ "sha256": "419dabdda169db230489d4e1ad51d6b3e256513af2182a9f917a294e13bec1c5"
366
366
  },
367
367
  {
368
368
  "path": "packages/runtime/dist/src/presentation.d.ts",
@@ -391,8 +391,8 @@
391
391
  },
392
392
  {
393
393
  "path": "packages/runtime/dist/src/session.js",
394
- "bytes": 17136,
395
- "sha256": "199a3289f50bfdd282d0ef2c83f7bd03ba53a8a2f373fefd8e081b38b18757a7"
394
+ "bytes": 17621,
395
+ "sha256": "a1164d20ed35de96db6cfc3d745663c9364c92789b082faa4d8b76f6a5dc09e7"
396
396
  },
397
397
  {
398
398
  "path": "packages/runtime/dist/src/types.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onmark/cli",
3
- "version": "0.1.4",
3
+ "version": "0.2.3",
4
4
  "description": "Screenplay-first deterministic browser video compiler",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -45,8 +45,8 @@
45
45
  "yauzl": "3.4.0"
46
46
  },
47
47
  "optionalDependencies": {
48
- "@onmark/cli-darwin-arm64": "0.1.4",
49
- "@onmark/cli-linux-x64": "0.1.4",
50
- "@onmark/cli-win32-x64": "0.1.4"
48
+ "@onmark/cli-darwin-arm64": "0.2.3",
49
+ "@onmark/cli-linux-x64": "0.2.3",
50
+ "@onmark/cli-win32-x64": "0.2.3"
51
51
  }
52
52
  }
@@ -330,7 +330,10 @@ function isCompilerOnlyAttribute(tagName, attributeName) {
330
330
  case "om-shot":
331
331
  return attributeName === "duration";
332
332
  case "video":
333
- return attributeName === "delay" || attributeName === "src";
333
+ return (attributeName === "delay" ||
334
+ attributeName === "speed" ||
335
+ attributeName === "src" ||
336
+ attributeName === "trim");
334
337
  default:
335
338
  return false;
336
339
  }
@@ -49,7 +49,7 @@ export type RequestId = number;
49
49
  /**
50
50
  * Version of the native-to-browser message contract.
51
51
  */
52
- export type ProtocolVersion = 1;
52
+ export type ProtocolVersion = 2;
53
53
  /**
54
54
  * One versioned command sent from the native executor to the browser.
55
55
  */
@@ -79,7 +79,7 @@ export interface BrowserPlan {
79
79
  */
80
80
  shots: BrowserShot[];
81
81
  timeline: WireInterval;
82
- timelineVersion: 1;
82
+ timelineVersion: 2;
83
83
  /**
84
84
  * @maxItems 10000
85
85
  */
@@ -139,5 +139,22 @@ export interface BrowserVideo {
139
139
  interval: WireInterval;
140
140
  node: BrowserNode;
141
141
  shotId: BrowserNodeId;
142
+ source: BrowserVideoSource;
142
143
  sourceFrameRate: WireFrameRate;
143
144
  }
145
+ /**
146
+ * Exact source-time mapping for one browser video placement.
147
+ */
148
+ export interface BrowserVideoSource {
149
+ endNanoseconds: string;
150
+ naturalEndNanoseconds: string;
151
+ playbackRate: WirePlaybackRate;
152
+ startNanoseconds: string;
153
+ }
154
+ /**
155
+ * Exact canonical playback ratio represented with browser-safe integers.
156
+ */
157
+ export interface WirePlaybackRate {
158
+ denominator: number;
159
+ numerator: number;
160
+ }
@@ -47,7 +47,7 @@ export type RequestId = number;
47
47
  /**
48
48
  * Version of the native-to-browser message contract.
49
49
  */
50
- export type ProtocolVersion = 1;
50
+ export type ProtocolVersion = 2;
51
51
  /**
52
52
  * One versioned event returned by the browser runtime.
53
53
  */
@@ -4,8 +4,8 @@ declare function validate20(data: any, { instancePath, parentData, parentDataPro
4
4
  instancePath?: string | undefined;
5
5
  rootData?: any;
6
6
  }): boolean;
7
- export declare const validateBrowserResponse: typeof validate47;
8
- declare function validate47(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
7
+ export declare const validateBrowserResponse: typeof validate49;
8
+ declare function validate49(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
9
9
  dynamicAnchors?: {} | undefined;
10
10
  instancePath?: string | undefined;
11
11
  rootData?: any;