@hyperframes/core 0.8.48 → 0.8.49
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/compositionScoping.d.ts.map +1 -1
- package/dist/compiler/compositionScoping.js +9 -2
- package/dist/compiler/compositionScoping.js.map +1 -1
- package/dist/compositionReadiness.d.ts +18 -4
- package/dist/compositionReadiness.d.ts.map +1 -1
- package/dist/compositionReadiness.js +126 -6
- package/dist/compositionReadiness.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 +34 -27
- package/dist/runtime/types.d.ts +13 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositionScoping.d.ts","sourceRoot":"","sources":["../../src/compiler/compositionScoping.ts"],"names":[],"mappings":"AA6NA,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzE,MAAM,CA6BR;AAsBD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,SAA4C,EACtD,qBAAqB,CAAC,EAAE,MAAM,EAC9B,qBAAqB,SAAgB,EACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"compositionScoping.d.ts","sourceRoot":"","sources":["../../src/compiler/compositionScoping.ts"],"names":[],"mappings":"AA6NA,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzE,MAAM,CA6BR;AAsBD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,SAA4C,EACtD,qBAAqB,CAAC,EAAE,MAAM,EAC9B,qBAAqB,SAAgB,EACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CA2VR;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvD,MAAM,GAAG,IAAI,CAIf"}
|
|
@@ -451,8 +451,15 @@ export function wrapScopedCompositionScript(source, compositionId, errorLabel =
|
|
|
451
451
|
})
|
|
452
452
|
: window;
|
|
453
453
|
var __hfResolveGsapTarget = function(target) {
|
|
454
|
-
if (typeof target
|
|
455
|
-
|
|
454
|
+
if (typeof target === "string") return __hfQueryAll(target);
|
|
455
|
+
if (!Array.isArray(target)) return target;
|
|
456
|
+
return target.reduce(function(resolved, item) {
|
|
457
|
+
if (typeof item === "string") {
|
|
458
|
+
return resolved.concat(Array.prototype.slice.call(__hfQueryAll(item)));
|
|
459
|
+
}
|
|
460
|
+
resolved.push(item);
|
|
461
|
+
return resolved;
|
|
462
|
+
}, []);
|
|
456
463
|
};
|
|
457
464
|
var __hfScopeTimeline = function(timeline) {
|
|
458
465
|
if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositionScoping.js","sourceRoot":"","sources":["../../src/compiler/compositionScoping.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compositionScoping.js","sourceRoot":"","sources":["../../src/compiler/compositionScoping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/** A composition is "ready" once every declared input settles, not just once
|
|
2
2
|
* its duration is known. Each input returns null (nothing to wait on) or a
|
|
3
|
-
* promise that resolves once it settles
|
|
4
|
-
|
|
3
|
+
* promise that resolves once it settles, and must stop its own pending work
|
|
4
|
+
* (timer, rAF, listener) once `signal` aborts — settleCompositionReadiness
|
|
5
|
+
* aborts it the moment the race settles, win or timeout. */
|
|
6
|
+
export type CompositionReadinessInput = (doc: Document, signal: AbortSignal) => Promise<void> | null;
|
|
5
7
|
export interface PendingCompositionAssets {
|
|
6
8
|
pendingMedia: HTMLMediaElement[];
|
|
7
9
|
pendingImages: HTMLImageElement[];
|
|
@@ -13,14 +15,26 @@ export declare function isRealmHtmlMediaElement(node: Node): node is HTMLMediaEl
|
|
|
13
15
|
export declare function scanPendingCompositionAssets(doc: Document): PendingCompositionAssets;
|
|
14
16
|
/** Declared-media readiness input: waits on the composition's own video,
|
|
15
17
|
* audio, image and font-face loads. */
|
|
16
|
-
export declare function mediaReadinessInput(doc: Document): Promise<void> | null;
|
|
18
|
+
export declare function mediaReadinessInput(doc: Document, signal: AbortSignal): Promise<void> | null;
|
|
19
|
+
/** Declared-compute readiness input: waits on `window.__renderReady`. A
|
|
20
|
+
* probe-only composition (no HyperFrames runtime injected) never sets
|
|
21
|
+
* it — __hf absent means nothing to wait on, not an 8s poll for a flag
|
|
22
|
+
* that was never going to flip. */
|
|
23
|
+
export declare function computeReadinessInput(doc: Document, signal: AbortSignal): Promise<void> | null;
|
|
24
|
+
/** Composition-agnostic readiness input: waits for a frame to paint, then
|
|
25
|
+
* two consecutive quiet frame gaps — an early-out once the main thread is
|
|
26
|
+
* free, not a hold on steady sub-20fps painting. See MAX_PAINT_WAIT_MS for
|
|
27
|
+
* what this bound does and does not cover. */
|
|
28
|
+
export declare function paintAndIdleReadinessInput(doc: Document, signal: AbortSignal): Promise<void> | null;
|
|
17
29
|
export interface CompositionReadinessResult {
|
|
18
30
|
timedOut: boolean;
|
|
19
31
|
}
|
|
20
32
|
/** Invokes `onSettled` once every input settles, or the timeout elapses.
|
|
21
33
|
* Calls back synchronously, before returning, when nothing is pending — a
|
|
22
34
|
* caller that plays right after this call sees the decision already
|
|
23
|
-
* applied, same as before this gate existed.
|
|
35
|
+
* applied, same as before this gate existed. With the default inputs this
|
|
36
|
+
* only happens for a document with no `defaultView`, since
|
|
37
|
+
* paintAndIdleReadinessInput always has a frame to wait on otherwise. */
|
|
24
38
|
export declare function settleCompositionReadiness(doc: Document, onSettled: (result: CompositionReadinessResult) => void, opts?: {
|
|
25
39
|
inputs?: CompositionReadinessInput[];
|
|
26
40
|
timeoutMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositionReadiness.d.ts","sourceRoot":"","sources":["../src/compositionReadiness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"compositionReadiness.d.ts","sourceRoot":"","sources":["../src/compositionReadiness.ts"],"names":[],"mappings":"AAAA;;;;4DAI4D;AAC5D,MAAM,MAAM,yBAAyB,GAAG,CACtC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,OAAO,CAI1D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,gBAAgB,CAM5E;AAED,iEAAiE;AACjE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,QAAQ,GAAG,wBAAwB,CAOpF;AAmCD;uCACuC;AACvC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAM5F;AAkBD;;;mCAGmC;AACnC,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CA0B9F;AAwCD;;;8CAG8C;AAC9C,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAgBtB;AAID,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;yEAKyE;AACzE,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,EACvD,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,IAAI,CA6BN"}
|
|
@@ -31,15 +31,24 @@ export function scanPendingCompositionAssets(doc) {
|
|
|
31
31
|
const fontsLoading = doc.fonts?.status === "loading";
|
|
32
32
|
return { pendingMedia, pendingImages, fontsLoading };
|
|
33
33
|
}
|
|
34
|
-
function collectPendingCompositionAssets(doc, { pendingMedia, pendingImages, fontsLoading }) {
|
|
34
|
+
function collectPendingCompositionAssets(doc, { pendingMedia, pendingImages, fontsLoading }, signal) {
|
|
35
35
|
const mediaReady = pendingMedia.map((el) => new Promise((resolve) => {
|
|
36
|
+
// init.ts's eager preload pass may have already errored this element
|
|
37
|
+
// before this input ran; a DOM error event doesn't refire, so a
|
|
38
|
+
// listener attached now would wait for the shared 8s timeout instead.
|
|
39
|
+
if (el.error) {
|
|
40
|
+
resolve();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
36
43
|
const onSettled = () => {
|
|
37
44
|
el.removeEventListener("canplay", onSettled);
|
|
38
45
|
el.removeEventListener("error", onSettled);
|
|
46
|
+
signal.removeEventListener("abort", onSettled);
|
|
39
47
|
resolve();
|
|
40
48
|
};
|
|
41
49
|
el.addEventListener("canplay", onSettled);
|
|
42
50
|
el.addEventListener("error", onSettled);
|
|
51
|
+
signal.addEventListener("abort", onSettled, { once: true });
|
|
43
52
|
}));
|
|
44
53
|
const imagesReady = pendingImages.map((img) => img.decode ? img.decode().catch(() => { }) : Promise.resolve());
|
|
45
54
|
const fontsReady = fontsLoading && doc.fonts ? doc.fonts.ready.then(() => { }) : Promise.resolve();
|
|
@@ -47,21 +56,127 @@ function collectPendingCompositionAssets(doc, { pendingMedia, pendingImages, fon
|
|
|
47
56
|
}
|
|
48
57
|
/** Declared-media readiness input: waits on the composition's own video,
|
|
49
58
|
* audio, image and font-face loads. */
|
|
50
|
-
export function mediaReadinessInput(doc) {
|
|
59
|
+
export function mediaReadinessInput(doc, signal) {
|
|
51
60
|
const scan = scanPendingCompositionAssets(doc);
|
|
52
61
|
if (scan.pendingMedia.length === 0 && scan.pendingImages.length === 0 && !scan.fontsLoading) {
|
|
53
62
|
return null;
|
|
54
63
|
}
|
|
55
|
-
return collectPendingCompositionAssets(doc, scan);
|
|
64
|
+
return collectPendingCompositionAssets(doc, scan, signal);
|
|
65
|
+
}
|
|
66
|
+
const RENDER_READY_POLL_MS = 50;
|
|
67
|
+
/** Declared-compute readiness input: waits on `window.__renderReady`. A
|
|
68
|
+
* probe-only composition (no HyperFrames runtime injected) never sets
|
|
69
|
+
* it — __hf absent means nothing to wait on, not an 8s poll for a flag
|
|
70
|
+
* that was never going to flip. */
|
|
71
|
+
export function computeReadinessInput(doc, signal) {
|
|
72
|
+
const win = doc.defaultView;
|
|
73
|
+
if (!win)
|
|
74
|
+
return null;
|
|
75
|
+
if (win.__renderReady)
|
|
76
|
+
return null;
|
|
77
|
+
if (!win.__hf)
|
|
78
|
+
return null;
|
|
79
|
+
return new Promise((resolve) => {
|
|
80
|
+
let timeoutId;
|
|
81
|
+
const finish = () => {
|
|
82
|
+
if (timeoutId !== undefined)
|
|
83
|
+
clearTimeout(timeoutId);
|
|
84
|
+
signal.removeEventListener("abort", finish);
|
|
85
|
+
resolve();
|
|
86
|
+
};
|
|
87
|
+
if (signal.aborted) {
|
|
88
|
+
finish();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
signal.addEventListener("abort", finish, { once: true });
|
|
92
|
+
const poll = () => {
|
|
93
|
+
if (win.__renderReady) {
|
|
94
|
+
finish();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
timeoutId = setTimeout(poll, RENDER_READY_POLL_MS);
|
|
98
|
+
};
|
|
99
|
+
poll();
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
// Frame-to-frame gap under which the main thread counts as free. Generous
|
|
103
|
+
// relative to a 16.7ms (60fps) frame budget — this detects a busy stretch
|
|
104
|
+
// (a mesh build, a shader compile), not ordinary frame-time variance.
|
|
105
|
+
const IDLE_FRAME_GAP_MS = 50;
|
|
106
|
+
// Two consecutive quiet frames, not one: a single fast gap can follow
|
|
107
|
+
// directly after the busy work finishes mid-frame and says nothing about
|
|
108
|
+
// whether the next frame is also free.
|
|
109
|
+
const IDLE_FRAMES_REQUIRED = 2;
|
|
110
|
+
// Gives up on a doc that keeps producing frames below 20fps. Does NOT bound
|
|
111
|
+
// a doc that stops painting entirely (backgrounded tab, or fewer than 3
|
|
112
|
+
// frames total) — that still rides the full shared 8s timeout, same as
|
|
113
|
+
// before this input existed. ponytail: 1500ms is unmeasured, retune later.
|
|
114
|
+
const MAX_PAINT_WAIT_MS = 1_500;
|
|
115
|
+
// Resolves with -1 on abort instead of rejecting: every caller already
|
|
116
|
+
// re-checks `signal.aborted` right after awaiting this, so a sentinel value
|
|
117
|
+
// is enough and keeps the abort path a plain early-return, not a try/catch.
|
|
118
|
+
function nextAnimationFrame(win, signal) {
|
|
119
|
+
return new Promise((resolve) => {
|
|
120
|
+
if (signal.aborted) {
|
|
121
|
+
resolve(-1);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
let id = 0;
|
|
125
|
+
const onAbort = () => {
|
|
126
|
+
win.cancelAnimationFrame?.(id);
|
|
127
|
+
resolve(-1);
|
|
128
|
+
};
|
|
129
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
130
|
+
// A host whose rAF calls back synchronously reaches onAbort in the
|
|
131
|
+
// callback, so it must already be declared above.
|
|
132
|
+
id = win.requestAnimationFrame((ts) => {
|
|
133
|
+
signal.removeEventListener("abort", onAbort);
|
|
134
|
+
resolve(ts);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** Composition-agnostic readiness input: waits for a frame to paint, then
|
|
139
|
+
* two consecutive quiet frame gaps — an early-out once the main thread is
|
|
140
|
+
* free, not a hold on steady sub-20fps painting. See MAX_PAINT_WAIT_MS for
|
|
141
|
+
* what this bound does and does not cover. */
|
|
142
|
+
export function paintAndIdleReadinessInput(doc, signal) {
|
|
143
|
+
const win = doc.defaultView;
|
|
144
|
+
if (!win)
|
|
145
|
+
return null;
|
|
146
|
+
return (async () => {
|
|
147
|
+
const firstTs = await nextAnimationFrame(win, signal);
|
|
148
|
+
if (signal.aborted)
|
|
149
|
+
return;
|
|
150
|
+
let lastTs = await nextAnimationFrame(win, signal);
|
|
151
|
+
let quietStreak = 0;
|
|
152
|
+
while (!signal.aborted && quietStreak < IDLE_FRAMES_REQUIRED) {
|
|
153
|
+
if (lastTs - firstTs >= MAX_PAINT_WAIT_MS)
|
|
154
|
+
return;
|
|
155
|
+
const ts = await nextAnimationFrame(win, signal);
|
|
156
|
+
if (signal.aborted)
|
|
157
|
+
return;
|
|
158
|
+
quietStreak = ts - lastTs < IDLE_FRAME_GAP_MS ? quietStreak + 1 : 0;
|
|
159
|
+
lastTs = ts;
|
|
160
|
+
}
|
|
161
|
+
})();
|
|
56
162
|
}
|
|
57
163
|
const DEFAULT_TIMEOUT_MS = 8_000;
|
|
58
164
|
/** Invokes `onSettled` once every input settles, or the timeout elapses.
|
|
59
165
|
* Calls back synchronously, before returning, when nothing is pending — a
|
|
60
166
|
* caller that plays right after this call sees the decision already
|
|
61
|
-
* applied, same as before this gate existed.
|
|
167
|
+
* applied, same as before this gate existed. With the default inputs this
|
|
168
|
+
* only happens for a document with no `defaultView`, since
|
|
169
|
+
* paintAndIdleReadinessInput always has a frame to wait on otherwise. */
|
|
62
170
|
export function settleCompositionReadiness(doc, onSettled, opts = {}) {
|
|
63
|
-
const inputs = opts.inputs ?? [
|
|
64
|
-
|
|
171
|
+
const inputs = opts.inputs ?? [
|
|
172
|
+
mediaReadinessInput,
|
|
173
|
+
computeReadinessInput,
|
|
174
|
+
paintAndIdleReadinessInput,
|
|
175
|
+
];
|
|
176
|
+
const controller = new AbortController();
|
|
177
|
+
const pending = inputs
|
|
178
|
+
.map((input) => input(doc, controller.signal))
|
|
179
|
+
.filter((p) => p !== null);
|
|
65
180
|
if (pending.length === 0) {
|
|
66
181
|
onSettled({ timedOut: false });
|
|
67
182
|
return;
|
|
@@ -71,8 +186,13 @@ export function settleCompositionReadiness(doc, onSettled, opts = {}) {
|
|
|
71
186
|
const timeout = new Promise((resolve) => {
|
|
72
187
|
timeoutId = setTimeout(() => resolve("timed-out"), timeoutMs);
|
|
73
188
|
});
|
|
189
|
+
// A timeout win leaves the losing inputs' promises pending forever unless
|
|
190
|
+
// told to stop: this abort is what lets computeReadinessInput clear its
|
|
191
|
+
// poll timer and paintAndIdleReadinessInput cancel its rAF chain instead
|
|
192
|
+
// of running for the life of the page.
|
|
74
193
|
Promise.race([Promise.all(pending).then(() => "done"), timeout]).then((result) => {
|
|
75
194
|
clearTimeout(timeoutId);
|
|
195
|
+
controller.abort();
|
|
76
196
|
onSettled({ timedOut: result === "timed-out" });
|
|
77
197
|
});
|
|
78
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compositionReadiness.js","sourceRoot":"","sources":["../src/compositionReadiness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compositionReadiness.js","sourceRoot":"","sources":["../src/compositionReadiness.ts"],"names":[],"mappings":"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"}
|