@hyperframes/core 0.8.14 → 0.8.16
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/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
|
@@ -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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"}
|