@hyperframes/core 0.8.142 → 0.8.143
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/beats/beatFile.d.ts +1 -1
- package/dist/beats/beatFile.d.ts.map +1 -1
- package/dist/beats/beatFile.js +11 -10
- package/dist/beats/beatFile.js.map +1 -1
- package/dist/compiler/htmlBundler.d.ts.map +1 -1
- package/dist/compiler/htmlBundler.js +24 -25
- package/dist/compiler/htmlBundler.js.map +1 -1
- package/dist/compiler/htmlCompiler.d.ts.map +1 -1
- package/dist/compiler/htmlCompiler.js +7 -1
- package/dist/compiler/htmlCompiler.js.map +1 -1
- package/dist/compiler/timingCompiler.d.ts +1 -1
- package/dist/compiler/timingCompiler.d.ts.map +1 -1
- package/dist/compiler/timingCompiler.js +57 -128
- 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/media/gif.d.ts.map +1 -1
- package/dist/media/gif.js +7 -2
- package/dist/media/gif.js.map +1 -1
- package/dist/text/fitTextFontSize.d.ts.map +1 -1
- package/dist/text/fitTextFontSize.js +3 -1
- package/dist/text/fitTextFontSize.js.map +1 -1
- package/dist/timelineAssetId.d.ts.map +1 -1
- package/dist/timelineAssetId.js +3 -2
- package/dist/timelineAssetId.js.map +1 -1
- package/package.json +4 -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 without a DOM.
|
|
6
6
|
*
|
|
7
7
|
* Guarantees every timed element gets:
|
|
8
8
|
* - id on media elements when missing
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* Relative `data-start` (`intro`, `intro + 0.5`) is not numeric — leave
|
|
18
18
|
* `data-end` off so extract can resolve the id-ref later.
|
|
19
19
|
*/
|
|
20
|
+
import { scanHtmlOpeningTags, decodeAuthoredAttribute } from "@hyperframes/parsers";
|
|
20
21
|
import { parseNumeric } from "@hyperframes/parsers/composition-contract";
|
|
21
22
|
import { parseStrictFiniteTimingNumber, readElementRateSpec, readMediaStart, } from "../runtime/playbackRate.js";
|
|
22
23
|
// ffprobe precision can differ slightly across local and CI media stacks, so
|
|
@@ -36,104 +37,44 @@ export function shouldClampResolvedMediaDuration(tagName, declaredDuration, maxD
|
|
|
36
37
|
return tagName === "audio" && shouldClampMediaDuration(declaredDuration, maxDuration);
|
|
37
38
|
}
|
|
38
39
|
// ── Helpers ──────────────────────────────────────────────────────────────
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// had an `id`, so it skipped its `hf-video-N` injection — leaving the element
|
|
45
|
-
// with no real `el.id`, which the render pipeline keys off of (blank wash).
|
|
46
|
-
const match = tag.match(new RegExp(`(?<![\\w-])${attr}=(?:"([^"]+)"|'([^']+)')`));
|
|
47
|
-
return match ? (match[1] ?? match[2] ?? null) : null;
|
|
40
|
+
function sourceAttribute(tag, name) {
|
|
41
|
+
return scanHtmlOpeningTags(tag)[0]?.attributes.find((attr) => attr.name === name);
|
|
42
|
+
}
|
|
43
|
+
function getAttr(tag, name) {
|
|
44
|
+
return tagAttrReader(tag).getAttribute(name);
|
|
48
45
|
}
|
|
49
|
-
/** An attribute reader over tag source that decodes the entities the DOM would, for JSON-valued attributes. */
|
|
50
46
|
function tagAttrReader(tag) {
|
|
47
|
+
const attributes = scanHtmlOpeningTags(tag)[0]?.attributes ?? [];
|
|
51
48
|
return {
|
|
52
49
|
getAttribute: (name) => {
|
|
53
|
-
const
|
|
54
|
-
return
|
|
55
|
-
? raw
|
|
56
|
-
.replace(/"/g, '"')
|
|
57
|
-
.replace(/'/g, "'")
|
|
58
|
-
.replace(/</g, "<")
|
|
59
|
-
.replace(/>/g, ">")
|
|
60
|
-
.replace(/&/g, "&")
|
|
61
|
-
: raw;
|
|
50
|
+
const attr = attributes.find((attr) => attr.name === name);
|
|
51
|
+
return attr?.kind === "value" ? decodeAuthoredAttribute(attr.value) : null;
|
|
62
52
|
},
|
|
63
53
|
};
|
|
64
54
|
}
|
|
65
|
-
function hasAttr(tag,
|
|
66
|
-
return
|
|
55
|
+
function hasAttr(tag, name) {
|
|
56
|
+
return sourceAttribute(tag, name) !== undefined;
|
|
67
57
|
}
|
|
68
58
|
function injectAttr(tag, attr, value) {
|
|
69
59
|
return tag.replace(/>$/, ` ${attr}="${value}">`);
|
|
70
60
|
}
|
|
71
|
-
function setAttr(tag,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
61
|
+
function setAttr(tag, name, value) {
|
|
62
|
+
const attr = sourceAttribute(tag, name);
|
|
63
|
+
if (!attr)
|
|
64
|
+
return injectAttr(tag, name, value);
|
|
65
|
+
return tag.slice(0, attr.start) + `${name}="${value}"` + tag.slice(attr.end);
|
|
75
66
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
// them) before scanning, then restore them verbatim.
|
|
81
|
-
// The NUL delimiters must stay as \u0000 escapes: raw 0x00 bytes make this file
|
|
82
|
-
// binary to git and are corrupted by Bun's transpiler when bundled (issue #2139).
|
|
83
|
-
function maskInertRegions(html) {
|
|
84
|
-
const stash = [];
|
|
85
|
-
const parts = [];
|
|
86
|
-
const opening = /<!--|<script\b|<style\b/gi;
|
|
87
|
-
const closings = new Map([
|
|
88
|
-
["<!--", /--!?>/g],
|
|
89
|
-
["<script", /<\/script\s*>/gi],
|
|
90
|
-
["<style", /<\/style\s*>/gi],
|
|
91
|
-
]);
|
|
92
|
-
let cursor = 0;
|
|
93
|
-
let match;
|
|
94
|
-
while ((match = opening.exec(html)) !== null) {
|
|
95
|
-
const kind = match[0].toLowerCase();
|
|
96
|
-
const closing = closings.get(kind);
|
|
97
|
-
if (!closing)
|
|
98
|
-
continue;
|
|
99
|
-
closing.lastIndex = opening.lastIndex;
|
|
100
|
-
const end = closing.exec(html) ? closing.lastIndex : -1;
|
|
101
|
-
if (end < 0) {
|
|
102
|
-
// No later opener of this kind can close either. Search each unmatched
|
|
103
|
-
// suffix only once, while still allowing other kinds of inert regions.
|
|
104
|
-
closings.delete(kind);
|
|
105
|
-
continue;
|
|
67
|
+
function* iterateOpeningTags(html, names) {
|
|
68
|
+
for (const span of scanHtmlOpeningTags(html)) {
|
|
69
|
+
if (span.closed && names.includes(span.name)) {
|
|
70
|
+
yield { tag: html.slice(span.start, span.end), index: span.start, end: span.end };
|
|
106
71
|
}
|
|
107
|
-
const token = `\u0000HFMASK${stash.length}\u0000`;
|
|
108
|
-
parts.push(html.slice(cursor, match.index), token);
|
|
109
|
-
stash.push(html.slice(match.index, end));
|
|
110
|
-
cursor = end;
|
|
111
|
-
opening.lastIndex = cursor;
|
|
112
72
|
}
|
|
113
|
-
parts.push(html.slice(cursor));
|
|
114
|
-
const masked = parts.join("");
|
|
115
|
-
const restore = (s) =>
|
|
116
|
-
// oxlint-disable-next-line no-control-regex -- NUL cannot appear in HTML, which is what makes it a safe mask delimiter
|
|
117
|
-
s.replace(/\u0000HFMASK(\d+)\u0000/g, (_, i) => stash[Number(i)] ?? "");
|
|
118
|
-
return { masked, restore };
|
|
119
73
|
}
|
|
120
|
-
|
|
121
|
-
function* iterateOpeningTags(html, prefix) {
|
|
122
|
-
let match;
|
|
123
|
-
while ((match = prefix.exec(html)) !== null) {
|
|
124
|
-
const closing = html.indexOf(">", prefix.lastIndex);
|
|
125
|
-
// Without a closer, no later prefix can form a complete tag either.
|
|
126
|
-
if (closing < 0)
|
|
127
|
-
break;
|
|
128
|
-
const end = closing + 1;
|
|
129
|
-
yield { tag: html.slice(match.index, end), index: match.index, end };
|
|
130
|
-
prefix.lastIndex = end;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
function replaceOpeningTags(html, prefix, replace) {
|
|
74
|
+
function replaceOpeningTags(html, names, replace) {
|
|
134
75
|
const parts = [];
|
|
135
76
|
let cursor = 0;
|
|
136
|
-
for (const { tag, index, end } of iterateOpeningTags(html,
|
|
77
|
+
for (const { tag, index, end } of iterateOpeningTags(html, names)) {
|
|
137
78
|
parts.push(html.slice(cursor, index), replace(tag));
|
|
138
79
|
cursor = end;
|
|
139
80
|
}
|
|
@@ -141,40 +82,26 @@ function replaceOpeningTags(html, prefix, replace) {
|
|
|
141
82
|
return parts.join("");
|
|
142
83
|
}
|
|
143
84
|
function replaceIdTags(html, id, replace) {
|
|
144
|
-
const idPattern = new RegExp(`id=["']${escapeRegex(id)}["']`, "gi");
|
|
145
|
-
const lastClosing = html.lastIndexOf(">");
|
|
146
85
|
const parts = [];
|
|
147
86
|
let cursor = 0;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (index < cursor)
|
|
87
|
+
for (const span of scanHtmlOpeningTags(html)) {
|
|
88
|
+
if (!span.closed)
|
|
151
89
|
continue;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (candidate.index > index && candidateEnd <= lastClosing)
|
|
156
|
-
targetEnd = candidateEnd;
|
|
157
|
-
// Preserve the old greedy prefix's last matching ID, including overlaps.
|
|
158
|
-
idPattern.lastIndex = candidate.index + 1;
|
|
159
|
-
candidate = idPattern.exec(html);
|
|
160
|
-
}
|
|
161
|
-
if (targetEnd < 0)
|
|
90
|
+
const tag = html.slice(span.start, span.end);
|
|
91
|
+
const attr = span.attributes.find((attr) => attr.name === "id");
|
|
92
|
+
if (attr?.kind !== "value" || decodeAuthoredAttribute(attr.value) !== id)
|
|
162
93
|
continue;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const closing = html.indexOf(">", targetEnd) + 1;
|
|
166
|
-
parts.push(html.slice(cursor, index), replace(html.slice(index, closing)));
|
|
167
|
-
cursor = closing;
|
|
94
|
+
parts.push(html.slice(cursor, span.start), replace(tag));
|
|
95
|
+
cursor = span.end;
|
|
168
96
|
}
|
|
169
97
|
parts.push(html.slice(cursor));
|
|
170
98
|
return parts.join("");
|
|
171
99
|
}
|
|
172
|
-
function
|
|
100
|
+
function withDefaultTimingAttrs(tag, tagName, generateId) {
|
|
173
101
|
let result = tag;
|
|
174
|
-
let unresolved = null;
|
|
175
102
|
let id = getAttr(result, "id");
|
|
176
103
|
if (!id) {
|
|
177
|
-
id =
|
|
104
|
+
id = `hf-${tagName}-${generateId()}`;
|
|
178
105
|
result = injectAttr(result, "id", id);
|
|
179
106
|
}
|
|
180
107
|
let startStr = getAttr(result, "data-start");
|
|
@@ -183,7 +110,19 @@ function compileTag(tag, isVideo, generateId) {
|
|
|
183
110
|
result = injectAttr(result, "data-hf-auto-start", "");
|
|
184
111
|
startStr = "0";
|
|
185
112
|
}
|
|
186
|
-
|
|
113
|
+
return { tag: result, id, start: parseNumeric(startStr) };
|
|
114
|
+
}
|
|
115
|
+
function withVideoAudioFlag(tag, isVideo) {
|
|
116
|
+
if (!isVideo || hasAttr(tag, "data-has-audio"))
|
|
117
|
+
return tag;
|
|
118
|
+
return injectAttr(tag, "data-has-audio", hasAttr(tag, "muted") ? "false" : "true");
|
|
119
|
+
}
|
|
120
|
+
function compileTag(tag, isVideo, generateId) {
|
|
121
|
+
const tagName = isVideo ? "video" : "audio";
|
|
122
|
+
const defaults = withDefaultTimingAttrs(tag, tagName, generateId);
|
|
123
|
+
let result = defaults.tag;
|
|
124
|
+
let unresolved = null;
|
|
125
|
+
const { id, start } = defaults;
|
|
187
126
|
const attrReader = tagAttrReader(result);
|
|
188
127
|
const mediaStart = readMediaStart(attrReader);
|
|
189
128
|
const playbackRate = readElementRateSpec(attrReader);
|
|
@@ -196,11 +135,11 @@ function compileTag(tag, isVideo, generateId) {
|
|
|
196
135
|
result = injectAttr(result, "data-end", String(start + duration));
|
|
197
136
|
}
|
|
198
137
|
}
|
|
199
|
-
else
|
|
138
|
+
else {
|
|
200
139
|
// No data-duration: mark as unresolved so caller can provide it
|
|
201
140
|
unresolved = {
|
|
202
141
|
id,
|
|
203
|
-
tagName
|
|
142
|
+
tagName,
|
|
204
143
|
src: getAttr(result, "src") ?? undefined,
|
|
205
144
|
start: start ?? 0,
|
|
206
145
|
mediaStart,
|
|
@@ -208,12 +147,7 @@ function compileTag(tag, isVideo, generateId) {
|
|
|
208
147
|
};
|
|
209
148
|
}
|
|
210
149
|
}
|
|
211
|
-
|
|
212
|
-
// contract; audible media should be represented by either an unmuted video
|
|
213
|
-
// with data-has-audio="true" or a separate <audio> element.
|
|
214
|
-
if (isVideo && !hasAttr(result, "data-has-audio")) {
|
|
215
|
-
result = injectAttr(result, "data-has-audio", hasAttr(result, "muted") ? "false" : "true");
|
|
216
|
-
}
|
|
150
|
+
result = withVideoAudioFlag(result, isVideo);
|
|
217
151
|
return { tag: result, unresolved };
|
|
218
152
|
}
|
|
219
153
|
/**
|
|
@@ -230,17 +164,15 @@ export function compileTimingAttrs(html) {
|
|
|
230
164
|
const unresolved = [];
|
|
231
165
|
let nextVideoId = 0;
|
|
232
166
|
let nextAudioId = 0;
|
|
233
|
-
const { masked, restore } = maskInertRegions(html);
|
|
234
|
-
html = masked;
|
|
235
167
|
// Process <video ...> tags
|
|
236
|
-
html = replaceOpeningTags(html,
|
|
168
|
+
html = replaceOpeningTags(html, ["video"], (match) => {
|
|
237
169
|
const { tag, unresolved: u } = compileTag(match, true, () => nextVideoId++);
|
|
238
170
|
if (u)
|
|
239
171
|
unresolved.push(u);
|
|
240
172
|
return tag;
|
|
241
173
|
});
|
|
242
174
|
// Process <audio ...> tags
|
|
243
|
-
html = replaceOpeningTags(html,
|
|
175
|
+
html = replaceOpeningTags(html, ["audio"], (match) => {
|
|
244
176
|
const { tag, unresolved: u } = compileTag(match, false, () => nextAudioId++);
|
|
245
177
|
if (u)
|
|
246
178
|
unresolved.push(u);
|
|
@@ -248,7 +180,7 @@ export function compileTimingAttrs(html) {
|
|
|
248
180
|
});
|
|
249
181
|
// Identify unresolved timed elements (divs with data-start but no data-end/data-duration)
|
|
250
182
|
// These are typically compositions whose duration depends on GSAP timelines
|
|
251
|
-
for (const { tag: match } of iterateOpeningTags(html,
|
|
183
|
+
for (const { tag: match } of iterateOpeningTags(html, ["div", "section"])) {
|
|
252
184
|
if (!hasAttr(match, "data-start"))
|
|
253
185
|
continue;
|
|
254
186
|
if (hasAttr(match, "data-end") || hasAttr(match, "data-duration"))
|
|
@@ -267,7 +199,7 @@ export function compileTimingAttrs(html) {
|
|
|
267
199
|
});
|
|
268
200
|
}
|
|
269
201
|
}
|
|
270
|
-
return { html
|
|
202
|
+
return { html, unresolved };
|
|
271
203
|
}
|
|
272
204
|
/**
|
|
273
205
|
* Inject resolved durations into compiled HTML.
|
|
@@ -297,17 +229,13 @@ export function injectDurations(html, resolutions) {
|
|
|
297
229
|
}
|
|
298
230
|
return html;
|
|
299
231
|
}
|
|
300
|
-
function escapeRegex(str) {
|
|
301
|
-
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
302
|
-
}
|
|
303
232
|
/**
|
|
304
233
|
* Extract video/audio elements that already have data-duration set.
|
|
305
234
|
* Used by callers to validate declared durations against actual source durations.
|
|
306
235
|
*/
|
|
307
236
|
export function extractResolvedMedia(html) {
|
|
308
237
|
const resolved = [];
|
|
309
|
-
|
|
310
|
-
for (const { tag } of iterateOpeningTags(html, /<(?:video|audio)/gi)) {
|
|
238
|
+
for (const { tag } of iterateOpeningTags(html, ["video", "audio"])) {
|
|
311
239
|
const id = getAttr(tag, "id");
|
|
312
240
|
const durationStr = getAttr(tag, "data-duration");
|
|
313
241
|
if (!id || durationStr === null)
|
|
@@ -340,10 +268,11 @@ export function clampDurations(html, clamps) {
|
|
|
340
268
|
for (const { id, duration } of clamps) {
|
|
341
269
|
html = replaceIdTags(html, id, (tag) => {
|
|
342
270
|
// Replace data-duration value
|
|
343
|
-
tag
|
|
271
|
+
if (hasAttr(tag, "data-duration"))
|
|
272
|
+
tag = setAttr(tag, "data-duration", String(duration));
|
|
344
273
|
const start = parseNumeric(getAttr(tag, "data-start"));
|
|
345
|
-
if (start != null) {
|
|
346
|
-
tag = tag
|
|
274
|
+
if (start != null && hasAttr(tag, "data-end")) {
|
|
275
|
+
tag = setAttr(tag, "data-end", String(start + duration));
|
|
347
276
|
}
|
|
348
277
|
return tag;
|
|
349
278
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"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"}
|