@hyperframes/producer 0.4.4 → 0.4.6
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/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +5 -5
- package/dist/index.js +321 -78
- package/dist/index.js.map +4 -4
- package/dist/public-server.js +321 -78
- package/dist/public-server.js.map +4 -4
- package/dist/services/fileServer.d.ts +11 -0
- package/dist/services/fileServer.d.ts.map +1 -1
- package/dist/services/htmlCompiler.d.ts +11 -0
- package/dist/services/htmlCompiler.d.ts.map +1 -1
- package/dist/services/renderOrchestrator.d.ts +6 -0
- package/dist/services/renderOrchestrator.d.ts.map +1 -1
- package/dist/utils/paths.d.ts +35 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -6,10 +6,20 @@
|
|
|
6
6
|
* into index.html on-the-fly, so Puppeteer can load the composition with
|
|
7
7
|
* all relative URLs (compositions, CSS, JS, assets) resolving correctly.
|
|
8
8
|
*/
|
|
9
|
+
declare const VIRTUAL_TIME_SHIM: string;
|
|
10
|
+
/**
|
|
11
|
+
* Bridge script: maps window.__player (Hyperframe runtime) → window.__hf (engine protocol).
|
|
12
|
+
* Injected after RENDER_MODE_SCRIPT so the engine's frameCapture can find window.__hf.
|
|
13
|
+
*/
|
|
14
|
+
declare const HF_BRIDGE_SCRIPT = "(function() {\n var __realSetInterval =\n window.__HF_VIRTUAL_TIME__ && typeof window.__HF_VIRTUAL_TIME__.originalSetInterval === \"function\"\n ? window.__HF_VIRTUAL_TIME__.originalSetInterval\n : window.setInterval.bind(window);\n var __realClearInterval =\n window.__HF_VIRTUAL_TIME__ && typeof window.__HF_VIRTUAL_TIME__.originalClearInterval === \"function\"\n ? window.__HF_VIRTUAL_TIME__.originalClearInterval\n : window.clearInterval.bind(window);\n function getDeclaredDuration() {\n var root = document.querySelector('[data-composition-id]');\n if (!root) return 0;\n var d = Number(root.getAttribute('data-duration'));\n return Number.isFinite(d) && d > 0 ? d : 0;\n }\n function seekSameOriginChildFrames(frameWindow, nextTimeMs) {\n var frames;\n try {\n frames = frameWindow.frames;\n } catch (_error) {\n return;\n }\n if (!frames || typeof frames.length !== \"number\") return;\n for (var i = 0; i < frames.length; i++) {\n var childWindow = null;\n try {\n childWindow = frames[i];\n if (!childWindow || childWindow === frameWindow) continue;\n if (\n childWindow.__HF_VIRTUAL_TIME__ &&\n typeof childWindow.__HF_VIRTUAL_TIME__.seekToTime === \"function\"\n ) {\n childWindow.__HF_VIRTUAL_TIME__.seekToTime(nextTimeMs);\n }\n } catch (_error) {\n continue;\n }\n seekSameOriginChildFrames(childWindow, nextTimeMs);\n }\n }\n function bridge() {\n var p = window.__player;\n if (!p || typeof p.renderSeek !== \"function\" || typeof p.getDuration !== \"function\") {\n return false;\n }\n window.__hf = {\n get duration() {\n var d = p.getDuration();\n return d > 0 ? d : getDeclaredDuration();\n },\n seek: function(t) {\n p.renderSeek(t);\n var nextTimeMs = (Math.max(0, Number(t) || 0)) * 1000;\n if (window.__HF_VIRTUAL_TIME__ && typeof window.__HF_VIRTUAL_TIME__.seekToTime === \"function\") {\n window.__HF_VIRTUAL_TIME__.seekToTime(nextTimeMs);\n }\n seekSameOriginChildFrames(window, nextTimeMs);\n },\n };\n return true;\n }\n if (bridge()) return;\n var iv = __realSetInterval(function() {\n if (bridge()) __realClearInterval(iv);\n }, 50);\n})();";
|
|
15
|
+
export declare function injectScriptsIntoHtml(html: string, headScripts: string[], bodyScripts: string[], stripEmbedded: boolean): string;
|
|
16
|
+
export declare function injectScriptsAtHeadStart(html: string, scripts: string[]): string;
|
|
9
17
|
export interface FileServerOptions {
|
|
10
18
|
projectDir: string;
|
|
11
19
|
compiledDir?: string;
|
|
12
20
|
port?: number;
|
|
21
|
+
/** Scripts injected into <head> of every served HTML file before authored scripts. */
|
|
22
|
+
preHeadScripts?: string[];
|
|
13
23
|
/** Scripts injected into <head> of index.html. Default: verified Hyperframe runtime. */
|
|
14
24
|
headScripts?: string[];
|
|
15
25
|
/** Scripts injected before </body> of index.html. Default: render mode extension. */
|
|
@@ -23,4 +33,5 @@ export interface FileServerHandle {
|
|
|
23
33
|
close: () => void;
|
|
24
34
|
}
|
|
25
35
|
export declare function createFileServer(options: FileServerOptions): Promise<FileServerHandle>;
|
|
36
|
+
export { HF_BRIDGE_SCRIPT, VIRTUAL_TIME_SHIM };
|
|
26
37
|
//# sourceMappingURL=fileServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileServer.d.ts","sourceRoot":"","sources":["../../src/services/fileServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"fileServer.d.ts","sourceRoot":"","sources":["../../src/services/fileServer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgCH,QAAA,MAAM,iBAAiB,QA+FjB,CAAC;AAiIP;;;GAGG;AACH,QAAA,MAAM,gBAAgB,mzEAiEhB,CAAC;AAqCP,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,OAAO,GACrB,MAAM,CA4BR;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAUhF;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8EtF;AAED,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -22,7 +22,18 @@ export interface CompiledComposition {
|
|
|
22
22
|
width: number;
|
|
23
23
|
height: number;
|
|
24
24
|
staticDuration: number;
|
|
25
|
+
renderModeHints: RenderModeHints;
|
|
25
26
|
}
|
|
27
|
+
export type RenderModeHintCode = "iframe" | "requestAnimationFrame";
|
|
28
|
+
export interface RenderModeHint {
|
|
29
|
+
code: RenderModeHintCode;
|
|
30
|
+
message: string;
|
|
31
|
+
}
|
|
32
|
+
export interface RenderModeHints {
|
|
33
|
+
recommendScreenshot: boolean;
|
|
34
|
+
reasons: RenderModeHint[];
|
|
35
|
+
}
|
|
36
|
+
export declare function detectRenderModeHints(html: string): RenderModeHints;
|
|
26
37
|
/**
|
|
27
38
|
* Download external CDN scripts and inline them into the HTML so rendering
|
|
28
39
|
* works without network access (Docker, CI, restricted environments).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlCompiler.d.ts","sourceRoot":"","sources":["../../src/services/htmlCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGvB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"htmlCompiler.d.ts","sourceRoot":"","sources":["../../src/services/htmlCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,oHAAoH;IACpH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,uBAAuB,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAgBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CA+BnE;AAypBD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDzE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CA6EvD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAkH9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA6CzF;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,EAAE,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiD7B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* full context, and failures produce a diagnostic summary.
|
|
14
14
|
*/
|
|
15
15
|
import { type EngineConfig, type VideoElement, type AudioElement } from "@hyperframes/engine";
|
|
16
|
+
import { type CompiledComposition } from "./htmlCompiler.js";
|
|
16
17
|
import { type ProducerLogger } from "../logger.js";
|
|
17
18
|
export type RenderStatus = "queued" | "preprocessing" | "rendering" | "encoding" | "assembling" | "complete" | "failed" | "cancelled";
|
|
18
19
|
export interface RenderConfig {
|
|
@@ -100,6 +101,11 @@ export interface CompositionMetadata {
|
|
|
100
101
|
width: number;
|
|
101
102
|
height: number;
|
|
102
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Write compiled HTML and sub-compositions to the work directory.
|
|
106
|
+
*/
|
|
107
|
+
export declare function writeCompiledArtifacts(compiled: CompiledComposition, workDir: string, includeSummary: boolean): void;
|
|
108
|
+
export declare function applyRenderModeHints(cfg: EngineConfig, compiled: CompiledComposition, log?: ProducerLogger): void;
|
|
103
109
|
export declare function createRenderJob(config: RenderConfig): RenderJob;
|
|
104
110
|
/**
|
|
105
111
|
* Main render pipeline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderOrchestrator.d.ts","sourceRoot":"","sources":["../../src/services/renderOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,EACL,KAAK,YAAY,EAIjB,KAAK,YAAY,EAkBjB,KAAK,YAAY,EAQlB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderOrchestrator.d.ts","sourceRoot":"","sources":["../../src/services/renderOrchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/paths.d.ts
CHANGED
|
@@ -5,5 +5,40 @@ export interface RenderPaths {
|
|
|
5
5
|
absoluteProjectDir: string;
|
|
6
6
|
absoluteOutputPath: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Cross-platform containment check.
|
|
10
|
+
*
|
|
11
|
+
* `child.startsWith(parent + "/")` breaks on Windows because the path
|
|
12
|
+
* separator is `\`, not `/`. This helper uses `path.relative()` which
|
|
13
|
+
* normalises separators per-platform and returns `..`-prefixed output
|
|
14
|
+
* for out-of-tree paths — the canonical way to ask "is `child` inside
|
|
15
|
+
* `parent`?" on every supported OS.
|
|
16
|
+
*
|
|
17
|
+
* Both inputs are normalised via `resolve()` so callers don't need to.
|
|
18
|
+
* Equality counts as "inside" (a directory contains itself).
|
|
19
|
+
*/
|
|
20
|
+
export declare function isPathInside(childPath: string, parentPath: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Build a safe, cross-platform relative key for an absolute asset path
|
|
23
|
+
* that lives outside the project directory.
|
|
24
|
+
*
|
|
25
|
+
* Windows absolute paths (`D:\coder\assets\segment.wav`) break two
|
|
26
|
+
* downstream assumptions when passed as-is to `path.join(compileDir, key)`:
|
|
27
|
+
* 1. The drive letter makes the path absolute, so `join()` silently
|
|
28
|
+
* discards `compileDir`.
|
|
29
|
+
* 2. The backslashes and colon are invalid inside some OS sandboxes
|
|
30
|
+
* and HTTP URL encodings.
|
|
31
|
+
*
|
|
32
|
+
* We sanitise into `hf-ext/...` form using forward slashes, stripping
|
|
33
|
+
* the colon after drive letters, the Windows extended-length prefix
|
|
34
|
+
* (`\\?\`), and the UNC prefix (`\\server\share\`). The result is a
|
|
35
|
+
* pure relative path that joins cleanly on every platform.
|
|
36
|
+
*
|
|
37
|
+
* Caller contract: `absPath` is expected to be canonical — typically
|
|
38
|
+
* produced by `path.resolve()` upstream. This helper does NOT strip
|
|
39
|
+
* `..` components on its own. `isPathInside` at copy time is the
|
|
40
|
+
* defensive backstop.
|
|
41
|
+
*/
|
|
42
|
+
export declare function toExternalAssetKey(absPath: string): string;
|
|
8
43
|
export declare function resolveRenderPaths(projectDir: string, outputPath: string | null | undefined, rendersDir?: string): RenderPaths;
|
|
9
44
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAMD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,UAAU,GAAE,MAA4B,GACvC,WAAW,CAOb"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAS3E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,UAAU,GAAE,MAA4B,GACvC,WAAW,CAOb"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperframes/producer",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "HTML-to-video rendering engine using Chrome's BeginFrame API",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"postcss": "^8.4.0",
|
|
45
45
|
"puppeteer": "^24.0.0",
|
|
46
46
|
"puppeteer-core": "^24.39.1",
|
|
47
|
-
"@hyperframes/
|
|
48
|
-
"@hyperframes/
|
|
47
|
+
"@hyperframes/core": "^0.4.6",
|
|
48
|
+
"@hyperframes/engine": "^0.4.6"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@fontsource/lato": "^5.2.7",
|