@hyperframes/core 0.8.77 → 0.8.79
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/compiler/htmlBundler.d.ts +2 -0
- package/dist/compiler/htmlBundler.d.ts.map +1 -1
- package/dist/compiler/htmlBundler.js +107 -43
- package/dist/compiler/htmlBundler.js.map +1 -1
- package/dist/compiler/htmlDocument.d.ts +1 -0
- package/dist/compiler/htmlDocument.d.ts.map +1 -1
- package/dist/compiler/htmlDocument.js +5 -2
- package/dist/compiler/htmlDocument.js.map +1 -1
- package/dist/compiler/index.d.ts +1 -0
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +1 -0
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/inlineSubCompositions.d.ts +8 -0
- package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
- package/dist/compiler/inlineSubCompositions.js +113 -8
- package/dist/compiler/inlineSubCompositions.js.map +1 -1
- package/dist/compiler/scenePartsManifest.d.ts +6 -0
- package/dist/compiler/scenePartsManifest.d.ts.map +1 -0
- package/dist/compiler/scenePartsManifest.js +31 -0
- package/dist/compiler/scenePartsManifest.js.map +1 -0
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +54 -54
- package/dist/runtime/applyVariableBindings.d.ts +4 -1
- package/dist/runtime/applyVariableBindings.d.ts.map +1 -1
- package/dist/runtime/applyVariableBindings.js +40 -31
- package/dist/runtime/applyVariableBindings.js.map +1 -1
- package/dist/runtime/clipTree.d.ts.map +1 -1
- package/dist/runtime/clipTree.js +2 -1
- package/dist/runtime/clipTree.js.map +1 -1
- package/dist/runtime/compositionDimension.d.ts +6 -0
- package/dist/runtime/compositionDimension.d.ts.map +1 -0
- package/dist/runtime/compositionDimension.js +23 -0
- package/dist/runtime/compositionDimension.js.map +1 -0
- package/dist/runtime/media.d.ts.map +1 -1
- package/dist/runtime/media.js +45 -17
- package/dist/runtime/media.js.map +1 -1
- package/dist/runtime/proxySrc.d.ts +4 -0
- package/dist/runtime/proxySrc.d.ts.map +1 -0
- package/dist/runtime/proxySrc.js +6 -0
- package/dist/runtime/proxySrc.js.map +1 -0
- package/dist/runtime/timeline.d.ts +4 -0
- package/dist/runtime/timeline.d.ts.map +1 -1
- package/dist/runtime/timeline.js +7 -5
- package/dist/runtime/timeline.js.map +1 -1
- package/dist/runtime/types.d.ts +5 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/safePath.d.ts +1 -1
- package/dist/safePath.d.ts.map +1 -1
- package/dist/safePath.js +14 -3
- package/dist/safePath.js.map +1 -1
- package/dist/sceneParts.d.ts +10 -0
- package/dist/sceneParts.d.ts.map +1 -0
- package/dist/sceneParts.js +5 -0
- package/dist/sceneParts.js.map +1 -0
- package/package.json +5 -4
|
@@ -41,5 +41,8 @@
|
|
|
41
41
|
* differ from the preview, which is the more dangerous of the two directions.
|
|
42
42
|
*/
|
|
43
43
|
export declare function sanitizeCssValue(value: string): string;
|
|
44
|
-
|
|
44
|
+
/** The src an element loads, preview proxy aside: its bound variable's value, else its attribute. */
|
|
45
|
+
export declare function unproxiedMediaSrc(el: Element): string | null;
|
|
46
|
+
/** Applies the bindings in `doc`, or only those inside `within` and `within` itself. */
|
|
47
|
+
export declare function applyVariableBindings(doc: Document, within?: Element): void;
|
|
45
48
|
//# sourceMappingURL=applyVariableBindings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyVariableBindings.d.ts","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"applyVariableBindings.d.ts","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAyBH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAoGD,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE5D;AAED,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAoB3E"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
import { readVariablesForElement } from "./variableScope.js";
|
|
30
30
|
import { isScalarVariableValue as isScalar, isSafeMediaUrl, } from "@hyperframes/parsers/composition";
|
|
31
31
|
import { isHtmlElement } from "./domRealm.js";
|
|
32
|
+
import { unproxiedSrc } from "./proxySrc.js";
|
|
32
33
|
// data-var-src only rebinds media `src` on media elements. A user-controlled
|
|
33
34
|
// variable value assigned to a src is an XSS surface on tags whose src executes
|
|
34
35
|
// (`<iframe src="javascript:…">`, `<script src="data:…">`, `<embed>`), so the
|
|
@@ -116,17 +117,9 @@ function findTopRoot(doc) {
|
|
|
116
117
|
doc.body?.firstElementChild ??
|
|
117
118
|
doc.body);
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const roots = new Set();
|
|
123
|
-
const topRoot = findTopRoot(doc);
|
|
124
|
-
if (topRoot)
|
|
125
|
-
roots.add(topRoot);
|
|
126
|
-
for (const el of Array.from(doc.querySelectorAll("[data-composition-id]"))) {
|
|
127
|
-
roots.add(el);
|
|
128
|
-
}
|
|
129
|
-
for (const root of roots) {
|
|
120
|
+
// Custom props inherit, so each composition root carries its own scope's values.
|
|
121
|
+
function applyCssCustomProperties(roots, cache) {
|
|
122
|
+
for (const root of new Set(roots)) {
|
|
130
123
|
const values = valuesForElement(root, cache);
|
|
131
124
|
for (const [id, value] of Object.entries(values)) {
|
|
132
125
|
const css = cssValueFor(value);
|
|
@@ -136,29 +129,45 @@ function applyCssCustomProperties(doc, cache) {
|
|
|
136
129
|
}
|
|
137
130
|
}
|
|
138
131
|
}
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// src on <iframe>/<script>/<embed> is a code-execution sink, not a media ref.
|
|
148
|
-
if (!VAR_SRC_TAGS.has(el.tagName.toLowerCase())) {
|
|
132
|
+
function variableSrcFor(el, cache, warn = true) {
|
|
133
|
+
const id = el.getAttribute("data-var-src")?.trim();
|
|
134
|
+
if (!id)
|
|
135
|
+
return null;
|
|
136
|
+
// Only media elements may take a variable-driven src (see VAR_SRC_TAGS) — a
|
|
137
|
+
// src on <iframe>/<script>/<embed> is a code-execution sink, not a media ref.
|
|
138
|
+
if (!VAR_SRC_TAGS.has(el.tagName.toLowerCase())) {
|
|
139
|
+
if (warn)
|
|
149
140
|
console.warn(`[hyperframes] Ignoring data-var-src on <${el.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(VAR_SRC_TAGS).join("/")}.`);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const url = resolveUrl(valuesForElement(el, cache)[id]);
|
|
144
|
+
if (url === null)
|
|
145
|
+
return null;
|
|
146
|
+
if (!isSafeMediaUrl(url)) {
|
|
147
|
+
if (warn)
|
|
156
148
|
console.warn(`[hyperframes] Ignoring data-var-src="${id}": unsafe URL protocol.`);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
return url;
|
|
152
|
+
}
|
|
153
|
+
/** The src an element loads, preview proxy aside: its bound variable's value, else its attribute. */
|
|
154
|
+
export function unproxiedMediaSrc(el) {
|
|
155
|
+
return variableSrcFor(el, new Map(), false) ?? unproxiedSrc(el);
|
|
156
|
+
}
|
|
157
|
+
/** Applies the bindings in `doc`, or only those inside `within` and `within` itself. */
|
|
158
|
+
export function applyVariableBindings(doc, within) {
|
|
159
|
+
const cache = new Map();
|
|
160
|
+
const all = (selector) => within
|
|
161
|
+
? [...(within.matches(selector) ? [within] : []), ...within.querySelectorAll(selector)]
|
|
162
|
+
: Array.from(doc.querySelectorAll(selector));
|
|
163
|
+
const topRoot = within ? null : findTopRoot(doc);
|
|
164
|
+
applyCssCustomProperties([...(topRoot ? [topRoot] : []), ...all("[data-composition-id]")], cache);
|
|
165
|
+
for (const el of all("[data-var-src]")) {
|
|
166
|
+
const url = variableSrcFor(el, cache);
|
|
167
|
+
if (url !== null && unproxiedSrc(el) !== url)
|
|
168
|
+
el.setAttribute("src", url);
|
|
160
169
|
}
|
|
161
|
-
for (const el of
|
|
170
|
+
for (const el of all("[data-var-text]")) {
|
|
162
171
|
const id = el.getAttribute("data-var-text")?.trim();
|
|
163
172
|
if (!id)
|
|
164
173
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyVariableBindings.js","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,qBAAqB,IAAI,QAAQ,EACjC,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"applyVariableBindings.js","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipTree.d.ts","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"clipTree.d.ts","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AASnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAaD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEvD;AAED,UAAU,iBAAiB;IACzB,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACzE;AAwDD,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAClE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,QAAQ,CAyBX"}
|
package/dist/runtime/clipTree.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { parseStrictFiniteTimingNumber, resolveNaturalMediaTimelineDuration, resolveTimedImageDurationSeconds, } from "./playbackRate.js";
|
|
13
13
|
import { isMediaElement } from "./domRealm.js";
|
|
14
|
+
import { findRootCompositionElement } from "./compositionDimension.js";
|
|
14
15
|
const DECORATIVE_TAGS = new Set(["SCRIPT", "STYLE", "LINK", "META", "TEMPLATE", "NOSCRIPT"]);
|
|
15
16
|
/**
|
|
16
17
|
* Stable identity for a timed element, shared by __clipTree and __clipManifest
|
|
@@ -67,7 +68,7 @@ function linkParentChild(elementToNode) {
|
|
|
67
68
|
export function createClipTree(params) {
|
|
68
69
|
const { startResolver, timelineRegistry, rootDuration } = params;
|
|
69
70
|
const elementToNode = new Map();
|
|
70
|
-
const root =
|
|
71
|
+
const root = findRootCompositionElement();
|
|
71
72
|
let ordinal = 0;
|
|
72
73
|
for (const el of document.querySelectorAll("[data-start]")) {
|
|
73
74
|
if (el === root || DECORATIVE_TAGS.has(el.tagName))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipTree.js","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"clipTree.js","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** A `data-width`/`data-height` length in CSS px as the stage lays it out, fractions kept. */
|
|
2
|
+
export declare function parseLayoutDimension(value: string | null | undefined): number | null;
|
|
3
|
+
/** The size the runtime reports to its host: whole px, read with `parseInt` as the renderer does. */
|
|
4
|
+
export declare function parseCompositionDimension(value: string | null | undefined): number | null;
|
|
5
|
+
export declare function findRootCompositionElement(): HTMLElement | null;
|
|
6
|
+
//# sourceMappingURL=compositionDimension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositionDimension.d.ts","sourceRoot":"","sources":["../../src/runtime/compositionDimension.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIpF;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIzF;AAED,wBAAgB,0BAA0B,IAAI,WAAW,GAAG,IAAI,CAK/D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { isHtmlElement } from "./domRealm.js";
|
|
2
|
+
/** A `data-width`/`data-height` length in CSS px as the stage lays it out, fractions kept. */
|
|
3
|
+
export function parseLayoutDimension(value) {
|
|
4
|
+
if (value == null || value.trim() === "")
|
|
5
|
+
return null;
|
|
6
|
+
const parsed = Number.parseFloat(value);
|
|
7
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
|
|
8
|
+
}
|
|
9
|
+
/** The size the runtime reports to its host: whole px, read with `parseInt` as the renderer does. */
|
|
10
|
+
export function parseCompositionDimension(value) {
|
|
11
|
+
if (value == null || value.trim() === "")
|
|
12
|
+
return null;
|
|
13
|
+
const parsed = Number.parseInt(value, 10);
|
|
14
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
|
|
15
|
+
}
|
|
16
|
+
export function findRootCompositionElement() {
|
|
17
|
+
const explicitRoot = document.querySelector('[data-composition-id][data-root="true"]');
|
|
18
|
+
if (isHtmlElement(explicitRoot))
|
|
19
|
+
return explicitRoot;
|
|
20
|
+
// The first composition in document order never sits inside another one.
|
|
21
|
+
return document.querySelector("[data-composition-id]");
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=compositionDimension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositionDimension.js","sourceRoot":"","sources":["../../src/runtime/compositionDimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,8FAA8F;AAC9F,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CAAC,KAAgC;IACxE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;IACvF,IAAI,aAAa,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IACrD,yEAAyE;IACzE,OAAO,QAAQ,CAAC,aAAa,CAAc,uBAAuB,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAA0C,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKxF,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mCAAmC,GACpC,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAE5D;AAgCD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,mFAAmF;IACnF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAChD,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IACzF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,OAAO,CAAC;IACjF;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;CACvD,GAAG;IACF,aAAa,EAAE,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IAC1D,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,CAkDA;AAmDD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/media.js
CHANGED
|
@@ -13,12 +13,12 @@ export { readElementPlaybackRate, readElementRateSpec, resolveNaturalMediaTimeli
|
|
|
13
13
|
export function readElementPlaybackStart(el) {
|
|
14
14
|
return readMediaStart(el);
|
|
15
15
|
}
|
|
16
|
-
const HOLD_END_EVENTS = ["seeked", "loadeddata", "
|
|
16
|
+
const HOLD_END_EVENTS = ["seeked", "loadeddata", "error", "emptied", "abort"];
|
|
17
17
|
const HOLD_CAP_MS = 5000;
|
|
18
18
|
const releaseHeldVideo = new WeakMap();
|
|
19
19
|
// A seeking video still paints its previous frame, and one still fetching its first data paints none (its seek
|
|
20
|
-
// waits for metadata without setting `seeking`); frame captures wait on the
|
|
21
|
-
//
|
|
20
|
+
// waits for metadata without setting `seeking`); frame captures wait on the barrier until it lands. The 5 s cap is
|
|
21
|
+
// the only end for a stalled source (`suspend` also fires between range requests); capture phase catches <source>.
|
|
22
22
|
function holdSeekBarrierUntilVideoLands(el) {
|
|
23
23
|
const loading = el.readyState < el.HAVE_CURRENT_DATA &&
|
|
24
24
|
el.networkState === el.NETWORK_LOADING &&
|
|
@@ -28,7 +28,7 @@ function holdSeekBarrierUntilVideoLands(el) {
|
|
|
28
28
|
releaseHeldVideo.get(el)?.();
|
|
29
29
|
registerSeekCompletion(new Promise((resolve) => {
|
|
30
30
|
const done = (event) => {
|
|
31
|
-
if (
|
|
31
|
+
if (event?.type === "loadeddata" && el.seeking)
|
|
32
32
|
return;
|
|
33
33
|
clearTimeout(cap);
|
|
34
34
|
for (const type of HOLD_END_EVENTS)
|
|
@@ -169,6 +169,7 @@ export function evictMediaSyncState(el) {
|
|
|
169
169
|
strictDriftSamples.delete(el);
|
|
170
170
|
seekLoadRetried.delete(el);
|
|
171
171
|
lastRuntimeAppliedVolume.delete(el);
|
|
172
|
+
videoSteering.delete(el);
|
|
172
173
|
}
|
|
173
174
|
/** Test-only seam: whether any per-source sync state is still tracked for `el`. */
|
|
174
175
|
export function hasMediaSyncStateForTest(el) {
|
|
@@ -176,7 +177,28 @@ export function hasMediaSyncStateForTest(el) {
|
|
|
176
177
|
lastRelativeTime.has(el) ||
|
|
177
178
|
strictDriftSamples.has(el) ||
|
|
178
179
|
seekLoadRetried.has(el) ||
|
|
179
|
-
lastRuntimeAppliedVolume.has(el)
|
|
180
|
+
lastRuntimeAppliedVolume.has(el) ||
|
|
181
|
+
videoSteering.has(el));
|
|
182
|
+
}
|
|
183
|
+
/** Drift a playing audio element may carry before sync pulls it back onto the playhead. */
|
|
184
|
+
const MEDIA_SYNC_TOLERANCE_SECONDS = 0.04;
|
|
185
|
+
// A playing video is steered back by rate, not seeked (a seek resets its decoder).
|
|
186
|
+
// Its rate is written only when steering starts or stops: every write costs a frame.
|
|
187
|
+
const VIDEO_STEER = 0.03;
|
|
188
|
+
const VIDEO_STEER_RELEASE_SECONDS = 0.01;
|
|
189
|
+
/** Direction (+1 fast, -1 slow) a video is being steered in; absent when it plays at its authored rate. */
|
|
190
|
+
const videoSteering = new WeakMap();
|
|
191
|
+
/** Rate for a playing video `offset` seconds behind (+) or ahead (-) of the playhead. */
|
|
192
|
+
function steeredVideoRate(el, offset, baseRate) {
|
|
193
|
+
const direction = Math.sign(offset);
|
|
194
|
+
const steering = videoSteering.get(el);
|
|
195
|
+
if (Math.abs(offset) > MEDIA_SYNC_TOLERANCE_SECONDS)
|
|
196
|
+
videoSteering.set(el, direction);
|
|
197
|
+
else if (steering !== direction || Math.abs(offset) <= VIDEO_STEER_RELEASE_SECONDS) {
|
|
198
|
+
videoSteering.delete(el);
|
|
199
|
+
return baseRate;
|
|
200
|
+
}
|
|
201
|
+
return baseRate * (1 + direction * VIDEO_STEER);
|
|
180
202
|
}
|
|
181
203
|
// fallow-ignore-next-line complexity
|
|
182
204
|
export function syncRuntimeMedia(params) {
|
|
@@ -318,14 +340,8 @@ export function syncRuntimeMedia(params) {
|
|
|
318
340
|
// was overridden after init.ts set it.
|
|
319
341
|
if (el.preload !== "auto")
|
|
320
342
|
el.preload = "auto";
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
el.playbackRate = rateAt(clipRate, params.timeSeconds - clip.start) * params.playbackRate;
|
|
324
|
-
}
|
|
325
|
-
catch (err) {
|
|
326
|
-
// ignore unsupported playbackRate
|
|
327
|
-
swallow("runtime.media.site1", err);
|
|
328
|
-
}
|
|
343
|
+
// Per-element rate × global transport rate
|
|
344
|
+
const baseRate = rateAt(clipRate, params.timeSeconds - clip.start) * params.playbackRate;
|
|
329
345
|
// Drift correction — three tiers:
|
|
330
346
|
//
|
|
331
347
|
// 1. Hard sync (0.5s): first tick, timeline jumps (scrub), catastrophic
|
|
@@ -344,7 +360,6 @@ export function syncRuntimeMedia(params) {
|
|
|
344
360
|
// The first tick a clip is active has no previous offset to compare —
|
|
345
361
|
// treated as hard resync so sub-compositions with non-zero mediaStart
|
|
346
362
|
// land on the right frame.
|
|
347
|
-
const STRICT_DRIFT_THRESHOLD = 0.04;
|
|
348
363
|
const STRICT_REQUIRED_SAMPLES = 2;
|
|
349
364
|
const currentElTime = el.currentTime || 0;
|
|
350
365
|
const drift = Math.abs(currentElTime - relTime);
|
|
@@ -359,7 +374,7 @@ export function syncRuntimeMedia(params) {
|
|
|
359
374
|
// strict threshold; do not force cold audio forward while it buffers.
|
|
360
375
|
const staleAudioOnFirstTick = el.tagName === "AUDIO" &&
|
|
361
376
|
firstTickOfClip &&
|
|
362
|
-
currentElTime - relTime >
|
|
377
|
+
currentElTime - relTime > MEDIA_SYNC_TOLERANCE_SECONDS;
|
|
363
378
|
const hardSync = (isHeldVideoTail && drift > 0.001) ||
|
|
364
379
|
(el.ended && canSeekEndedMediaBackward && drift > 0.001) ||
|
|
365
380
|
staleAudioOnFirstTick ||
|
|
@@ -380,7 +395,7 @@ export function syncRuntimeMedia(params) {
|
|
|
380
395
|
!hardSync &&
|
|
381
396
|
!firstTickOfClip &&
|
|
382
397
|
offsetStabilized &&
|
|
383
|
-
drift >
|
|
398
|
+
drift > MEDIA_SYNC_TOLERANCE_SECONDS) {
|
|
384
399
|
const samples = (strictDriftSamples.get(el) ?? 0) + 1;
|
|
385
400
|
strictDriftSamples.set(el, samples);
|
|
386
401
|
if (samples >= STRICT_REQUIRED_SAMPLES) {
|
|
@@ -388,10 +403,23 @@ export function syncRuntimeMedia(params) {
|
|
|
388
403
|
strictDriftSamples.set(el, 0);
|
|
389
404
|
}
|
|
390
405
|
}
|
|
391
|
-
else if (drift <=
|
|
406
|
+
else if (drift <= MEDIA_SYNC_TOLERANCE_SECONDS) {
|
|
392
407
|
strictDriftSamples.set(el, 0);
|
|
393
408
|
}
|
|
394
409
|
const forceSync = !isPlayingVideo && params.forceSync && drift > 0.02;
|
|
410
|
+
try {
|
|
411
|
+
// A hard sync lands the video on the playhead, so its pre-seek offset says nothing.
|
|
412
|
+
if (!isPlayingVideo || hardSync)
|
|
413
|
+
videoSteering.delete(el);
|
|
414
|
+
const rate = isPlayingVideo && !hardSync ? steeredVideoRate(el, offset, baseRate) : baseRate;
|
|
415
|
+
// Some engines read a rate back at lower precision; an equal-enough rate is not rewritten.
|
|
416
|
+
if (Math.abs(el.playbackRate - rate) > 1e-6)
|
|
417
|
+
el.playbackRate = rate;
|
|
418
|
+
}
|
|
419
|
+
catch (err) {
|
|
420
|
+
// ignore unsupported playbackRate
|
|
421
|
+
swallow("runtime.media.site1", err);
|
|
422
|
+
}
|
|
395
423
|
if (hardSync || strictSync || forceSync) {
|
|
396
424
|
// Skip the per-tick seek (and the `el.load()` drift-recovery retry
|
|
397
425
|
// below) for `<video>` elements that have a sibling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Media elements swapped to their proxy, each with the src attribute it had before the swap. */
|
|
2
|
+
export declare const swappedElements: WeakMap<Element, string | null>;
|
|
3
|
+
export declare function unproxiedSrc(el: Element): string | null;
|
|
4
|
+
//# sourceMappingURL=proxySrc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxySrc.d.ts","sourceRoot":"","sources":["../../src/runtime/proxySrc.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,eAAO,MAAM,eAAe,iCAAwC,CAAC;AAErE,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEvD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Media elements swapped to their proxy, each with the src attribute it had before the swap. */
|
|
2
|
+
export const swappedElements = new WeakMap();
|
|
3
|
+
export function unproxiedSrc(el) {
|
|
4
|
+
return swappedElements.has(el) ? (swappedElements.get(el) ?? null) : el.getAttribute("src");
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=proxySrc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxySrc.js","sourceRoot":"","sources":["../../src/runtime/proxySrc.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAA0B,CAAC;AAErE,MAAM,UAAU,YAAY,CAAC,EAAW;IACtC,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { RuntimeTimelineMessage, RuntimeTimelineLike } from "./types";
|
|
2
2
|
import { createRuntimeStartTimeResolver } from "./startResolver";
|
|
3
|
+
/** A root timeline this long is an endless loop, not a film: GSAP reports 1e10 s for `repeat: -1`.
|
|
4
|
+
* Studio's sanitizeDurationSeconds rejects the same length. Animations that simply end past the
|
|
5
|
+
* voiceover are real duration, and the runtime player already plays them. */
|
|
6
|
+
export declare const LOOP_INFLATED_TIMELINE_SECONDS = 7200;
|
|
3
7
|
export declare function isRuntimeElementVisibleAt(rawNode: HTMLElement, options: {
|
|
4
8
|
currentTime: number;
|
|
5
9
|
compositionDuration: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/runtime/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,mBAAmB,EACpB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/runtime/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAQjE;;8EAE8E;AAC9E,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAClE,QAAQ,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;CAC7D,GACA,OAAO,CAiDT;AAmJD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,sBAAsB,CAqdzB"}
|
package/dist/runtime/timeline.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stableClipId } from "./clipTree.js";
|
|
2
|
+
import { findRootCompositionElement, parseCompositionDimension } from "./compositionDimension.js";
|
|
2
3
|
import { AUTHORED_DURATION_ATTR, AUTHORED_END_ATTR, resolveAuthoredTimingWindow, } from "./authoredTiming.js";
|
|
3
4
|
import { swallow } from "./diagnostics.js";
|
|
4
5
|
import { readElementPlaybackRate, readElementPlaybackStart } from "./media.js";
|
|
@@ -14,7 +15,7 @@ import { isElementNode, isMediaElement } from "./domRealm.js";
|
|
|
14
15
|
/** A root timeline this long is an endless loop, not a film: GSAP reports 1e10 s for `repeat: -1`.
|
|
15
16
|
* Studio's sanitizeDurationSeconds rejects the same length. Animations that simply end past the
|
|
16
17
|
* voiceover are real duration, and the runtime player already plays them. */
|
|
17
|
-
const LOOP_INFLATED_TIMELINE_SECONDS = 7200;
|
|
18
|
+
export const LOOP_INFLATED_TIMELINE_SECONDS = 7200;
|
|
18
19
|
export function isRuntimeElementVisibleAt(rawNode, options) {
|
|
19
20
|
const tag = rawNode.tagName.toLowerCase();
|
|
20
21
|
if (tag === "script" || tag === "style" || tag === "link" || tag === "meta") {
|
|
@@ -265,7 +266,7 @@ export function collectRuntimeTimelinePayload(params) {
|
|
|
265
266
|
inheritedDuration,
|
|
266
267
|
};
|
|
267
268
|
};
|
|
268
|
-
const root =
|
|
269
|
+
const root = findRootCompositionElement();
|
|
269
270
|
const compositionNodes = Array.from(document.querySelectorAll("[data-composition-id]"));
|
|
270
271
|
const rootCompositionId = root?.getAttribute("data-composition-id") ?? null;
|
|
271
272
|
const rootCompositionStart = root ? startResolver.resolveStartForElement(root, 0) : 0;
|
|
@@ -633,7 +634,8 @@ export function collectRuntimeTimelinePayload(params) {
|
|
|
633
634
|
// hide structural/background tracks from the timeline UI; if we collapse the
|
|
634
635
|
// payload duration down to the last visible clip end, the controls jump even
|
|
635
636
|
// though playback still runs for the full authored root duration.
|
|
636
|
-
const
|
|
637
|
+
const knownDuration = Math.max(maxEnd || 0, rootCompositionDuration ?? 0);
|
|
638
|
+
const safeDuration = knownDuration > 0 ? knownDuration : 1;
|
|
637
639
|
const durationInFrames = Math.max(1, Math.ceil(safeDuration * Math.max(1, params.canonicalFps)));
|
|
638
640
|
return {
|
|
639
641
|
...runtimeProtocolMetadata(params.canonicalFps),
|
|
@@ -644,8 +646,8 @@ export function collectRuntimeTimelinePayload(params) {
|
|
|
644
646
|
durationInFrames,
|
|
645
647
|
clips,
|
|
646
648
|
scenes,
|
|
647
|
-
compositionWidth:
|
|
648
|
-
compositionHeight:
|
|
649
|
+
compositionWidth: parseCompositionDimension(root?.getAttribute("data-width")) ?? 1920,
|
|
650
|
+
compositionHeight: parseCompositionDimension(root?.getAttribute("data-height")) ?? 1080,
|
|
649
651
|
};
|
|
650
652
|
}
|
|
651
653
|
//# sourceMappingURL=timeline.js.map
|