hyperframes 0.8.173 → 0.8.175
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/{add-V7VBTFNG.js → add-S4AOKSNH.js} +14 -15
- package/dist/{animatedGifPrep-62S72ZY6.js → animatedGifPrep-QRDM2NMV.js} +9 -11
- package/dist/api.js +19 -21
- package/dist/{asset-Z4JI2F6V.js → asset-DQ45BUBL.js} +2 -2
- package/dist/{assetCataloger-Q7LE7BCC.js → assetCataloger-NPDCMAYE.js} +9 -11
- package/dist/{audio-HIHNLQJ7.js → audio-OOAXEELO.js} +16 -18
- package/dist/{auth-4K6DSZCD.js → auth-33IY64LT.js} +2 -2
- package/dist/{autoUpdate-DXZDD5VT.js → autoUpdate-KGLJUGNZ.js} +2 -2
- package/dist/{backgroundChecks-ODMKKJ4S.js → backgroundChecks-DQPHYLVN.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-I4BFJGPA.js → batchRender-KXXTVNPB.js} +4 -4
- package/dist/{beats-7QCA6GDR.js → beats-WDYSCACS.js} +6 -7
- package/dist/{benchmark-IT4WTSMZ.js → benchmark-WOAULMYW.js} +11 -12
- package/dist/{browser-5VHM72PM.js → browser-2HX46R74.js} +5 -6
- package/dist/{bundleWithLocalizedFonts-MKTQCB2Y.js → bundleWithLocalizedFonts-32N7TVM6.js} +2 -2
- package/dist/{capture-B5Y45EWD.js → capture-5ASPHTMF.js} +22 -18
- package/dist/{capture-CMNNIMIL.js → capture-7LR5UVM2.js} +2 -2
- package/dist/{catalog-AKPJ65GY.js → catalog-LVW3RT4U.js} +15 -16
- package/dist/{catch-up-2SVYRMD3.js → catch-up-W6Z73GXL.js} +6 -7
- package/dist/{check-Q7AX6K7O.js → check-C23ZWACZ.js} +56 -52
- package/dist/{checkBrowser-CPXD5BZY.js → checkBrowser-WS6FSLBJ.js} +182 -88
- package/dist/{chunk-QVPOR7WE.js → chunk-32GKETR7.js} +22 -1
- package/dist/{chunk-4RDDUBOC.js → chunk-3Q4Y33FT.js} +11 -11
- package/dist/{chunk-2DWYRHJS.js → chunk-3SWMUZ4Y.js} +2 -2
- package/dist/{chunk-PBVUVNWP.js → chunk-3X3CELOP.js} +1 -1
- package/dist/{chunk-5E43335V.js → chunk-42T7OP4O.js} +1 -1
- package/dist/{chunk-TWZRU64W.js → chunk-4XM6VXLN.js} +7 -7
- package/dist/{chunk-6JQDH4O6.js → chunk-7E4YFL4U.js} +1 -1
- package/dist/{chunk-NOMPG5HQ.js → chunk-7GUAZGSW.js} +3 -3
- package/dist/{chunk-XRQBHOBT.js → chunk-B4VT6YU2.js} +2 -2
- package/dist/{chunk-2BL7BJ22.js → chunk-BHMWVRNS.js} +1 -1
- package/dist/{chunk-LN4SZS7W.js → chunk-CEYY3SOX.js} +3 -3
- package/dist/chunk-CIWX5UKC.js +16 -0
- package/dist/{chunk-CBOYQOLY.js → chunk-DQY6WTF7.js} +1 -1
- package/dist/{chunk-BCPJSBCS.js → chunk-DZMWNCHM.js} +7 -3
- package/dist/chunk-EEXE43II.js +3805 -0
- package/dist/{chunk-ROQBQHBK.js → chunk-EKDTCSCL.js} +1 -1
- package/dist/{chunk-L4SFGSSQ.js → chunk-FRNKM4MG.js} +1 -1
- package/dist/{chunk-6HKO6VWS.js → chunk-G7I3WZK4.js} +1 -1
- package/dist/{chunk-2TNPXPI5.js → chunk-GK2FIKIQ.js} +10 -8
- package/dist/chunk-HIP62XAW.js +36 -0
- package/dist/{chunk-FDWTZVA6.js → chunk-IUOPF3DL.js} +1 -1
- package/dist/{chunk-N7RTLKMM.js → chunk-J53AJK3Q.js} +2 -2
- package/dist/{chunk-OFFNB2SU.js → chunk-JNL3RMDG.js} +241 -6
- package/dist/{chunk-HCOL75LA.js → chunk-JT7PV3GL.js} +3 -3
- package/dist/{chunk-6RIH2NDU.js → chunk-KHR4IJAW.js} +178 -122
- package/dist/{chunk-WIAO42MD.js → chunk-KZHYAGC3.js} +5 -5
- package/dist/{chunk-C4QGOXO2.js → chunk-KZQGUXG5.js} +494 -136
- package/dist/{chunk-2QJDC4NT.js → chunk-LY2GLSOS.js} +1 -1
- package/dist/{chunk-CHALU2TF.js → chunk-LZT3NUTE.js} +1 -1
- package/dist/{chunk-BTPZ74Z3.js → chunk-MJZQ44NV.js} +1 -1
- package/dist/{chunk-YOOW26KG.js → chunk-NELZN7SV.js} +2 -2
- package/dist/{chunk-VFCKXTBB.js → chunk-NL5F3AD4.js} +27 -38
- package/dist/{chunk-X3SCQP2A.js → chunk-NSWIF4VH.js} +1 -1
- package/dist/{chunk-L3RCYYON.js → chunk-NWEER3QY.js} +2 -2
- package/dist/{chunk-3O45NOL7.js → chunk-NZRAS3FB.js} +1 -1
- package/dist/chunk-NZZYJOMJ.js +136 -0
- package/dist/{chunk-5JTRGGTX.js → chunk-O6FWDZYJ.js} +1 -1
- package/dist/{chunk-2YTOJ447.js → chunk-OUMYTLPP.js} +3 -3
- package/dist/{chunk-QURKHVV5.js → chunk-OYEDHVSI.js} +1 -1
- package/dist/{chunk-BYRHCRU3.js → chunk-PBKOURSI.js} +2 -2
- package/dist/{chunk-MWNSVO4P.js → chunk-QMQZXNGU.js} +8 -8
- package/dist/{chunk-XDPXSQJO.js → chunk-QWCXGTOH.js} +1 -1
- package/dist/{chunk-V2D4QZBC.js → chunk-RAZVWSU5.js} +3 -3
- package/dist/{chunk-O433SZAJ.js → chunk-RERXOG54.js} +35 -16
- package/dist/{chunk-IK3SOMZ4.js → chunk-S354WIFQ.js} +19 -22
- package/dist/{chunk-QWQ6GQTI.js → chunk-T6AGUTZJ.js} +2 -4
- package/dist/{chunk-PCLYCYBK.js → chunk-TNDNFZOK.js} +4 -4
- package/dist/{chunk-SOAXQ7Q7.js → chunk-UWUKJDTA.js} +2 -2
- package/dist/{chunk-KR5ZHRF2.js → chunk-V7T7WA2K.js} +2 -2
- package/dist/{chunk-U7EGMXQR.js → chunk-VEQ7DKPG.js} +4 -17
- package/dist/{chunk-JYVGYKXG.js → chunk-W2LGJSEN.js} +73 -1
- package/dist/{chunk-ETPPGNJB.js → chunk-W5USVP6Z.js} +2 -2
- package/dist/{chunk-H5C375DW.js → chunk-WDFLYDKN.js} +5 -5
- package/dist/{chunk-BYVBP3U5.js → chunk-XDK2FUAC.js} +9 -9
- package/dist/{chunk-TDPVEMBS.js → chunk-XFCLWWL3.js} +1 -1
- package/dist/{chunk-TNHRCZT3.js → chunk-XRRDVRCY.js} +42 -2
- package/dist/{chunk-4D2T6Y5Y.js → chunk-YCSCDQDS.js} +6 -6
- package/dist/{chunk-XZNKIYIG.js → chunk-YMU42UU2.js} +1 -1
- package/dist/{chunk-ODR7V2JL.js → chunk-Z2R7CFWH.js} +1 -1
- package/dist/{chunk-X2ALZSKK.js → chunk-ZD7QKZSS.js} +3 -3
- package/dist/{chunk-45IAFBUP.js → chunk-ZDOWJ3NS.js} +14 -14
- package/dist/{chunk-A2DMF2Q6.js → chunk-ZGSLXWH2.js} +2 -2
- package/dist/{chunk-KRWEUM4R.js → chunk-ZXHEOTYW.js} +1 -1
- package/dist/{clean-SBFI3ZKR.js → clean-KBNXV6DP.js} +18 -20
- package/dist/cli.js +53 -53
- package/dist/{cloud-IRE4HLEK.js → cloud-BWWKDRR6.js} +4 -4
- package/dist/{cloudrun-GIHWEBGM.js → cloudrun-P35BPQCO.js} +5 -5
- package/dist/commands/contrast-audit.browser.js +18 -50
- package/dist/{compare-S6NM2FSV.js → compare-UWJRKF5K.js} +28 -30
- package/dist/{compiler-WCWRB2LZ.js → compiler-5TFPJPQQ.js} +5 -6
- package/dist/{component-WDFZQ2HN.js → component-SWOGSIO2.js} +3 -3
- package/dist/{compositions-RMUBDPD4.js → compositions-PIPVEXE3.js} +14 -16
- package/dist/{delete-SDNARGJ4.js → delete-OXIDK7N3.js} +4 -4
- package/dist/{deploy-4MK3Y67M.js → deploy-NKWMPAMH.js} +19 -5
- package/dist/{destroy-GFQLTIY3.js → destroy-UKP522AE.js} +4 -2
- package/dist/{deterministicFonts-RWGQPEZU.js → deterministicFonts-L7YEEFGI.js} +1 -1
- package/dist/{dist-FAN2FFAV.js → dist-2FMTAVGL.js} +3 -3
- package/dist/{dist-65ELHZOF.js → dist-U2HCECNB.js} +3 -3
- package/dist/{doctor-YPCZILXV.js → doctor-KLQLFPCF.js} +14 -16
- package/dist/{events-Q2K7SNEZ.js → events-EGCYD45B.js} +5 -6
- package/dist/{events-INXDJ44V.js → events-EVTTGISX.js} +4 -5
- package/dist/{feedback-FRGRCTIX.js → feedback-G4WZLOVD.js} +10 -11
- package/dist/{ffmpeg-7BYARPLM.js → ffmpeg-QIYSAPHO.js} +24 -4
- package/dist/{figma-C262EFOC.js → figma-Q4CKDE7M.js} +3 -3
- package/dist/fontLocalizeCli.js +12 -14
- package/dist/{get-ZIUUGSVI.js → get-NPRQH64W.js} +4 -4
- package/dist/{gpuPolicy-FRLW63IY.js → gpuPolicy-L72BQRFR.js} +9 -11
- package/dist/{grade-compare-DN342HJC.js → grade-compare-H4NJEL4P.js} +29 -31
- package/dist/{help-XQPBPSBP.js → help-2S3XXDEA.js} +1 -1
- package/dist/{history-PF5FUC6M.js → history-X4CGCVEQ.js} +8 -9
- package/dist/hyperframe-runtime.js +59 -59
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +59 -59
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-PC7IKGVB.js → info-YYUISGL7.js} +10 -11
- package/dist/{init-ORZX3PSQ.js → init-BAAI4ZMR.js} +34 -34
- package/dist/{inspect-L5GRL6SP.js → inspect-LXJ3XJUZ.js} +29 -31
- package/dist/{installer-KXS557O7.js → installer-NY5E5HCO.js} +5 -5
- package/dist/{keyframes-EIZDSXUH.js → keyframes-NXXJSQWG.js} +8 -9
- package/dist/{lambda-U3N7MRD7.js → lambda-PG3JKNWS.js} +16 -12
- package/dist/{layout-WHAVE2H5.js → layout-CBFO36IE.js} +29 -31
- package/dist/{lint-I7PYIW56.js → lint-Y6NWQTKF.js} +11 -12
- package/dist/{lintProject-7IEOAXJY.js → lintProject-ARKJXDQF.js} +3 -3
- package/dist/{list-XXQM3WDO.js → list-VY6KIYTX.js} +4 -4
- package/dist/{login-64NUUDYU.js → login-426Q3H3P.js} +4 -4
- package/dist/{manager-B6MVBM2E.js → manager-3RRUFZ4H.js} +25 -3
- package/dist/{media-treatment-5XIM4A3F.js → media-treatment-ZVIXMJZJ.js} +23 -18
- package/dist/{models-WRB3S67Z.js → models-KC2QBPVK.js} +13 -15
- package/dist/{motionShot-BOFBL73C.js → motionShot-3ZSLQJ4D.js} +19 -21
- package/dist/{normalize-audio-PP4BSZSU.js → normalize-audio-DRU5LFYU.js} +6 -7
- package/dist/{open-F4CUWMZF.js → open-LPBZQ4DC.js} +14 -15
- package/dist/{parakeetRunner-O7QYJ7V7.js → parakeetRunner-IFY6NK5G.js} +16 -18
- package/dist/{pipeline-BCHSFFT3.js → pipeline-AGMCDT5A.js} +11 -13
- package/dist/{play-PPBR2GJK.js → play-WVWXNQED.js} +21 -23
- package/dist/{policies-DCSIM4AB.js → policies-5NTZOHJA.js} +2 -0
- package/dist/preflight-I5JGCCKM.js +52 -0
- package/dist/{present-Y7VTCZRZ.js → present-IPTWJUKY.js} +17 -19
- package/dist/{preview-53AD4OME.js → preview-JVLRQVD7.js} +34 -25
- package/dist/{producer-WBJDNLBF.js → producer-HKGHSAON.js} +1 -1
- package/dist/{progress-5AM2MZ7V.js → progress-I37JB7R4.js} +1 -0
- package/dist/{projectConfig-4KUGQ4P6.js → projectConfig-HDALEM6S.js} +7 -7
- package/dist/{publication-OFDIFS4R.js → publication-NX4VC7UU.js} +3 -3
- package/dist/{publish-RWWTY743.js → publish-AZRRQUXM.js} +11 -11
- package/dist/{remove-background-G7VK3VKP.js → remove-background-WY7KA77M.js} +12 -14
- package/dist/{render-52W63I3Y.js → render-BEDATKWV.js} +14 -15
- package/dist/{render-6CXZNXXZ.js → render-HGT3EGIK.js} +9 -4
- package/dist/{render-7PPMS4P6.js → render-P3PFNCBA.js} +40 -38
- package/dist/{render-batch-2EJVUVVN.js → render-batch-MUCDZ2WF.js} +4 -4
- package/dist/renderSetupWorker.js +3 -3
- package/dist/{resolver-FF5GV6IA.js → resolver-FLQ42X2Y.js} +5 -5
- package/dist/sam-IKPEJRRO.js +21 -0
- package/dist/{screenshotCapture-XAYELJK7.js → screenshotCapture-HXEZ3TNJ.js} +20 -3
- package/dist/{sherpa-QJPI6B5S.js → sherpa-SQGEFX3S.js} +15 -17
- package/dist/skills/hyperframes/SKILL.md +42 -0
- package/dist/skills/hyperframes-cli/references/cloud.md +1 -1
- package/dist/skills/media-use/scripts/lib/recipe-store.mjs +5 -2
- package/dist/{skills-H6ZJNOLH.js → skills-D2FIQ2JN.js} +11 -10
- package/dist/{skillsUpdateCheck-4EBGMO2A.js → skillsUpdateCheck-2OLTHCBX.js} +3 -3
- package/dist/{snapshot-DZRUBWRH.js → snapshot-R7U73M3N.js} +32 -34
- package/dist/{src-WD5GOYON.js → src-4COYCAFY.js} +8 -10
- package/dist/{src-ZL7ACIZ3.js → src-WOD4AEI3.js} +11 -13
- package/dist/{staticProjectServer-72JF5PPO.js → staticProjectServer-DG4VZO4G.js} +15 -16
- package/dist/{status-RGHSK3DJ.js → status-BV7QAUQD.js} +2 -3
- package/dist/studio/assets/{hyperframes-player-B-wEZiX3.js → hyperframes-player-BByRREAU.js} +1 -1
- package/dist/studio/assets/{index-DPugLDRK.js → index-CULLUqJo.js} +1 -1
- package/dist/studio/assets/{index-Bvkb0Zxy.js → index-Wz-WEqHg.js} +97 -97
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-BL6CLOA6.js → studio-api-RGNBVLLL.js} +9 -10
- package/dist/{studioServer-TRWCZZXP.js → studioServer-LC5T4OXQ.js} +48 -50
- package/dist/{system-VRXC6S4A.js → system-7F3UEHQT.js} +2 -3
- package/dist/{telemetry-FDSW3ZOZ.js → telemetry-BLOE3TWY.js} +5 -6
- package/dist/{timeline-ZRN336EA.js → timeline-QQPPMADL.js} +124 -51
- package/dist/{tokens-RMLNQHIB.js → tokens-E3SHBFDU.js} +2 -2
- package/dist/{transcribe-AEHHCYAL.js → transcribe-D5N7SBDO.js} +22 -24
- package/dist/{transcribe-SOODKU6H.js → transcribe-O2AQ5E2L.js} +12 -14
- package/dist/{updateCheck-OSPEYRBY.js → updateCheck-ELOZ2CID.js} +2 -2
- package/dist/{upgrade-AK4S7DMX.js → upgrade-JDFZEPZY.js} +2 -2
- package/dist/{urlDownloader-FSCMLFG7.js → urlDownloader-32OGC3EW.js} +8 -10
- package/dist/{validate-JJTCKZIV.js → validate-LQQEABER.js} +23 -25
- package/dist/{video-ZDM5CFI2.js → video-HXIM27TO.js} +9 -11
- package/package.json +1 -1
- package/dist/chunk-7JDEZNBY.js +0 -3805
- package/dist/chunk-7KDQAD2W.js +0 -81
- package/dist/chunk-BXCMXMJQ.js +0 -73
- package/dist/chunk-KCF6GHJP.js +0 -250
- package/dist/preflight-G5KP7ZKA.js +0 -32
|
@@ -4,33 +4,33 @@ import { dirname as __hf_dirname } from "node:path";
|
|
|
4
4
|
var require = __hf_createRequire(import.meta.url);
|
|
5
5
|
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
resolveCompositionViewportFromHtml
|
|
9
|
+
} from "./chunk-FH7WODJH.js";
|
|
7
10
|
import {
|
|
8
11
|
gotoWhenSent,
|
|
9
12
|
launchManagedBrowser,
|
|
10
13
|
resolveManagedGpuMode,
|
|
11
14
|
rethrowAfterBrowserCleanup
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
resolveCompositionViewportFromHtml
|
|
15
|
-
} from "./chunk-FH7WODJH.js";
|
|
15
|
+
} from "./chunk-XRRDVRCY.js";
|
|
16
16
|
import {
|
|
17
17
|
pageNavigationTimeoutMs,
|
|
18
18
|
windowsChromeCrashRemediation
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-RAZVWSU5.js";
|
|
20
20
|
import {
|
|
21
21
|
oneProcessOverPipe
|
|
22
22
|
} from "./chunk-BRHI7EIA.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveLocalBrowserGpuMode,
|
|
25
25
|
resolveLocalWebGpu
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-V7T7WA2K.js";
|
|
27
27
|
import {
|
|
28
28
|
c
|
|
29
29
|
} from "./chunk-ZTZA4UWZ.js";
|
|
30
30
|
import {
|
|
31
31
|
assertWebGpuAdapterAvailable,
|
|
32
32
|
compositionRequiresWebGpu
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-RERXOG54.js";
|
|
34
34
|
import {
|
|
35
35
|
normalizeErrorMessage
|
|
36
36
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -39,13 +39,17 @@ import {
|
|
|
39
39
|
import { spawn } from "child_process";
|
|
40
40
|
var SHADER_TRANSITIONS_TIMEOUT_MS = 9e4;
|
|
41
41
|
var CAPTURE_SETTLE_MS = 1500;
|
|
42
|
+
var NETWORK_IDLE_MS = 100;
|
|
42
43
|
var PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
43
44
|
var DEFAULT_POST_SEEK_FONT_WAIT_MS = 500;
|
|
44
45
|
var AUDIT_SEEK_OPTIONS = {
|
|
45
46
|
fallbackToBridgeAndTimelines: true,
|
|
46
47
|
animationFrameSettle: "double",
|
|
47
|
-
waitForFontsMs: 500
|
|
48
|
-
|
|
48
|
+
waitForFontsMs: 500
|
|
49
|
+
};
|
|
50
|
+
var SCREENSHOT_SEEK_OPTIONS = {
|
|
51
|
+
...AUDIT_SEEK_OPTIONS,
|
|
52
|
+
waitForImagesMs: 120
|
|
49
53
|
};
|
|
50
54
|
var DENSE_GEOMETRY_SEEK_OPTIONS = {
|
|
51
55
|
...AUDIT_SEEK_OPTIONS,
|
|
@@ -101,11 +105,41 @@ async function waitForCompositionSettle(page, options) {
|
|
|
101
105
|
}).catch(() => {
|
|
102
106
|
console.warn(` ${c.warn("\u26A0")} Shader transitions did not finish pre-rendering`);
|
|
103
107
|
});
|
|
104
|
-
await page
|
|
105
|
-
});
|
|
106
|
-
await new Promise((resolveSettle) => setTimeout(resolveSettle, CAPTURE_SETTLE_MS));
|
|
108
|
+
await waitForLateSubresources(page);
|
|
107
109
|
return runtimeReady;
|
|
108
110
|
}
|
|
111
|
+
async function waitForLateSubresources(page) {
|
|
112
|
+
let cap;
|
|
113
|
+
const deadline = Date.now() + CAPTURE_SETTLE_MS;
|
|
114
|
+
const ready = (async () => {
|
|
115
|
+
await page.waitForFunction(() => document.readyState === "complete", {
|
|
116
|
+
timeout: CAPTURE_SETTLE_MS
|
|
117
|
+
});
|
|
118
|
+
await page.waitForNetworkIdle({
|
|
119
|
+
idleTime: NETWORK_IDLE_MS,
|
|
120
|
+
timeout: Math.max(1, deadline - Date.now())
|
|
121
|
+
});
|
|
122
|
+
await page.evaluate(async () => {
|
|
123
|
+
await Promise.all(Array.from(document.images, (image) => image.decode().catch(() => {
|
|
124
|
+
})));
|
|
125
|
+
await document.fonts.ready;
|
|
126
|
+
});
|
|
127
|
+
})();
|
|
128
|
+
try {
|
|
129
|
+
await Promise.race([
|
|
130
|
+
ready,
|
|
131
|
+
new Promise((resolveCap) => {
|
|
132
|
+
cap = setTimeout(resolveCap, CAPTURE_SETTLE_MS);
|
|
133
|
+
})
|
|
134
|
+
]);
|
|
135
|
+
} catch {
|
|
136
|
+
await new Promise((resolveCap) => setTimeout(resolveCap, Math.max(0, deadline - Date.now())));
|
|
137
|
+
} finally {
|
|
138
|
+
clearTimeout(cap);
|
|
139
|
+
ready.catch(() => {
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
109
143
|
async function installPageFunctionGuard(page) {
|
|
110
144
|
await page.evaluateOnNewDocument("self.__name = self.__name || ((fn) => fn);");
|
|
111
145
|
}
|
|
@@ -114,9 +148,9 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
114
148
|
const { ensureBrowser, findSystemBrowser } = await import("./manager-HEUPD2YB.js");
|
|
115
149
|
const browser = await ensureBrowser({ signal: options.signal });
|
|
116
150
|
const puppeteer = await import("puppeteer-core");
|
|
117
|
-
const { buildChromeArgs } = await import("./src-
|
|
151
|
+
const { buildChromeArgs } = await import("./src-4COYCAFY.js");
|
|
118
152
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
119
|
-
const answer = (await import("./staticProjectServer-
|
|
153
|
+
const answer = (await import("./staticProjectServer-DG4VZO4G.js")).inProcessAnswer(url);
|
|
120
154
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
121
155
|
let softwareWebGpu = false;
|
|
122
156
|
const launch = async (executablePath) => {
|
|
@@ -183,97 +217,96 @@ ${remediation}`,
|
|
|
183
217
|
return rethrowAfterBrowserCleanup(chromeBrowser, err);
|
|
184
218
|
}
|
|
185
219
|
}
|
|
220
|
+
function seekInPage(t, fallbackToBridgeAndTimelines, exactTime, skipDraws) {
|
|
221
|
+
const getProperty = (target, key) => {
|
|
222
|
+
if ((typeof target !== "object" || target === null) && typeof target !== "function") {
|
|
223
|
+
return void 0;
|
|
224
|
+
}
|
|
225
|
+
return Reflect.get(target, key);
|
|
226
|
+
};
|
|
227
|
+
const call = (fn, receiver, args) => {
|
|
228
|
+
if (typeof fn !== "function") return false;
|
|
229
|
+
Reflect.apply(fn, receiver, args);
|
|
230
|
+
return true;
|
|
231
|
+
};
|
|
232
|
+
const player = Reflect.get(window, "__player");
|
|
233
|
+
if (!player && !fallbackToBridgeAndTimelines) return;
|
|
234
|
+
const safe = Math.max(0, Number(t) || 0);
|
|
235
|
+
const renderSeek = getProperty(player, "renderSeek");
|
|
236
|
+
const playerSeek = getProperty(player, "seek");
|
|
237
|
+
const hf = Reflect.get(window, "__hf");
|
|
238
|
+
const bridgeSeek = getProperty(hf, "seek");
|
|
239
|
+
const gsap = Reflect.get(window, "gsap");
|
|
240
|
+
const ticker = getProperty(gsap, "ticker");
|
|
241
|
+
const seekTo = (time) => {
|
|
242
|
+
if (call(renderSeek, player, exactTime ? [time, { exact: true }] : [time])) {
|
|
243
|
+
} else if (fallbackToBridgeAndTimelines && call(bridgeSeek, hf, [time])) {
|
|
244
|
+
} else if (call(playerSeek, player, [time])) {
|
|
245
|
+
} else if (fallbackToBridgeAndTimelines) {
|
|
246
|
+
const timelines = Reflect.get(window, "__timelines");
|
|
247
|
+
if (typeof timelines === "object" && timelines !== null) {
|
|
248
|
+
for (const key of Object.keys(timelines)) {
|
|
249
|
+
const timeline = Reflect.get(timelines, key);
|
|
250
|
+
call(getProperty(timeline, "pause"), timeline, []);
|
|
251
|
+
call(getProperty(timeline, "seek"), timeline, [time]);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
call(getProperty(ticker, "tick"), ticker, []);
|
|
256
|
+
};
|
|
257
|
+
const gateSlot = /* @__PURE__ */ Symbol.for("hyperframes.webglDrawGate");
|
|
258
|
+
let gate = Reflect.get(window, gateSlot);
|
|
259
|
+
if (skipDraws && !gate) {
|
|
260
|
+
const installed = { skip: false, skipped: false };
|
|
261
|
+
for (const name of ["WebGLRenderingContext", "WebGL2RenderingContext"]) {
|
|
262
|
+
const proto = getProperty(Reflect.get(window, name), "prototype");
|
|
263
|
+
if (!proto) continue;
|
|
264
|
+
for (const method of [
|
|
265
|
+
"clear",
|
|
266
|
+
"drawArrays",
|
|
267
|
+
"drawElements",
|
|
268
|
+
"drawArraysInstanced",
|
|
269
|
+
"drawElementsInstanced",
|
|
270
|
+
"drawRangeElements",
|
|
271
|
+
"blitFramebuffer"
|
|
272
|
+
]) {
|
|
273
|
+
const draw = getProperty(proto, method);
|
|
274
|
+
if (typeof draw !== "function") continue;
|
|
275
|
+
Reflect.set(proto, method, function(...args) {
|
|
276
|
+
if (!installed.skip) return Reflect.apply(draw, this, args);
|
|
277
|
+
installed.skipped = true;
|
|
278
|
+
return void 0;
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
Reflect.set(window, gateSlot, installed);
|
|
283
|
+
gate = installed;
|
|
284
|
+
}
|
|
285
|
+
const seekWithoutDraws = (time) => {
|
|
286
|
+
if (!gate) return seekTo(time);
|
|
287
|
+
gate.skip = true;
|
|
288
|
+
try {
|
|
289
|
+
seekTo(time);
|
|
290
|
+
} finally {
|
|
291
|
+
gate.skip = false;
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
if (skipDraws) {
|
|
295
|
+
seekWithoutDraws(safe);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (gate?.skipped) {
|
|
299
|
+
seekWithoutDraws(safe >= 1e-3 ? safe - 1e-3 : safe + 1e-3);
|
|
300
|
+
gate.skipped = false;
|
|
301
|
+
}
|
|
302
|
+
seekTo(safe);
|
|
303
|
+
}
|
|
186
304
|
async function seekCompositionTimeline(page, timeSeconds, options = {}) {
|
|
187
305
|
if (options.waitForPreferredSeekTargetMs !== void 0) {
|
|
188
306
|
await waitForPreferredSeekTarget(page, options.waitForPreferredSeekTargetMs);
|
|
189
307
|
}
|
|
190
308
|
await page.evaluate(
|
|
191
|
-
|
|
192
|
-
// fallow-ignore-next-line complexity
|
|
193
|
-
(t, fallbackToBridgeAndTimelines, exactTime, skipDraws) => {
|
|
194
|
-
const getProperty = (target, key) => {
|
|
195
|
-
if ((typeof target !== "object" || target === null) && typeof target !== "function") {
|
|
196
|
-
return void 0;
|
|
197
|
-
}
|
|
198
|
-
return Reflect.get(target, key);
|
|
199
|
-
};
|
|
200
|
-
const call = (fn, receiver, args) => {
|
|
201
|
-
if (typeof fn !== "function") return false;
|
|
202
|
-
Reflect.apply(fn, receiver, args);
|
|
203
|
-
return true;
|
|
204
|
-
};
|
|
205
|
-
const player = Reflect.get(window, "__player");
|
|
206
|
-
if (!player && !fallbackToBridgeAndTimelines) return;
|
|
207
|
-
const safe = Math.max(0, Number(t) || 0);
|
|
208
|
-
const renderSeek = getProperty(player, "renderSeek");
|
|
209
|
-
const playerSeek = getProperty(player, "seek");
|
|
210
|
-
const hf = Reflect.get(window, "__hf");
|
|
211
|
-
const bridgeSeek = getProperty(hf, "seek");
|
|
212
|
-
const gsap = Reflect.get(window, "gsap");
|
|
213
|
-
const ticker = getProperty(gsap, "ticker");
|
|
214
|
-
const seekTo = (time) => {
|
|
215
|
-
if (call(renderSeek, player, exactTime ? [time, { exact: true }] : [time])) {
|
|
216
|
-
} else if (fallbackToBridgeAndTimelines && call(bridgeSeek, hf, [time])) {
|
|
217
|
-
} else if (call(playerSeek, player, [time])) {
|
|
218
|
-
} else if (fallbackToBridgeAndTimelines) {
|
|
219
|
-
const timelines = Reflect.get(window, "__timelines");
|
|
220
|
-
if (typeof timelines === "object" && timelines !== null) {
|
|
221
|
-
for (const key of Object.keys(timelines)) {
|
|
222
|
-
const timeline = Reflect.get(timelines, key);
|
|
223
|
-
call(getProperty(timeline, "pause"), timeline, []);
|
|
224
|
-
call(getProperty(timeline, "seek"), timeline, [time]);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
call(getProperty(ticker, "tick"), ticker, []);
|
|
229
|
-
};
|
|
230
|
-
const gateSlot = /* @__PURE__ */ Symbol.for("hyperframes.webglDrawGate");
|
|
231
|
-
let gate = Reflect.get(window, gateSlot);
|
|
232
|
-
if (skipDraws && !gate) {
|
|
233
|
-
const installed = { skip: false, skipped: false };
|
|
234
|
-
for (const name of ["WebGLRenderingContext", "WebGL2RenderingContext"]) {
|
|
235
|
-
const proto = getProperty(Reflect.get(window, name), "prototype");
|
|
236
|
-
if (!proto) continue;
|
|
237
|
-
for (const method of [
|
|
238
|
-
"clear",
|
|
239
|
-
"drawArrays",
|
|
240
|
-
"drawElements",
|
|
241
|
-
"drawArraysInstanced",
|
|
242
|
-
"drawElementsInstanced",
|
|
243
|
-
"drawRangeElements",
|
|
244
|
-
"blitFramebuffer"
|
|
245
|
-
]) {
|
|
246
|
-
const draw = getProperty(proto, method);
|
|
247
|
-
if (typeof draw !== "function") continue;
|
|
248
|
-
Reflect.set(proto, method, function(...args) {
|
|
249
|
-
if (!installed.skip) return Reflect.apply(draw, this, args);
|
|
250
|
-
installed.skipped = true;
|
|
251
|
-
return void 0;
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
Reflect.set(window, gateSlot, installed);
|
|
256
|
-
gate = installed;
|
|
257
|
-
}
|
|
258
|
-
const seekWithoutDraws = (time) => {
|
|
259
|
-
if (!gate) return seekTo(time);
|
|
260
|
-
gate.skip = true;
|
|
261
|
-
try {
|
|
262
|
-
seekTo(time);
|
|
263
|
-
} finally {
|
|
264
|
-
gate.skip = false;
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
if (skipDraws) {
|
|
268
|
-
seekWithoutDraws(safe);
|
|
269
|
-
return;
|
|
270
|
-
}
|
|
271
|
-
if (gate?.skipped) {
|
|
272
|
-
seekWithoutDraws(safe >= 1e-3 ? safe - 1e-3 : safe + 1e-3);
|
|
273
|
-
gate.skipped = false;
|
|
274
|
-
}
|
|
275
|
-
seekTo(safe);
|
|
276
|
-
},
|
|
309
|
+
seekInPage,
|
|
277
310
|
timeSeconds,
|
|
278
311
|
options.fallbackToBridgeAndTimelines === true,
|
|
279
312
|
options.exactTime === true,
|
|
@@ -289,6 +322,7 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
|
|
|
289
322
|
{ videoFrames: options.waitForVideoFrames !== false }
|
|
290
323
|
);
|
|
291
324
|
const animationFrameSettle = options.animationFrameSettle ?? "race";
|
|
325
|
+
const waitForFontsMs = options.waitForFontsMs ?? DEFAULT_POST_SEEK_FONT_WAIT_MS;
|
|
292
326
|
if (animationFrameSettle === "race") {
|
|
293
327
|
await page.evaluate(`new Promise(function(r) {
|
|
294
328
|
var settled = false;
|
|
@@ -296,17 +330,17 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
|
|
|
296
330
|
window.setTimeout(finish, 100);
|
|
297
331
|
requestAnimationFrame(function() { requestAnimationFrame(finish); });
|
|
298
332
|
})`);
|
|
299
|
-
} else if (animationFrameSettle === "double") {
|
|
333
|
+
} else if (animationFrameSettle === "double" && !(waitForFontsMs > 0)) {
|
|
300
334
|
await page.evaluate(
|
|
301
335
|
() => new Promise(
|
|
302
336
|
(resolveFrame) => requestAnimationFrame(() => requestAnimationFrame(() => resolveFrame()))
|
|
303
337
|
)
|
|
304
338
|
);
|
|
305
339
|
}
|
|
306
|
-
const waitForFontsMs = options.waitForFontsMs ?? DEFAULT_POST_SEEK_FONT_WAIT_MS;
|
|
307
340
|
if (waitForFontsMs > 0) {
|
|
308
|
-
await waitForCompositionFonts(page, waitForFontsMs);
|
|
341
|
+
await waitForCompositionFonts(page, waitForFontsMs, animationFrameSettle === "double" ? 2 : 1);
|
|
309
342
|
}
|
|
343
|
+
if (options.waitForImagesMs) await waitForCompositionImages(page, options.waitForImagesMs);
|
|
310
344
|
if (options.settleMs !== void 0) {
|
|
311
345
|
const settleMs = Math.max(0, options.settleMs);
|
|
312
346
|
await new Promise((resolveSettle) => setTimeout(resolveSettle, settleMs));
|
|
@@ -328,28 +362,48 @@ async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGE
|
|
|
328
362
|
} catch {
|
|
329
363
|
}
|
|
330
364
|
}
|
|
331
|
-
async function
|
|
332
|
-
await page.evaluate(
|
|
333
|
-
|
|
334
|
-
if (typeof fonts !== "object" || fonts === null) return Promise.resolve();
|
|
335
|
-
void document.body?.offsetHeight;
|
|
336
|
-
return new Promise((resolveWait) => {
|
|
365
|
+
async function waitForCompositionImages(page, timeoutMs) {
|
|
366
|
+
await page.evaluate(
|
|
367
|
+
(ms) => new Promise((resolveWait) => {
|
|
337
368
|
const deadline = setTimeout(resolveWait, ms);
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
369
|
+
void Promise.all(
|
|
370
|
+
Array.from(document.images, (image) => image.decode().catch(() => {
|
|
371
|
+
}))
|
|
372
|
+
).then(() => {
|
|
373
|
+
clearTimeout(deadline);
|
|
374
|
+
resolveWait();
|
|
375
|
+
});
|
|
376
|
+
}),
|
|
377
|
+
timeoutMs
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
async function waitForCompositionFonts(page, timeoutMs, frames = 1) {
|
|
381
|
+
await page.evaluate(
|
|
382
|
+
({ ms, frames: count }) => {
|
|
383
|
+
const fonts = Reflect.get(document, "fonts");
|
|
384
|
+
void document.body?.offsetHeight;
|
|
385
|
+
const afterFrames = (left, then) => {
|
|
386
|
+
requestAnimationFrame(() => left > 1 ? afterFrames(left - 1, then) : then());
|
|
387
|
+
};
|
|
388
|
+
return new Promise((resolveWait) => {
|
|
389
|
+
const deadline = setTimeout(resolveWait, ms);
|
|
390
|
+
afterFrames(count, () => {
|
|
391
|
+
const status = fonts ? Reflect.get(fonts, "status") : void 0;
|
|
392
|
+
const ready = fonts ? Reflect.get(fonts, "ready") : void 0;
|
|
393
|
+
if (status !== "loading" || !ready) {
|
|
394
|
+
clearTimeout(deadline);
|
|
395
|
+
resolveWait();
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
Promise.resolve(ready).then(() => {
|
|
399
|
+
clearTimeout(deadline);
|
|
400
|
+
resolveWait();
|
|
401
|
+
});
|
|
349
402
|
});
|
|
350
403
|
});
|
|
351
|
-
}
|
|
352
|
-
|
|
404
|
+
},
|
|
405
|
+
{ ms: timeoutMs, frames }
|
|
406
|
+
).catch(() => {
|
|
353
407
|
});
|
|
354
408
|
}
|
|
355
409
|
var ZOOM_REGION_PATTERN = /^-?\d+(?:\.\d+)?(?:,-?\d+(?:\.\d+)?){3}$/;
|
|
@@ -446,11 +500,13 @@ async function answerPageInProcess(page, url, answer) {
|
|
|
446
500
|
|
|
447
501
|
export {
|
|
448
502
|
AUDIT_SEEK_OPTIONS,
|
|
503
|
+
SCREENSHOT_SEEK_OPTIONS,
|
|
449
504
|
DENSE_GEOMETRY_SEEK_OPTIONS,
|
|
450
505
|
resolveCliChromeGpuMode,
|
|
451
506
|
waitForRuntimeReady,
|
|
452
507
|
installPageFunctionGuard,
|
|
453
508
|
openSettledCompositionPage,
|
|
509
|
+
seekInPage,
|
|
454
510
|
seekCompositionTimeline,
|
|
455
511
|
waitForPreferredSeekTarget,
|
|
456
512
|
waitForCompositionFonts,
|
|
@@ -7,13 +7,13 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
parseFeedbackRating,
|
|
9
9
|
trackRenderFeedback
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PBKOURSI.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-W5USVP6Z.js";
|
|
14
14
|
import {
|
|
15
15
|
detectAgentRuntime
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-T6AGUTZJ.js";
|
|
17
17
|
import {
|
|
18
18
|
c
|
|
19
19
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -83,8 +83,8 @@ async function maybePromptRenderFeedback(opts) {
|
|
|
83
83
|
async function getDoctorSummary() {
|
|
84
84
|
try {
|
|
85
85
|
const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
|
|
86
|
-
import("./system-
|
|
87
|
-
import("./ffmpeg-
|
|
86
|
+
import("./system-7F3UEHQT.js"),
|
|
87
|
+
import("./ffmpeg-QIYSAPHO.js")
|
|
88
88
|
]);
|
|
89
89
|
const sys = getSystemMeta();
|
|
90
90
|
const parts = [
|