@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 +25 -2
- package/onmark-release.json +19 -19
- package/package.json +4 -4
- package/packages/bundler/dist/src/authored_html.js +4 -1
- package/packages/runtime/dist/src/generated/browser-request.d.ts +19 -2
- package/packages/runtime/dist/src/generated/browser-response.d.ts +1 -1
- package/packages/runtime/dist/src/generated/validators.d.ts +2 -2
- package/packages/runtime/dist/src/generated/validators.js +451 -102
- package/packages/runtime/dist/src/media.d.ts +7 -0
- package/packages/runtime/dist/src/media.js +70 -8
- package/packages/runtime/dist/src/session.js +12 -1
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
|
|
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 →
|
|
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,
|
package/onmark-release.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"packageName": "@onmark/cli",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"sourceRevision": "
|
|
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":
|
|
15
|
-
"sha256": "
|
|
14
|
+
"bytes": 6326,
|
|
15
|
+
"sha256": "161bb00ebee6bbb7a6f6f15dbe0c00a36ae6c0943b1b3547d45424bb6132820d"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "package.json",
|
|
19
19
|
"bytes": 1406,
|
|
20
|
-
"sha256": "
|
|
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":
|
|
110
|
-
"sha256": "
|
|
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":
|
|
280
|
-
"sha256": "
|
|
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": "
|
|
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": "
|
|
330
|
+
"sha256": "e86ba82ec30adb5f5df0470854a84000e7c0aca3bd55374e68c0cc70e22121f9"
|
|
331
331
|
},
|
|
332
332
|
{
|
|
333
333
|
"path": "packages/runtime/dist/src/generated/validators.js",
|
|
334
|
-
"bytes":
|
|
335
|
-
"sha256": "
|
|
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":
|
|
360
|
-
"sha256": "
|
|
359
|
+
"bytes": 1087,
|
|
360
|
+
"sha256": "eb65fe99e616f1ba322d263c8330631b991a3a8a065c491f20a7f765cfb5d468"
|
|
361
361
|
},
|
|
362
362
|
{
|
|
363
363
|
"path": "packages/runtime/dist/src/media.js",
|
|
364
|
-
"bytes":
|
|
365
|
-
"sha256": "
|
|
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":
|
|
395
|
-
"sha256": "
|
|
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.
|
|
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.
|
|
49
|
-
"@onmark/cli-linux-x64": "0.
|
|
50
|
-
"@onmark/cli-win32-x64": "0.
|
|
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" ||
|
|
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 =
|
|
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:
|
|
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
|
+
}
|
|
@@ -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
|
|
8
|
-
declare function
|
|
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;
|