@onmark/cli 0.1.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.
Files changed (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/onmark-release.json +388 -0
  4. package/package.json +52 -0
  5. package/packages/authoring/dist/src/index.d.ts +3 -0
  6. package/packages/authoring/dist/src/index.js +4 -0
  7. package/packages/authoring/dist/src/motion.d.ts +23 -0
  8. package/packages/authoring/dist/src/motion.js +81 -0
  9. package/packages/authoring/dist/src/presentation.d.ts +12 -0
  10. package/packages/authoring/dist/src/presentation.js +226 -0
  11. package/packages/authoring/dist/src/resource.d.ts +32 -0
  12. package/packages/authoring/dist/src/resource.js +86 -0
  13. package/packages/authoring/dist/src/types.d.ts +1 -0
  14. package/packages/authoring/dist/src/types.js +2 -0
  15. package/packages/bundler/dist/src/authored_html.d.ts +41 -0
  16. package/packages/bundler/dist/src/authored_html.js +387 -0
  17. package/packages/bundler/dist/src/command.d.ts +2 -0
  18. package/packages/bundler/dist/src/command.js +138 -0
  19. package/packages/bundler/dist/src/generated/bundle-manifest.d.ts +65 -0
  20. package/packages/bundler/dist/src/generated/bundle-manifest.js +18 -0
  21. package/packages/bundler/dist/src/html_image.d.ts +20 -0
  22. package/packages/bundler/dist/src/html_image.js +337 -0
  23. package/packages/bundler/dist/src/image_admission.d.ts +2 -0
  24. package/packages/bundler/dist/src/image_admission.js +217 -0
  25. package/packages/bundler/dist/src/index.d.ts +2 -0
  26. package/packages/bundler/dist/src/index.js +3 -0
  27. package/packages/bundler/dist/src/presentation.d.ts +41 -0
  28. package/packages/bundler/dist/src/presentation.js +492 -0
  29. package/packages/launcher/dist/desktop-release.json +21 -0
  30. package/packages/launcher/dist/src/browser-command.d.ts +2 -0
  31. package/packages/launcher/dist/src/browser-command.js +43 -0
  32. package/packages/launcher/dist/src/browser.d.ts +14 -0
  33. package/packages/launcher/dist/src/browser.js +280 -0
  34. package/packages/launcher/dist/src/cache.d.ts +8 -0
  35. package/packages/launcher/dist/src/cache.js +21 -0
  36. package/packages/launcher/dist/src/capture-environment.d.ts +15 -0
  37. package/packages/launcher/dist/src/capture-environment.js +145 -0
  38. package/packages/launcher/dist/src/command.d.ts +2 -0
  39. package/packages/launcher/dist/src/command.js +58 -0
  40. package/packages/launcher/dist/src/native.d.ts +20 -0
  41. package/packages/launcher/dist/src/native.js +31 -0
  42. package/packages/launcher/dist/src/platform.d.ts +13 -0
  43. package/packages/launcher/dist/src/platform.js +29 -0
  44. package/packages/launcher/dist/src/release.d.ts +16 -0
  45. package/packages/launcher/dist/src/release.js +49 -0
  46. package/packages/motion-gsap/dist/src/index.d.ts +16 -0
  47. package/packages/motion-gsap/dist/src/index.js +139 -0
  48. package/packages/runtime/dist/src/clock.d.ts +10 -0
  49. package/packages/runtime/dist/src/clock.js +19 -0
  50. package/packages/runtime/dist/src/generated/browser-request.d.ts +143 -0
  51. package/packages/runtime/dist/src/generated/browser-request.js +2 -0
  52. package/packages/runtime/dist/src/generated/browser-response.d.ts +58 -0
  53. package/packages/runtime/dist/src/generated/browser-response.js +2 -0
  54. package/packages/runtime/dist/src/generated/bundle-layout.d.ts +7 -0
  55. package/packages/runtime/dist/src/generated/bundle-layout.js +14 -0
  56. package/packages/runtime/dist/src/generated/codec.d.ts +8 -0
  57. package/packages/runtime/dist/src/generated/codec.js +22 -0
  58. package/packages/runtime/dist/src/generated/runtime-contract.d.ts +7 -0
  59. package/packages/runtime/dist/src/generated/runtime-contract.js +8 -0
  60. package/packages/runtime/dist/src/generated/validators.d.ts +13 -0
  61. package/packages/runtime/dist/src/generated/validators.js +3327 -0
  62. package/packages/runtime/dist/src/host.d.ts +11 -0
  63. package/packages/runtime/dist/src/host.js +25 -0
  64. package/packages/runtime/dist/src/index.d.ts +13 -0
  65. package/packages/runtime/dist/src/index.js +12 -0
  66. package/packages/runtime/dist/src/media.d.ts +13 -0
  67. package/packages/runtime/dist/src/media.js +28 -0
  68. package/packages/runtime/dist/src/presentation.d.ts +66 -0
  69. package/packages/runtime/dist/src/presentation.js +379 -0
  70. package/packages/runtime/dist/src/resource.d.ts +23 -0
  71. package/packages/runtime/dist/src/resource.js +150 -0
  72. package/packages/runtime/dist/src/session.d.ts +43 -0
  73. package/packages/runtime/dist/src/session.js +450 -0
  74. package/packages/runtime/dist/src/types.d.ts +6 -0
  75. package/packages/runtime/dist/src/types.js +2 -0
  76. package/packages/runtime/dist/src/video.d.ts +40 -0
  77. package/packages/runtime/dist/src/video.js +343 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Onmark contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,202 @@
1
+ # Onmark
2
+
3
+ Onmark is a screenplay-first video compiler and rendering engine for people and
4
+ agents.
5
+
6
+ ```text
7
+ screenplay → deterministic Timeline IR → browser frames + audio plan → MP4
8
+ ```
9
+
10
+ Delivery gates one through seven and distributed incremental reuse are
11
+ complete. No later delivery gate is currently active. Gate one renders and
12
+ independently verifies one real screenplay through the compiler, browser
13
+ protocol, Chromium, and FFmpeg. Gate two partitions one media-bearing two-shot
14
+ film into two local Render Units and
15
+ proves that their assembled decoded video and audio match the whole-film
16
+ baseline. Gate three sends those
17
+ same portable units to two concurrent arm64 Lambda workers, verifies their
18
+ immutable S3 frame artifacts against a remote whole-film capture by canonical
19
+ raw-RGBA pixels, and assembles the partitions through the shared H.264/AAC
20
+ path. Gate four carries authored music, shot-local effects, voice-over, and
21
+ imported SRT/WebVTT/ASS captions through the same local whole-film and
22
+ partitioned paths, with both canonical raw-RGBA frames and decoded audio
23
+ checked for equivalence.
24
+
25
+ Gate five admits exact-frame effects and a closed presentation temporal
26
+ capability after bounded WAAPI, GSAP, and Three.js experiments. Its exit
27
+ conformance proves that the effect-bearing presentation produces identical
28
+ canonical pixels as one whole-film unit or two independent units. Unknown
29
+ presentation code remains sequential. Deployment work remains frozen.
30
+
31
+ Gate six carries content-addressed local image, SVG, and font resources through
32
+ bounded browser readiness that names the resource still pending. It also gives
33
+ film, scene, shot, and content facts Rust-owned node identity and ownership.
34
+ Authored IDs retain semantic identity across unit projections. Its Linux exit
35
+ conformance proves equal pixels across cold browsers and whole-film versus
36
+ partitioned execution without adding a general props channel, new screenplay
37
+ spelling, or a second timing system.
38
+
39
+ Gate seven admits transparent browser presentation over persistent native media
40
+ decode and composition for an explicitly separable visual capability. Its
41
+ locked experiment passes at 4.18× the Chromium-media baseline speed and 79.73%
42
+ of its peak RSS. The production executor preserves a bounded stream, exact
43
+ whole-film/partition equivalence, declared color conformance, and the existing
44
+ Chromium-media path for presentations without the capability. The real-process
45
+ exit fixture passes; this is neither new screenplay syntax nor a hidden
46
+ fallback.
47
+
48
+ The executor now also carries an independent, proved browser-frame behavior.
49
+ For placement-bounded foregrounds it captures only the first frame and solved
50
+ placement changes, then shares the immutable PNG between intervening output
51
+ frames. The real-process layered control reduces browser evaluation from 75
52
+ authored frames to one while retaining exact canonical raw-RGBA output;
53
+ browser-owned video and unknown authored effects remain per-frame.
54
+
55
+ The completed foundation includes the pure compiler and versioned wire types in
56
+ `onmark-core`; bounded ffprobe and strict SubRip/WebVTT/ASS normalization in
57
+ `onmark-media`; deterministic video and overlay presentation in
58
+ `@onmark/runtime`; authored-HTML bindings in `@onmark/authoring`; immutable
59
+ presentation artifacts in `@onmark/bundler`; the typed Chromium-to-FFmpeg
60
+ executor in `onmark-render`; and the `onmark-cli` composition root. A production
61
+ deployment workflow and infrastructure definition remain deliberately absent;
62
+ there is still no queue, lease system, scheduler, or coordinator.
63
+
64
+ ## Render
65
+
66
+ The native command needs one authored HTML document and writes a no-clobber
67
+ `renders/<name>.mp4` by default. Onmark custom elements carry screenplay intent;
68
+ ordinary HTML and inline CSS carry presentation. An optional inline
69
+ `type="module" data-om-motion` script exports vendor-neutral motion
70
+ assembled from adapters such as `onmark/motion/gsap`:
71
+
72
+ ```bash
73
+ npm install --global @onmark/cli
74
+ onmark render film.html
75
+ onmark render film.html --output review.mp4
76
+ onmark render film.html --fps 30000/1001 --width 1920 --height 1080
77
+ onmark render film.html --subtitle captions.vtt
78
+ ```
79
+
80
+ `--subtitle` imports strict UTF-8 `.srt`, `.vtt`, or `.ass` files without adding
81
+ external-format syntax to the screenplay. Invalid files produce diagnostics
82
+ against their own path and byte spans before browser or media processes start.
83
+
84
+ Presentation capabilities are not inferred from source text or observed pixel
85
+ equality. The production authored-HTML adapter is admitted as random-access,
86
+ browser-composited, and per-frame; unknown future components remain sequential
87
+ until their own conformance proves otherwise. Immutable bundle metadata carries
88
+ the admitted facts into Render Graph planning.
89
+
90
+ The desktop command projects each shot into an isolated browser region and
91
+ reuses verified contract-addressed frame artifacts across processes. Editing one
92
+ shot leaves unrelated region artifacts intact; final encoding and audio mixing
93
+ still use the same assembler as a cold render. Every completed command reports
94
+ the exact reused region and frame counts plus pipeline phase timings, so
95
+ incremental work is visible without inspecting the cache.
96
+
97
+ The Lambda adapter applies the same artifact identity before materializing
98
+ inputs or preparing Chromium. A verified S3 hit skips capture; a corrupt object
99
+ is conditionally repaired through the ordinary worker path. This closes
100
+ distributed incremental reuse without adding a coordinator or durable progress
101
+ service.
102
+
103
+ ## Showcases
104
+
105
+ [`showcases/`](showcases/) contains twenty self-contained films rendered through
106
+ the public CLI. They cover native media, imported captions, audio, GSAP, Canvas
107
+ 2D, raw WebGL, Three.js, spatial CSS, editorial typography, and continuous
108
+ brand motion without relying on a shared visual template or remote assets.
109
+ Rendered outputs remain untracked; each checked-in source and exact render
110
+ command stays reproducible.
111
+
112
+ The desktop artifact is admitted on macOS arm64, Linux x64, and Windows x64. It
113
+ exposes one `@onmark/cli` package and `onmark` command, carries the native CLI,
114
+ `ffmpeg`, and `ffprobe` in a platform sidecar, and installs the pinned browser
115
+ into a verified private cache. Linux uses Chrome for Testing's
116
+ `chrome-headless-shell` with CDP BeginFrameControl; macOS and Windows use
117
+ ordinary Chrome's portable screenshot backend. macOS selects Metal and verifies
118
+ the active renderer through CDP; Linux and Windows retain `SwiftShader`. Every
119
+ target renders the same admitted screenplay twice in an empty consumer before
120
+ release artifacts are retained. After the initial package bootstrap, merging a
121
+ `release/vX.Y.Z` pull request admits and publishes the same archives through npm
122
+ Trusted Publishing, then creates the matching GitHub Release. Execution
123
+ overrides remain explicit:
124
+ `--graphics software` selects the canonical software control, and
125
+ `--video-encoder-threads` can replace the stable four-thread local default with
126
+ a bounded value from 1 through 64.
127
+ Deterministic comparisons apply within the same locked browser environment,
128
+ capture mode, and graphics backend.
129
+
130
+ ## Worker capture
131
+
132
+ Gate three introduced a narrow local worker entry point for already-composed
133
+ visual work:
134
+
135
+ ```bash
136
+ onmark worker capture --input worker-input --output opening.onmark-frames \
137
+ --browser /path/to/chrome-headless-shell --ffmpeg /path/to/ffmpeg
138
+ ```
139
+
140
+ `worker-input` contains a versioned `request.json`, including the locked
141
+ capture-environment identity, the `bundle/` payload files named by that
142
+ request's manifest, and any frozen `assets/sha256/` bytes. The worker accepts no
143
+ screenplay and does not compile source. It publishes one checksum-verified,
144
+ no-clobber frame artifact; retry reuse requires both the planned unit and the
145
+ declared capture environment to match. This is the same portable interchange
146
+ used by the Lambda adapter; it is not a cloud coordinator or a replacement for
147
+ `onmark render`.
148
+
149
+ ## Lambda capture adapter
150
+
151
+ `deploy/aws-lambda` wraps that same worker contract with a bounded S3 download
152
+ and conditional artifact publication. Its V1 invocation and result schemas are
153
+ checked in under `schemas/`; its required environment, IAM scope, limits, and
154
+ intentional non-goals are documented in
155
+ [its deployment README](deploy/aws-lambda/README.md). The real arm64 Lambda ZIP
156
+ experiment and deterministic package command are recorded there. Infrastructure
157
+ provisioning remains outside this gate; desktop npm publication is a separate
158
+ release boundary.
159
+
160
+ ## Repository map
161
+
162
+ - `crates/` contains Rust product code.
163
+ - `packages/` contains browser and Node product packages.
164
+ - `conformance/` groups compiler, media, browser, CLI, wire, and admission evidence.
165
+ - `evals/` contains frozen language-admission experiments and raw model output.
166
+ - `schemas/` contains the five generated, versioned wire contracts.
167
+ - `scripts/` contains the `xtask` entry point plus evaluation, schema,
168
+ TypeScript-quality, and release tooling; release npm and media toolchains have
169
+ separate process-owned subdirectories.
170
+
171
+ ## Development
172
+
173
+ Rust 1.97.0, Node.js 26.4.0, and pnpm 11.9.0 are pinned for reproducible
174
+ development.
175
+
176
+ ```bash
177
+ cargo test --workspace
178
+ cargo clippy --workspace --all-targets --all-features
179
+ cargo fmt --all -- --check
180
+ pnpm install --frozen-lockfile
181
+ pnpm format:check
182
+ pnpm lint
183
+ pnpm typecheck
184
+ pnpm test
185
+ cargo xtask schema --check
186
+ cargo xtask eval audio
187
+ cargo xtask eval html
188
+ ```
189
+
190
+ ## Design documents
191
+
192
+ - [Architecture](docs/en/architecture.md)
193
+ - [Language specification](docs/en/language-specification.md)
194
+ - [Presentation contract](docs/en/presentation-contract.md)
195
+ - [Competitive pipeline review](docs/en/competitive-pipeline-review.md)
196
+ - [Rust style guide](docs/en/rust-style-guide.md)
197
+ - [TypeScript style guide](docs/en/typescript-style-guide.md)
198
+ - [中文文档](docs/zh-CN/)
199
+
200
+ The design documents remain the project contract. Code and documentation
201
+ disagreements must be resolved explicitly rather than silently choosing one
202
+ side.
@@ -0,0 +1,388 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packageName": "@onmark/cli",
4
+ "version": "0.1.3",
5
+ "sourceRevision": "25000b2f44d6b2463083ed977ead461b198b9f8b",
6
+ "files": [
7
+ {
8
+ "path": "LICENSE",
9
+ "bytes": 1076,
10
+ "sha256": "5188917373727ad6df0f95a431a4ff217d41c8a949648955fa196d3a4c1a6110"
11
+ },
12
+ {
13
+ "path": "README.md",
14
+ "bytes": 9972,
15
+ "sha256": "60000f53e551fea49368f36a68d71933423f314e6dd5bbf1cec495cad84f6c60"
16
+ },
17
+ {
18
+ "path": "package.json",
19
+ "bytes": 1406,
20
+ "sha256": "93a60078967eb56474b3bcca33115c037432399df91908a161983a3e699d203d"
21
+ },
22
+ {
23
+ "path": "packages/authoring/dist/src/index.d.ts",
24
+ "bytes": 444,
25
+ "sha256": "04a987076863ba1a11fabea37a8c15878abbffa12b4942c28d9b26da1e98f8f3"
26
+ },
27
+ {
28
+ "path": "packages/authoring/dist/src/index.js",
29
+ "bytes": 266,
30
+ "sha256": "bdff297aee92136a3304af030c07f1b03ee386feee9435deb22b0993ceaf19bb"
31
+ },
32
+ {
33
+ "path": "packages/authoring/dist/src/motion.d.ts",
34
+ "bytes": 1411,
35
+ "sha256": "39e2ece580c2161b742ca183193d73765ba2a61a82fe88f336a38c63ed69de53"
36
+ },
37
+ {
38
+ "path": "packages/authoring/dist/src/motion.js",
39
+ "bytes": 2701,
40
+ "sha256": "1f3cef1e6756bb05fbf292324e8c28764ffe854de717ab03b392708b2b3a5fc1"
41
+ },
42
+ {
43
+ "path": "packages/authoring/dist/src/presentation.d.ts",
44
+ "bytes": 725,
45
+ "sha256": "417401dfea78e1b8a93126267166027ae49d77edb54c32496dd3296c22bab8c4"
46
+ },
47
+ {
48
+ "path": "packages/authoring/dist/src/presentation.js",
49
+ "bytes": 9235,
50
+ "sha256": "4d507543fbc671d6d3ad5c7868369dc892983765ce4ac6965b9cdc848339bf14"
51
+ },
52
+ {
53
+ "path": "packages/authoring/dist/src/resource.d.ts",
54
+ "bytes": 1514,
55
+ "sha256": "2ae73d745ce65193007f36d7a96102effc882e54190db12d7f7a0ac199e5dec2"
56
+ },
57
+ {
58
+ "path": "packages/authoring/dist/src/resource.js",
59
+ "bytes": 2544,
60
+ "sha256": "6f1d471c95678c4b0b4493c704771a59098e5d1d0c7ef81145901f7d86ad31b1"
61
+ },
62
+ {
63
+ "path": "packages/authoring/dist/src/types.d.ts",
64
+ "bytes": 133,
65
+ "sha256": "815630d36c644dd50b36a183bc6f5071c6b6550a5f8967e6a53994899811b311"
66
+ },
67
+ {
68
+ "path": "packages/authoring/dist/src/types.js",
69
+ "bytes": 78,
70
+ "sha256": "d4010927313e03e84d25e63d9359f90d7af2c676ee5ad4f253928ac983b2e903"
71
+ },
72
+ {
73
+ "path": "packages/bundler/dist/src/authored_html.d.ts",
74
+ "bytes": 1791,
75
+ "sha256": "a7620bed8f4dea8d6f5e1909311b5b87e126cbb90cc75a063ad10da7dfcc768e"
76
+ },
77
+ {
78
+ "path": "packages/bundler/dist/src/authored_html.js",
79
+ "bytes": 13942,
80
+ "sha256": "5c58e2bb952df7657fcdcbcb3bf5abf9831485aaca2c492ba2518b4948dd6027"
81
+ },
82
+ {
83
+ "path": "packages/bundler/dist/src/command.d.ts",
84
+ "bytes": 31,
85
+ "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
86
+ },
87
+ {
88
+ "path": "packages/bundler/dist/src/command.js",
89
+ "bytes": 5078,
90
+ "sha256": "833f9cab8d0e5b31494fd57ea7cd5720cc5b10977d48421c2d9c723605cb454e"
91
+ },
92
+ {
93
+ "path": "packages/bundler/dist/src/generated/bundle-manifest.d.ts",
94
+ "bytes": 2515,
95
+ "sha256": "8aa6f33d79f9269da7d5d766d69f1d1037aee3141d76d380ea301b8b6c0d5002"
96
+ },
97
+ {
98
+ "path": "packages/bundler/dist/src/generated/bundle-manifest.js",
99
+ "bytes": 621,
100
+ "sha256": "d3f7d430ebbc045db575d648e61f459848bac3c936acf9a6ec5f825260ef2458"
101
+ },
102
+ {
103
+ "path": "packages/bundler/dist/src/html_image.d.ts",
104
+ "bytes": 967,
105
+ "sha256": "a830adac29b2170732ae6dbd6cd9950fcf6dd56e34e34315a527c8bd9f5b8dd2"
106
+ },
107
+ {
108
+ "path": "packages/bundler/dist/src/html_image.js",
109
+ "bytes": 11885,
110
+ "sha256": "ac35ee0bf4ea563bcd3f937b5bac00042493a20a61b7ab7439e90bbdaca4f528"
111
+ },
112
+ {
113
+ "path": "packages/bundler/dist/src/image_admission.d.ts",
114
+ "bytes": 180,
115
+ "sha256": "26a5da9a224b6e973f89cfa9d140fac8d8f2c2fe29213bbde541eef7fc3651f8"
116
+ },
117
+ {
118
+ "path": "packages/bundler/dist/src/image_admission.js",
119
+ "bytes": 6896,
120
+ "sha256": "71c067a6776640ac0ed58e7a25234efd052e8ab7aee7eeea8985110014f994b9"
121
+ },
122
+ {
123
+ "path": "packages/bundler/dist/src/index.d.ts",
124
+ "bytes": 358,
125
+ "sha256": "f491e5e0c254c855b212e7950c9a315a806497c448994e9daf7fc9ecbacbfed4"
126
+ },
127
+ {
128
+ "path": "packages/bundler/dist/src/index.js",
129
+ "bytes": 315,
130
+ "sha256": "ac807d0961fbe8cac6ae12a587c4b7856f1ed31096a1de89f428c663fa43443b"
131
+ },
132
+ {
133
+ "path": "packages/bundler/dist/src/presentation.d.ts",
134
+ "bytes": 2116,
135
+ "sha256": "e97d532cda1f86933d452e109d80f38928fe02352e7af006b43bcc078efd999d"
136
+ },
137
+ {
138
+ "path": "packages/bundler/dist/src/presentation.js",
139
+ "bytes": 19114,
140
+ "sha256": "8f26c61eedaf249e46e05c2af5ad4593d596e7875dd65de3388a3a23ea60b25c"
141
+ },
142
+ {
143
+ "path": "packages/launcher/dist/desktop-release.json",
144
+ "bytes": 609,
145
+ "sha256": "6f6b454607f43522f3a673590b112c66267c958a1ab5b13ebd206f2fa3f2e6f8"
146
+ },
147
+ {
148
+ "path": "packages/launcher/dist/src/browser-command.d.ts",
149
+ "bytes": 31,
150
+ "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
151
+ },
152
+ {
153
+ "path": "packages/launcher/dist/src/browser-command.js",
154
+ "bytes": 1543,
155
+ "sha256": "036c67f92ffc5e3ba3260419bb83272c013f1310629b403a493941826ac9f2ae"
156
+ },
157
+ {
158
+ "path": "packages/launcher/dist/src/browser.d.ts",
159
+ "bytes": 596,
160
+ "sha256": "7839eb4ea0a11dd075b6daca27beb6d0a3c15e5b160076c61bfdc672c977a5c3"
161
+ },
162
+ {
163
+ "path": "packages/launcher/dist/src/browser.js",
164
+ "bytes": 10129,
165
+ "sha256": "432b5b22ee2717baa0f3d8f1b05d053dd58d80dffca7eee05146ba7ec9ef2b16"
166
+ },
167
+ {
168
+ "path": "packages/launcher/dist/src/cache.d.ts",
169
+ "bytes": 453,
170
+ "sha256": "2efbcf939f13d31cc9ed1ed32bbc9fbf1be86a41a12dcf7f1409df1cd07a9039"
171
+ },
172
+ {
173
+ "path": "packages/launcher/dist/src/cache.js",
174
+ "bytes": 998,
175
+ "sha256": "20617762ae1d94a9d05b9df90465451d66559ed534c692eb48ef2d196e8a75fa"
176
+ },
177
+ {
178
+ "path": "packages/launcher/dist/src/capture-environment.d.ts",
179
+ "bytes": 650,
180
+ "sha256": "70c23f0d1663f6ad2c2796d8c23ccebd074a38725d13f0701c3de277d784d479"
181
+ },
182
+ {
183
+ "path": "packages/launcher/dist/src/capture-environment.js",
184
+ "bytes": 5031,
185
+ "sha256": "b4e9a9937b2f1c328b6435fd72bf9947abba5a75e6a317026cbc1400b4194862"
186
+ },
187
+ {
188
+ "path": "packages/launcher/dist/src/command.d.ts",
189
+ "bytes": 31,
190
+ "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
191
+ },
192
+ {
193
+ "path": "packages/launcher/dist/src/command.js",
194
+ "bytes": 2236,
195
+ "sha256": "8a63ba0ef5d93b6c1e77a7f889dd9aa1aed34d2c6f0880af0b1cbdec791eba3c"
196
+ },
197
+ {
198
+ "path": "packages/launcher/dist/src/native.d.ts",
199
+ "bytes": 824,
200
+ "sha256": "a31c271ba65614640a1e70dd648b94485d4439be54e409662603f3c29e7a9855"
201
+ },
202
+ {
203
+ "path": "packages/launcher/dist/src/native.js",
204
+ "bytes": 1168,
205
+ "sha256": "662a30122f6cb780a9c5fcee1db0a0d24f9f1d5e938b50e047dc051a9cb19313"
206
+ },
207
+ {
208
+ "path": "packages/launcher/dist/src/platform.d.ts",
209
+ "bytes": 562,
210
+ "sha256": "760ce90e9e5b84047bd31118484db73a3412e2330417b19b25d7aecff35b756c"
211
+ },
212
+ {
213
+ "path": "packages/launcher/dist/src/platform.js",
214
+ "bytes": 1259,
215
+ "sha256": "2a73189232b0ef037184f963a3b60fd19a0747b13566f4bebfa6531bc440dcf3"
216
+ },
217
+ {
218
+ "path": "packages/launcher/dist/src/release.d.ts",
219
+ "bytes": 575,
220
+ "sha256": "1c7fe3f72b79772b3747bfe946c640a2edd9650f0f4c949d1b270fae4ae36162"
221
+ },
222
+ {
223
+ "path": "packages/launcher/dist/src/release.js",
224
+ "bytes": 1759,
225
+ "sha256": "d4c7854adcb2652599efcdccaf54a20b98f0f252d940c79692c00e58fc90f014"
226
+ },
227
+ {
228
+ "path": "packages/motion-gsap/dist/src/index.d.ts",
229
+ "bytes": 940,
230
+ "sha256": "526d9a01e5c0fe0b215d7319e14eef31fa8beb628e1aed9cd7078e412f42ed01"
231
+ },
232
+ {
233
+ "path": "packages/motion-gsap/dist/src/index.js",
234
+ "bytes": 4920,
235
+ "sha256": "acf1389c0de9101725705fd13b949c209dd98533f41ea22851fdfde35bfbdf08"
236
+ },
237
+ {
238
+ "path": "packages/runtime/dist/src/clock.d.ts",
239
+ "bytes": 551,
240
+ "sha256": "c0bc2a42feaabfec0bb56da48dac913a281d551be724edeef21904e8b69770cc"
241
+ },
242
+ {
243
+ "path": "packages/runtime/dist/src/clock.js",
244
+ "bytes": 1108,
245
+ "sha256": "02b386cd9a6c8ea3c00fd3d039160bd9604ef02b8f96b82d3e9595c73db78792"
246
+ },
247
+ {
248
+ "path": "packages/runtime/dist/src/generated/browser-request.d.ts",
249
+ "bytes": 3353,
250
+ "sha256": "1dea1c9bafb7be477b2d86ecaf30b26e7ee64e25203d3a31d8975ecfbcb9c1d5"
251
+ },
252
+ {
253
+ "path": "packages/runtime/dist/src/generated/browser-request.js",
254
+ "bytes": 83,
255
+ "sha256": "edf68d2007e1ca8c5aa32394cd7c3131e37265fef1c71bf390f2cc02ff02f559"
256
+ },
257
+ {
258
+ "path": "packages/runtime/dist/src/generated/browser-response.d.ts",
259
+ "bytes": 1368,
260
+ "sha256": "ec32071435ada70f7837db7855fee95fecf79433e62aeb1736f35a0b868825bc"
261
+ },
262
+ {
263
+ "path": "packages/runtime/dist/src/generated/browser-response.js",
264
+ "bytes": 83,
265
+ "sha256": "edf68d2007e1ca8c5aa32394cd7c3131e37265fef1c71bf390f2cc02ff02f559"
266
+ },
267
+ {
268
+ "path": "packages/runtime/dist/src/generated/bundle-layout.d.ts",
269
+ "bytes": 639,
270
+ "sha256": "1e5aee7947ce8d4c09de4e05a7e729b31d868c47640963cfe120b1ebb1af69ca"
271
+ },
272
+ {
273
+ "path": "packages/runtime/dist/src/generated/bundle-layout.js",
274
+ "bytes": 455,
275
+ "sha256": "1807eab2041ee935b3bde12f12402b06d0dd3328e3fb6cb9fc0282699b311f9e"
276
+ },
277
+ {
278
+ "path": "packages/runtime/dist/src/generated/codec.d.ts",
279
+ "bytes": 440,
280
+ "sha256": "eb1413e8d1c05083b2c5e2246c39d87f8e644e8fc6d0c29c760fa41fba448a7a"
281
+ },
282
+ {
283
+ "path": "packages/runtime/dist/src/generated/codec.js",
284
+ "bytes": 811,
285
+ "sha256": "8002d86240809b29ad7a6cf7d101cf657734966ee5c76e55e23550f13834bfec"
286
+ },
287
+ {
288
+ "path": "packages/runtime/dist/src/generated/runtime-contract.d.ts",
289
+ "bytes": 393,
290
+ "sha256": "9cacb81eec65ee8af41097d0efbadaad889cb47e6f4e73d682c2edd5b9bfb7fa"
291
+ },
292
+ {
293
+ "path": "packages/runtime/dist/src/generated/runtime-contract.js",
294
+ "bytes": 416,
295
+ "sha256": "5f2c643535d159fb735d393fa3c53fade154d6c306a272e98cb3408f3abbbdf0"
296
+ },
297
+ {
298
+ "path": "packages/runtime/dist/src/generated/validators.d.ts",
299
+ "bytes": 594,
300
+ "sha256": "c9e92297fdc9cc1f2c79ec3a7972a0e7d76b496f52a1dd8a1c4889fde34b366b"
301
+ },
302
+ {
303
+ "path": "packages/runtime/dist/src/generated/validators.js",
304
+ "bytes": 179613,
305
+ "sha256": "1a80bd7d7995a4b9da29f697b86c41d36dd2bb6996288aa94fd99e3185e37e2c"
306
+ },
307
+ {
308
+ "path": "packages/runtime/dist/src/host.d.ts",
309
+ "bytes": 617,
310
+ "sha256": "ec5ded70f97f0351cd82db9c741e77325e7a8b1e02f2dd2913c5605befab1c8d"
311
+ },
312
+ {
313
+ "path": "packages/runtime/dist/src/host.js",
314
+ "bytes": 1015,
315
+ "sha256": "6f987b97c0842666111b000e556845ea2447b658f985f550966cbaccaad22d0f"
316
+ },
317
+ {
318
+ "path": "packages/runtime/dist/src/index.d.ts",
319
+ "bytes": 1652,
320
+ "sha256": "9c3109342edd6cc989488f9d69bb4a8b56a53314671739ec838f76d7fc8404ef"
321
+ },
322
+ {
323
+ "path": "packages/runtime/dist/src/index.js",
324
+ "bytes": 1043,
325
+ "sha256": "8181e47ed8b71d7f6eefdad1ecf2d1590f63ce35737a5b58cf0a2567a9336dc6"
326
+ },
327
+ {
328
+ "path": "packages/runtime/dist/src/media.d.ts",
329
+ "bytes": 688,
330
+ "sha256": "260fdabfa1f0787faf81dbaf3ab6a60ff6e60a119a85bc4e0f014c4f9d1fbde5"
331
+ },
332
+ {
333
+ "path": "packages/runtime/dist/src/media.js",
334
+ "bytes": 1385,
335
+ "sha256": "4d0a3e4a6c2399e915d208284057d0d36bc913e2c4a456a4a7403ecf6cd58b98"
336
+ },
337
+ {
338
+ "path": "packages/runtime/dist/src/presentation.d.ts",
339
+ "bytes": 3092,
340
+ "sha256": "10f476b8f54f7e13bf46a1fdeccef3ebc0829cc62d0dede85fae802c54b65fc1"
341
+ },
342
+ {
343
+ "path": "packages/runtime/dist/src/presentation.js",
344
+ "bytes": 13840,
345
+ "sha256": "f1b840aa86a1fe6e4fea89b63a95f7a215eb8e341641450270e1a3a2c63db350"
346
+ },
347
+ {
348
+ "path": "packages/runtime/dist/src/resource.d.ts",
349
+ "bytes": 1716,
350
+ "sha256": "d44907aabdfb2482ca938d5819162dcd9dc822fdc98281dec9812e642bf05d50"
351
+ },
352
+ {
353
+ "path": "packages/runtime/dist/src/resource.js",
354
+ "bytes": 6114,
355
+ "sha256": "d0fdabe79e26da8e3684eb326cc370e4d4386835f3f5da0eab91f435b9388d96"
356
+ },
357
+ {
358
+ "path": "packages/runtime/dist/src/session.d.ts",
359
+ "bytes": 2057,
360
+ "sha256": "628ebe74134f71f4d05642c8bf878ae89da57360e3eca34b0317e2f7d371a88c"
361
+ },
362
+ {
363
+ "path": "packages/runtime/dist/src/session.js",
364
+ "bytes": 17136,
365
+ "sha256": "199a3289f50bfdd282d0ef2c83f7bd03ba53a8a2f373fefd8e081b38b18757a7"
366
+ },
367
+ {
368
+ "path": "packages/runtime/dist/src/types.d.ts",
369
+ "bytes": 593,
370
+ "sha256": "691beeffdca9bbe045cd09550a1946d9f61ff37340f5d01fead41ff4c4e278c8"
371
+ },
372
+ {
373
+ "path": "packages/runtime/dist/src/types.js",
374
+ "bytes": 84,
375
+ "sha256": "3c2f5c526f9ba7d5191b9b42194fd3c91024b57bf2f4653f5f237a6544d8d203"
376
+ },
377
+ {
378
+ "path": "packages/runtime/dist/src/video.d.ts",
379
+ "bytes": 1860,
380
+ "sha256": "b18dc3c6cd8eef13054b9f9335d82afccdbfd49a42eda4e02d491202aeadefee"
381
+ },
382
+ {
383
+ "path": "packages/runtime/dist/src/video.js",
384
+ "bytes": 12092,
385
+ "sha256": "9e0398c678eb15bea90982b7cf418dd438f9f621b83684722a2c5dba6400227b"
386
+ }
387
+ ]
388
+ }
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@onmark/cli",
3
+ "version": "0.1.3",
4
+ "description": "Screenplay-first deterministic browser video compiler",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/varo-yang/onmark.git"
9
+ },
10
+ "type": "module",
11
+ "engines": {
12
+ "node": ">=22.12"
13
+ },
14
+ "bin": {
15
+ "onmark": "./packages/launcher/dist/src/command.js"
16
+ },
17
+ "exports": {
18
+ "./authoring": {
19
+ "types": "./packages/authoring/dist/src/index.d.ts",
20
+ "default": "./packages/authoring/dist/src/index.js"
21
+ },
22
+ "./motion/gsap": {
23
+ "types": "./packages/motion-gsap/dist/src/index.d.ts",
24
+ "default": "./packages/motion-gsap/dist/src/index.js"
25
+ }
26
+ },
27
+ "imports": {
28
+ "#onmark-authoring": "./packages/authoring/dist/src/index.js",
29
+ "#onmark-bundler-command": "./packages/bundler/dist/src/command.js",
30
+ "#onmark-motion-gsap": "./packages/motion-gsap/dist/src/index.js",
31
+ "#onmark-runtime": "./packages/runtime/dist/src/index.js"
32
+ },
33
+ "files": [
34
+ "packages",
35
+ "LICENSE",
36
+ "README.md",
37
+ "onmark-release.json"
38
+ ],
39
+ "dependencies": {
40
+ "@puppeteer/browsers": "3.0.6",
41
+ "esbuild": "0.28.1",
42
+ "gsap": "3.15.0",
43
+ "parse5": "8.0.1",
44
+ "proxy-agent": "8.0.2",
45
+ "yauzl": "3.4.0"
46
+ },
47
+ "optionalDependencies": {
48
+ "@onmark/cli-darwin-arm64": "0.1.3",
49
+ "@onmark/cli-linux-x64": "0.1.3",
50
+ "@onmark/cli-win32-x64": "0.1.3"
51
+ }
52
+ }
@@ -0,0 +1,3 @@
1
+ export { combineMotion, type PresentationExtension, type PresentationExtensionContext, type PresentationTarget, type PresentationTargetKind, } from "./motion.js";
2
+ export { createDomPresentationBindings, type DomPresentationOptions, type VideoSource, } from "./presentation.js";
3
+ export { createFontResource, createImageResource, type FontResource, type FontResourceOptions, type ImageResource, type ImageResourceOptions, } from "./resource.js";
@@ -0,0 +1,4 @@
1
+ // Public facade for semantic browser authoring and optional motion adapters.
2
+ export { combineMotion, } from "./motion.js";
3
+ export { createDomPresentationBindings, } from "./presentation.js";
4
+ export { createFontResource, createImageResource, } from "./resource.js";