@hyperframes/core 0.8.15 → 0.8.17
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/mediaRenderIds.d.ts +0 -1
- package/dist/compiler/mediaRenderIds.d.ts.map +1 -1
- package/dist/compiler/mediaRenderIds.js +6 -18
- package/dist/compiler/mediaRenderIds.js.map +1 -1
- package/dist/compiler/timingCompiler.d.ts +4 -1
- package/dist/compiler/timingCompiler.d.ts.map +1 -1
- package/dist/compiler/timingCompiler.js +22 -16
- package/dist/compiler/timingCompiler.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +25 -25
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/bridge.d.ts +28 -0
- package/dist/runtime/bridge.d.ts.map +1 -0
- package/dist/runtime/bridge.js +137 -0
- package/dist/runtime/bridge.js.map +1 -0
- package/dist/runtime/protocol.d.ts +1 -1
- package/dist/runtime/protocol.d.ts.map +1 -1
- package/dist/runtime/protocol.js +1 -0
- package/dist/runtime/protocol.js.map +1 -1
- package/dist/runtime/types.d.ts +24 -9
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/webAudioRoute.d.ts +106 -0
- package/dist/runtime/webAudioRoute.d.ts.map +1 -0
- package/dist/runtime/webAudioRoute.js +221 -0
- package/dist/runtime/webAudioRoute.js.map +1 -0
- package/package.json +8 -4
|
@@ -41,7 +41,6 @@ interface MediaElementLike {
|
|
|
41
41
|
readonly tagName?: string;
|
|
42
42
|
getAttribute(name: string): string | null;
|
|
43
43
|
setAttribute(name: string, value: string): void;
|
|
44
|
-
querySelectorAll?(selector: string): Iterable<unknown>;
|
|
45
44
|
}
|
|
46
45
|
interface DocumentLike {
|
|
47
46
|
querySelectorAll(selector: string): Iterable<MediaElementLike>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaRenderIds.d.ts","sourceRoot":"","sources":["../../src/compiler/mediaRenderIds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"mediaRenderIds.d.ts","sourceRoot":"","sources":["../../src/compiler/mediaRenderIds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAkBpE,UAAU,gBAAgB;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAOD,UAAU,YAAY;IACpB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAChE;AAkBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAwBjE"}
|
|
@@ -40,27 +40,17 @@ export const AUDIO_GROUP_RENDER_ID_ATTR = "data-hf-group-render-id";
|
|
|
40
40
|
/**
|
|
41
41
|
* Elements the render pipeline addresses by id.
|
|
42
42
|
*
|
|
43
|
-
* `<video>`/`<audio>` are matched
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
43
|
+
* `<video>`/`<audio>` are matched even with an empty `src`. Authors assign the
|
|
44
|
+
* URL from the scene script (`el.src = url`); the static parse then skips them
|
|
45
|
+
* and the browser snapshot has to pair the clips. Without a render id on those
|
|
46
|
+
* elements the snapshot keys by raw id and colliding scenes collapse. `<img>`
|
|
47
|
+
* still requires a `src` attribute (empty is enough) so we do not stamp every
|
|
48
|
+
* decorative image.
|
|
48
49
|
*/
|
|
49
50
|
const MEDIA_SELECTOR = "video, audio, img[src]";
|
|
50
51
|
/** Buses, which are addressed by id in exactly the same way and collide the
|
|
51
52
|
* same way. Only an id'd bus can be joined at all. */
|
|
52
53
|
const AUDIO_GROUP_SELECTOR = "hf-audio-group[id]";
|
|
53
|
-
/** A `<source>`-bearing media element is addressable even without its own `src`. */
|
|
54
|
-
function hasPlayableSource(el) {
|
|
55
|
-
if (el.getAttribute("src"))
|
|
56
|
-
return true;
|
|
57
|
-
const sources = el.querySelectorAll?.("source[src]");
|
|
58
|
-
if (!sources)
|
|
59
|
-
return false;
|
|
60
|
-
for (const _ of sources)
|
|
61
|
-
return true;
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
54
|
/**
|
|
65
55
|
* Derive a document-unique render id from an element's own id.
|
|
66
56
|
*
|
|
@@ -89,8 +79,6 @@ export function assignMediaRenderIds(document) {
|
|
|
89
79
|
const taken = new Set();
|
|
90
80
|
const pending = [];
|
|
91
81
|
for (const el of document.querySelectorAll(MEDIA_SELECTOR)) {
|
|
92
|
-
if (!hasPlayableSource(el))
|
|
93
|
-
continue;
|
|
94
82
|
const existing = el.getAttribute(MEDIA_RENDER_ID_ATTR);
|
|
95
83
|
if (existing) {
|
|
96
84
|
taken.add(existing);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaRenderIds.js","sourceRoot":"","sources":["../../src/compiler/mediaRenderIds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAEpE
|
|
1
|
+
{"version":3,"file":"mediaRenderIds.js","sourceRoot":"","sources":["../../src/compiler/mediaRenderIds.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Timing Compiler
|
|
3
3
|
*
|
|
4
4
|
* Shared, pure HTML compilation that normalizes timing attributes.
|
|
5
|
-
* Works in both Node.js and browser (
|
|
5
|
+
* Works in both Node.js and browser (regex-based, no DOM).
|
|
6
6
|
*
|
|
7
7
|
* Guarantees every timed element gets:
|
|
8
8
|
* - id on media elements when missing
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
* this compiler identifies them as "unresolved" so the caller can provide
|
|
14
14
|
* durations via an environment-specific resolver (ffprobe, el.duration, etc.)
|
|
15
15
|
* and call injectDurations() to complete the compilation.
|
|
16
|
+
*
|
|
17
|
+
* Relative `data-start` (`intro`, `intro + 0.5`) is not numeric — leave
|
|
18
|
+
* `data-end` off so extract can resolve the id-ref later.
|
|
16
19
|
*/
|
|
17
20
|
export interface UnresolvedElement {
|
|
18
21
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timingCompiler.d.ts","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timingCompiler.d.ts","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAID,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/F;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,EACxC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AA4GD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA8ClE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,CA0BrF;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAgCzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAkB/E"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Timing Compiler
|
|
3
3
|
*
|
|
4
4
|
* Shared, pure HTML compilation that normalizes timing attributes.
|
|
5
|
-
* Works in both Node.js and browser (
|
|
5
|
+
* Works in both Node.js and browser (regex-based, no DOM).
|
|
6
6
|
*
|
|
7
7
|
* Guarantees every timed element gets:
|
|
8
8
|
* - id on media elements when missing
|
|
@@ -13,7 +13,11 @@
|
|
|
13
13
|
* this compiler identifies them as "unresolved" so the caller can provide
|
|
14
14
|
* durations via an environment-specific resolver (ffprobe, el.duration, etc.)
|
|
15
15
|
* and call injectDurations() to complete the compilation.
|
|
16
|
+
*
|
|
17
|
+
* Relative `data-start` (`intro`, `intro + 0.5`) is not numeric — leave
|
|
18
|
+
* `data-end` off so extract can resolve the id-ref later.
|
|
16
19
|
*/
|
|
20
|
+
import { parseNumeric } from "@hyperframes/parsers/composition-contract";
|
|
17
21
|
import { parseStrictFiniteTimingNumber, readElementPlaybackRate, readMediaStart, } from "../runtime/playbackRate.js";
|
|
18
22
|
// ffprobe precision can differ slightly across local and CI media stacks, so
|
|
19
23
|
// avoid shortening authored audio for insignificant probe drift.
|
|
@@ -88,17 +92,18 @@ function compileTag(tag, isVideo, generateId) {
|
|
|
88
92
|
result = injectAttr(result, "data-hf-auto-start", "");
|
|
89
93
|
startStr = "0";
|
|
90
94
|
}
|
|
91
|
-
const start =
|
|
95
|
+
const start = parseNumeric(startStr);
|
|
92
96
|
const attrReader = { getAttribute: (name) => getAttr(result, name) };
|
|
93
97
|
const mediaStart = readMediaStart(attrReader);
|
|
94
98
|
const playbackRate = readElementPlaybackRate(attrReader);
|
|
95
|
-
// 1. Compute data-end from data-start + data-duration
|
|
99
|
+
// 1. Compute data-end from data-start + data-duration. Skip relative id-refs.
|
|
96
100
|
if (!hasAttr(result, "data-end")) {
|
|
97
101
|
const durationStr = getAttr(result, "data-duration");
|
|
98
102
|
const duration = parseStrictFiniteTimingNumber(durationStr);
|
|
99
103
|
if (duration != null) {
|
|
100
|
-
|
|
101
|
-
|
|
104
|
+
if (start != null) {
|
|
105
|
+
result = injectAttr(result, "data-end", String(start + duration));
|
|
106
|
+
}
|
|
102
107
|
}
|
|
103
108
|
else if (id) {
|
|
104
109
|
// No data-duration: mark as unresolved so caller can provide it
|
|
@@ -106,7 +111,7 @@ function compileTag(tag, isVideo, generateId) {
|
|
|
106
111
|
id,
|
|
107
112
|
tagName: isVideo ? "video" : "audio",
|
|
108
113
|
src: getAttr(result, "src") ?? undefined,
|
|
109
|
-
start,
|
|
114
|
+
start: start ?? 0,
|
|
110
115
|
mediaStart,
|
|
111
116
|
playbackRate,
|
|
112
117
|
};
|
|
@@ -164,7 +169,7 @@ export function compileTimingAttrs(html) {
|
|
|
164
169
|
unresolved.push({
|
|
165
170
|
id,
|
|
166
171
|
tagName: "div",
|
|
167
|
-
start:
|
|
172
|
+
start: parseNumeric(startStr) ?? 0,
|
|
168
173
|
mediaStart: 0,
|
|
169
174
|
playbackRate: 1,
|
|
170
175
|
compositionSrc: compositionSrc ?? undefined,
|
|
@@ -191,11 +196,12 @@ export function injectDurations(html, resolutions) {
|
|
|
191
196
|
if (parseStrictFiniteTimingNumber(getAttr(result, "data-duration")) == null) {
|
|
192
197
|
result = setAttr(result, "data-duration", String(duration));
|
|
193
198
|
}
|
|
194
|
-
// Add data-end if missing
|
|
199
|
+
// Add data-end if missing. Skip relative id-refs.
|
|
195
200
|
if (!hasAttr(result, "data-end")) {
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
201
|
+
const start = parseNumeric(getAttr(result, "data-start"));
|
|
202
|
+
if (start != null) {
|
|
203
|
+
result = injectAttr(result, "data-end", String(start + duration));
|
|
204
|
+
}
|
|
199
205
|
}
|
|
200
206
|
return result;
|
|
201
207
|
});
|
|
@@ -230,7 +236,7 @@ export function extractResolvedMedia(html) {
|
|
|
230
236
|
id,
|
|
231
237
|
tagName: isVideo ? "video" : "audio",
|
|
232
238
|
src: getAttr(tag, "src") ?? undefined,
|
|
233
|
-
start:
|
|
239
|
+
start: parseNumeric(startStr) ?? 0,
|
|
234
240
|
duration,
|
|
235
241
|
mediaStart: readMediaStart(attrReader),
|
|
236
242
|
playbackRate: readElementPlaybackRate(attrReader),
|
|
@@ -250,10 +256,10 @@ export function clampDurations(html, clamps) {
|
|
|
250
256
|
html = html.replace(idPattern, (tag) => {
|
|
251
257
|
// Replace data-duration value
|
|
252
258
|
tag = tag.replace(/data-duration=["'][^"']*["']/, `data-duration="${duration}"`);
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
259
|
+
const start = parseNumeric(getAttr(tag, "data-start"));
|
|
260
|
+
if (start != null) {
|
|
261
|
+
tag = tag.replace(/data-end=["'][^"']*["']/, `data-end="${start + duration}"`);
|
|
262
|
+
}
|
|
257
263
|
return tag;
|
|
258
264
|
});
|
|
259
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"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"}
|