hyperframes 0.8.181 → 0.8.184
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/bin/hyperframes.mjs +3 -1
- package/dist/{add-AWQ2EGBU.js → add-5ZTD3MUZ.js} +22 -22
- package/dist/{animatedGifPrep-SENXJ7TN.js → animatedGifPrep-AGASIWVA.js} +14 -13
- package/dist/api.js +29 -28
- package/dist/{asset-XBH3MN3Y.js → asset-LSTEMPIB.js} +3 -3
- package/dist/{assetCataloger-KH4X2CRO.js → assetCataloger-BKBMNL3A.js} +16 -13
- package/dist/{audio-Q7I473UN.js → audio-KGK44XE4.js} +31 -30
- package/dist/{auth-I7CBTEUS.js → auth-MJWKYK77.js} +4 -4
- package/dist/{autoUpdate-KY5TLSN7.js → autoUpdate-2GGDKYR2.js} +2 -2
- package/dist/{backgroundChecks-4Q3VVK5W.js → backgroundChecks-7GRX5VQY.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-3AYDQRBI.js → batchRender-BCV2LELR.js} +7 -7
- package/dist/{beats-P4LENNVT.js → beats-7BCFRBAL.js} +12 -12
- package/dist/{benchmark-AXOAECN3.js → benchmark-2R6CN5MQ.js} +24 -24
- package/dist/{browser-XZKB5HGJ.js → browser-6AFGOI7G.js} +20 -20
- package/dist/{bundleWithLocalizedFonts-2WCR57IN.js → bundleWithLocalizedFonts-2EGPA5ZO.js} +2 -2
- package/dist/{capture-NWARHRHR.js → capture-HA2UHLIU.js} +8 -5
- package/dist/{capture-4RN4APDF.js → capture-HOIAW6MO.js} +50 -41
- package/dist/{captureCompositionFrame-QOF5BRF4.js → captureCompositionFrame-4236FVWJ.js} +22 -20
- package/dist/{captureTimeout-K2JNVVCI.js → captureTimeout-RIMG6IYH.js} +1 -1
- package/dist/{catalog-CRPOPVD5.js → catalog-A6CZAWW4.js} +42 -42
- package/dist/{catch-up-MHWGUQ42.js → catch-up-TNA4DJOA.js} +15 -15
- package/dist/check-5E5U2EQZ.js +117 -0
- package/dist/checkBrowser-FNINXBMZ.js +118 -0
- package/dist/{chunk-OJTDUF4W.js → chunk-2PVE4WS2.js} +1 -1
- package/dist/{checkBrowser-VES2NF3K.js → chunk-2ULXZ4PG.js} +187 -114
- package/dist/{chunk-WITHUCCB.js → chunk-2XA7KXQO.js} +2 -2
- package/dist/{chunk-HODBPO4A.js → chunk-3MDJIWOV.js} +626 -328
- package/dist/{chunk-JBCU6NR5.js → chunk-3QVMJ7GX.js} +56 -55
- package/dist/{chunk-OR5WCFWZ.js → chunk-3TXNNBI2.js} +2 -2
- package/dist/{chunk-IZM562YJ.js → chunk-4KKKBEP3.js} +4 -4
- package/dist/{chunk-XEWHUPFS.js → chunk-4N4P3ZWL.js} +2 -2
- package/dist/{chunk-537IYAEE.js → chunk-4UMPIPCQ.js} +9 -1
- package/dist/{chunk-J4L5TPLS.js → chunk-5UDRPPN2.js} +48 -6
- package/dist/{chunk-L3YOGIPG.js → chunk-66LREXGS.js} +1 -1
- package/dist/{chunk-6I7V6Q7F.js → chunk-74JMKLVU.js} +103 -20
- package/dist/{chunk-3PULCIY5.js → chunk-7HJALUIO.js} +5 -5
- package/dist/{chunk-GZVP4TWN.js → chunk-7JAD4MEW.js} +1 -1
- package/dist/{chunk-NAMGMP3R.js → chunk-7KVVNF7B.js} +1 -1
- package/dist/{chunk-TO6JNTML.js → chunk-7MB2ZAQF.js} +13 -8
- package/dist/{chunk-55IG255C.js → chunk-7NRI7HYX.js} +1 -1
- package/dist/{chunk-VAJIPSN6.js → chunk-ABZYYUUH.js} +1 -1
- package/dist/{chunk-GK2FIKIQ.js → chunk-ADDHW2FS.js} +214 -37
- package/dist/{chunk-ZUOSILUE.js → chunk-BCHSTE7U.js} +1 -1
- package/dist/{chunk-AOWDVB2T.js → chunk-CXABAXB3.js} +1 -1
- package/dist/{chunk-E24HSMZV.js → chunk-CYBXXSC4.js} +65 -14
- package/dist/{chunk-NZZYJOMJ.js → chunk-CZUAX3BV.js} +6 -5
- package/dist/{chunk-GV5R5B7Q.js → chunk-DGECWPTL.js} +1 -1
- package/dist/{chunk-BRHI7EIA.js → chunk-DKPNNYBZ.js} +4 -0
- package/dist/{chunk-UIDZRCBG.js → chunk-DWUGKEHR.js} +1 -1
- package/dist/{chunk-D3ZWBHZP.js → chunk-DYAPHNV6.js} +3 -2
- package/dist/{chunk-T7UHTUUE.js → chunk-E32ZQ2WO.js} +9 -9
- package/dist/{chunk-RGHQID2E.js → chunk-EHSBBBR2.js} +5 -3
- package/dist/{chunk-DJJ7SK4F.js → chunk-EM7C7H7S.js} +8 -8
- package/dist/{chunk-XSRUVMXK.js → chunk-ES426XRJ.js} +4 -4
- package/dist/chunk-FG4BBFZI.js +122 -0
- package/dist/{chunk-JMFJI26U.js → chunk-FGJEUV4S.js} +2 -2
- package/dist/{check-DJCUOUDI.js → chunk-GDEV42FA.js} +198 -142
- package/dist/{chunk-RXQHSGAQ.js → chunk-HR23IKLZ.js} +2 -2
- package/dist/{chunk-KMAAOHLO.js → chunk-HRPWRZGF.js} +1 -1
- package/dist/{chunk-UPFUC4DB.js → chunk-HTIUNMTP.js} +1 -1
- package/dist/{chunk-V2UNZ7QP.js → chunk-ICJEAFPD.js} +25 -14
- package/dist/{chunk-EOADENKV.js → chunk-IWTNTUPQ.js} +16 -14
- package/dist/chunk-IZCW2NKT.js +29 -0
- package/dist/{chunk-XFCLWWL3.js → chunk-J36JVBLR.js} +11 -4
- package/dist/{chunk-LBQFLUIY.js → chunk-J3QM7AHP.js} +9 -49
- package/dist/{chunk-DUN63LHY.js → chunk-JB6ARMQS.js} +2 -2
- package/dist/{chunk-5E5EYPZO.js → chunk-JIUTXKWA.js} +7 -7
- package/dist/{chunk-YJDB4FLT.js → chunk-JQYJXUJW.js} +1 -1
- package/dist/{chunk-PBN6GBJE.js → chunk-JVBRJMOP.js} +14 -1
- package/dist/{chunk-RHWJKSGH.js → chunk-KANNRHY7.js} +1 -1
- package/dist/{chunk-IL3GTCQY.js → chunk-KN46TGHV.js} +72 -140
- package/dist/{chunk-OFY6JTZC.js → chunk-LLC4CS6I.js} +2 -2
- package/dist/{chunk-OJDXABUF.js → chunk-LRGYPXHF.js} +2 -2
- package/dist/{chunk-GNE57O7U.js → chunk-MFAETWIF.js} +1 -1
- package/dist/{chunk-32GKETR7.js → chunk-MMQ52NIZ.js} +74 -0
- package/dist/chunk-MOEGCMKI.js +180 -0
- package/dist/{chunk-E6RPWJVC.js → chunk-NAUKCKCJ.js} +5 -1
- package/dist/{chunk-B4VT6YU2.js → chunk-OLZENUPI.js} +50 -7
- package/dist/{chunk-H4YZZ2VQ.js → chunk-PFD25NAC.js} +1 -1
- package/dist/{chunk-XH262OWN.js → chunk-PFYWVUHA.js} +1 -1
- package/dist/{chunk-S3RYRF3W.js → chunk-PSKEKWVU.js} +1 -1
- package/dist/{chunk-N5SXQCJL.js → chunk-Q33P4EAC.js} +3 -3
- package/dist/{chunk-3DKN5WKL.js → chunk-QH3T4WI2.js} +77 -6
- package/dist/{chunk-O5AE7HOP.js → chunk-QL2PNIXC.js} +37 -33
- package/dist/{chunk-WUUCEFL5.js → chunk-R2BFTECP.js} +5 -5
- package/dist/chunk-R2SQBPMH.js +3805 -0
- package/dist/{chunk-YPBIAONI.js → chunk-RGXVEYHI.js} +230 -162
- package/dist/{chunk-YMS6CJCD.js → chunk-SAX7HQ5E.js} +1 -1
- package/dist/{chunk-KIO3R4QN.js → chunk-SN7KI5JA.js} +27 -14
- package/dist/{chunk-4USWWI2Y.js → chunk-TE427YID.js} +2 -2
- package/dist/{chunk-ICMXC3MI.js → chunk-U6RXZNZE.js} +31 -18
- package/dist/{chunk-X7CCSMRR.js → chunk-UJKUB2LH.js} +16 -16
- package/dist/{chunk-K26FR4SM.js → chunk-UKOTVJFV.js} +12 -12
- package/dist/{chunk-4OT3FWVV.js → chunk-UNNXFKVG.js} +2 -2
- package/dist/{chunk-PF7OWVTL.js → chunk-VDM3FEDP.js} +2 -2
- package/dist/{chunk-Y5GY6Y7A.js → chunk-VNVQGDPC.js} +2 -2
- package/dist/{chunk-22QHO26F.js → chunk-W64L7IFS.js} +1 -1
- package/dist/{chunk-Y2RXRPL2.js → chunk-WHPN2TIT.js} +5 -5
- package/dist/{chunk-65WIUIHL.js → chunk-WTFUDNW2.js} +7 -15
- package/dist/{chunk-3XDOGSRD.js → chunk-X3CG5YQA.js} +3 -3
- package/dist/{chunk-UZOZ2W2E.js → chunk-XGHHVYC7.js} +96 -34
- package/dist/{chunk-4IEH6EAC.js → chunk-YALM6XN4.js} +203 -58
- package/dist/{chunk-B6JLCPT3.js → chunk-YOZPQCSR.js} +6 -6
- package/dist/{chunk-5JMZLQT6.js → chunk-YWHCXIMD.js} +16 -16
- package/dist/{chunk-UVEQLDKB.js → chunk-YWNJTZGN.js} +3 -2
- package/dist/{chunk-WUQUR33W.js → chunk-ZOCHDXDG.js} +1 -1
- package/dist/{chunk-IWTRHPTP.js → chunk-ZRHO6YMM.js} +8 -8
- package/dist/{clean-GJNDVVDI.js → clean-HGASSMWI.js} +41 -40
- package/dist/cli.js +68 -64
- package/dist/{cloud-JCWNMKXC.js → cloud-JPDVNXHN.js} +4 -4
- package/dist/{cloudrun-2BKGY53X.js → cloudrun-AMMGSDRP.js} +8 -8
- package/dist/commands/layout-audit.browser.js +15 -4
- package/dist/commands/motion-signature.browser.js +52 -0
- package/dist/{compare-XWM7FAYM.js → compare-LHHVHUN3.js} +51 -47
- package/dist/{compiler-U3W6CJW7.js → compiler-Q3N6QXMT.js} +6 -6
- package/dist/{component-CBRAE325.js → component-D72J32Q7.js} +4 -4
- package/dist/{compositions-EZYJEHQ3.js → compositions-UQRJ5ROG.js} +29 -29
- package/dist/{contactSheet-27SRU7A4.js → contactSheet-CAGMKI3E.js} +3 -1
- package/dist/{delete-JWWMOITI.js → delete-P42VIDDA.js} +9 -9
- package/dist/{deploy-UGOV76OH.js → deploy-WZTH57O4.js} +11 -11
- package/dist/{destroy-QBLMYDBF.js → destroy-4B5HW5FH.js} +5 -5
- package/dist/{deterministicFonts-L7YEEFGI.js → deterministicFonts-VQ5UBMXY.js} +2 -2
- package/dist/{dist-VO7OXOFK.js → dist-DYS24AMA.js} +5 -5
- package/dist/{dist-2FMTAVGL.js → dist-SENYPQGW.js} +4 -4
- package/dist/{docs-MPOM3PHH.js → docs-UEWLIP6D.js} +1 -1
- package/dist/{doctor-XSKSZRR7.js → doctor-KEJIG2SK.js} +28 -27
- package/dist/{events-RGS4MAH4.js → events-CYKSNR7N.js} +6 -6
- package/dist/{events-AIZODZMP.js → events-UZXFQPMT.js} +9 -9
- package/dist/{feedback-GE3VDZOH.js → feedback-LXNQF7CA.js} +35 -35
- package/dist/{ffmpeg-SCXZTR6X.js → ffmpeg-BYHON577.js} +16 -15
- package/dist/{figma-3R4XST4Y.js → figma-EIQ35PS6.js} +3 -3
- package/dist/fontLocalizeCli.js +24 -23
- package/dist/{get-4FKJP6IM.js → get-CC2YL7QO.js} +9 -9
- package/dist/{gpuPolicy-4NNXESM7.js → gpuPolicy-VFSACUQV.js} +14 -13
- package/dist/{grade-compare-FAYVPXUR.js → grade-compare-TUQL7IV2.js} +56 -50
- package/dist/{help-C3UQMYXK.js → help-ROROO5K6.js} +1 -1
- package/dist/{history-LDGQ2IZJ.js → history-PNELYLXX.js} +15 -15
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +59 -59
- package/dist/hyperframes-player.global.js +8 -3
- package/dist/{info-KMXFLD3Q.js → info-4FZTH6AS.js} +20 -20
- package/dist/{init-D7GYHSX5.js → init-I43GHHVP.js} +69 -68
- package/dist/{inspect-CUKWHCGS.js → inspect-IT4TYIZ3.js} +46 -44
- package/dist/{installer-EPRSH6QI.js → installer-CWOJVK5K.js} +7 -7
- package/dist/{keyframes-XCUPHBW3.js → keyframes-3FBOGVD4.js} +16 -16
- package/dist/{lambda-IMORFJHN.js → lambda-H3V32I7M.js} +15 -15
- package/dist/{layout-JD2IOBMS.js → layout-BZ5LYJ5C.js} +46 -44
- package/dist/{lint-FHLER36Y.js → lint-ZTNSGP2S.js} +23 -23
- package/dist/{lintProject-ARKJXDQF.js → lintProject-C2ONSH2U.js} +4 -4
- package/dist/{list-MGCFG5MA.js → list-XM4GWJYY.js} +10 -10
- package/dist/{login-QX6M4UTR.js → login-H6HYKMWX.js} +7 -7
- package/dist/{logout-DKJANASY.js → logout-DDC4QLVK.js} +3 -3
- package/dist/{manager-IETAVBZS.js → manager-TWVDSJXO.js} +17 -16
- package/dist/{manager-V2QCCPOJ.js → manager-UHWEKPXC.js} +8 -3
- package/dist/{media-treatment-MDAQRITV.js → media-treatment-N7MY5NXB.js} +34 -33
- package/dist/{media-use-4XXGABIL.js → media-use-JBN57JE3.js} +1 -1
- package/dist/{models-NZAOSI5A.js → models-WEMIMYBD.js} +25 -24
- package/dist/{motionShot-6ZDUM2K4.js → motionShot-RHICTVPU.js} +29 -26
- package/dist/{normalize-audio-7PRYX6QM.js → normalize-audio-ZFUZCJE3.js} +12 -12
- package/dist/{open-I254NY5J.js → open-IBJ4FL3G.js} +24 -24
- package/dist/{parakeetRunner-TL3TOGUS.js → parakeetRunner-XXO4WSLR.js} +26 -25
- package/dist/{pipeline-YPERVOQM.js → pipeline-6ML3LUVK.js} +19 -18
- package/dist/{play-MYI7BYKS.js → play-RV4NAVF5.js} +40 -38
- package/dist/{policies-5NTZOHJA.js → policies-XXNGXWHV.js} +1 -1
- package/dist/{preflight-HRCSZ52D.js → preflight-R3DEFMLA.js} +19 -18
- package/dist/{present-WYXQDV4Q.js → present-5TBJGE6B.js} +34 -33
- package/dist/{preview-535HTWQO.js → preview-FLKZ5CXJ.js} +56 -55
- package/dist/{producer-C76CRJ5O.js → producer-7XYSPVKH.js} +1 -1
- package/dist/{progress-I37JB7R4.js → progress-NHJIHAAG.js} +2 -2
- package/dist/{projectConfig-5QCNTGQT.js → projectConfig-TBU2VWZX.js} +9 -9
- package/dist/{publication-2QT7VVE2.js → publication-CWWUJYJ5.js} +5 -5
- package/dist/{publish-53EBL7OO.js → publish-FSNE4FEB.js} +28 -27
- package/dist/{refresh-MGCVWX56.js → refresh-RXTOPRBB.js} +3 -3
- package/dist/{remove-background-OBYHMPD4.js → remove-background-MDFWRWCT.js} +32 -31
- package/dist/render-DBGQZAZT.js +1516 -0
- package/dist/{render-3MELF6Y3.js → render-F4JQ553X.js} +102 -96
- package/dist/{render-75CRB3BW.js → render-LWZKXCLY.js} +8 -8
- package/dist/{render-batch-CEVWUYBP.js → render-batch-PU7NMLIJ.js} +8 -8
- package/dist/renderSetupWorker.js +12 -9
- package/dist/{resolver-4ICE2AT6.js → resolver-RUBGFXPC.js} +7 -7
- package/dist/{screenshotCapture-HXEZ3TNJ.js → screenshotCapture-UBY6TT75.js} +33 -6
- package/dist/{sherpa-L4UACXT3.js → sherpa-X2TBNO6P.js} +25 -24
- package/dist/{sites-3ZBYB5X4.js → sites-MAVH57MO.js} +2 -2
- package/dist/skills/hyperframes/references/review-loop.md +1 -1
- package/dist/{skills-DXTQPCAO.js → skills-WHKMWO2D.js} +17 -17
- package/dist/{skillsUpdateCheck-ULXRGLDU.js → skillsUpdateCheck-XQGZGJJG.js} +3 -3
- package/dist/{snapshot-PWFHQU5E.js → snapshot-M4NUUSNU.js} +73 -71
- package/dist/{src-RDSWHMJS.js → src-4UYM2K3S.js} +34 -26
- package/dist/{src-S7NVL5VF.js → src-6MSC62U2.js} +23 -19
- package/dist/{state-KAXGHF77.js → state-ORRPOLMQ.js} +2 -2
- package/dist/{staticProjectServer-GYPUQGI7.js → staticProjectServer-ERDTFP45.js} +21 -20
- package/dist/{status-BV7QAUQD.js → status-CM7IQTU2.js} +6 -6
- package/dist/studio/assets/{hyperframes-player-DcD3NXpX.js → hyperframes-player-DEncBxR7.js} +7 -2
- package/dist/studio/assets/{index-CFrZAwKo.js → index-BABXr78Q.js} +4 -4
- package/dist/studio/assets/{index-BIDKYk0h.js → index-Cc22mgvY.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-IXGX5ZFI.js → studio-api-SAKD3VKC.js} +18 -17
- package/dist/{studioServer-LA5Z7RSS.js → studioServer-IRI7EVOM.js} +91 -84
- package/dist/{telemetry-STEMAMAX.js → telemetry-F4XADVAF.js} +10 -10
- package/dist/{telemetry-CQYHCCPL.js → telemetry-QG5AANZ4.js} +1 -1
- package/dist/{timeline-KLD24EN6.js → timeline-5I444RRE.js} +42 -41
- package/dist/{tokens-ICLORAA4.js → tokens-LRRYM35A.js} +3 -3
- package/dist/{transcribe-A6IKK7VS.js → transcribe-44XDFNVU.js} +48 -47
- package/dist/{transcribe-CTHZLRXF.js → transcribe-WHYHWAB2.js} +20 -19
- package/dist/{tts-EDK3QS7M.js → tts-A2WILYGN.js} +6 -6
- package/dist/{updateCheck-FHCAAAXA.js → updateCheck-7CPH3CAZ.js} +2 -2
- package/dist/{upgrade-7EV4F2R7.js → upgrade-WW4GQ2RI.js} +3 -3
- package/dist/{urlDownloader-MIMGVASJ.js → urlDownloader-OHLLP45A.js} +13 -12
- package/dist/{validate-LZF46W3V.js → validate-VNCDH2LW.js} +40 -38
- package/dist/{video-ZC47NFOL.js → video-5OHTLL2D.js} +17 -14
- package/dist/warmCheck.js +228 -0
- package/dist/warmCheckClient.js +139 -0
- package/package.json +4 -2
- package/dist/chunk-BAZ5LCR3.js +0 -3805
- package/dist/hyperframe-runtime.js +0 -1125
- package/dist/render-5BXTEEG7.js +0 -719
- package/dist/{synthesize-I2C24XJ5.js → synthesize-PKTB5ATG.js} +1 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
check_default,
|
|
9
|
+
createCheckCommand,
|
|
10
|
+
examples,
|
|
11
|
+
parseCheckRange,
|
|
12
|
+
parseFrameCheck,
|
|
13
|
+
parseLayout,
|
|
14
|
+
prelaunchBrowserForCheck
|
|
15
|
+
} from "./chunk-GDEV42FA.js";
|
|
16
|
+
import "./chunk-57GN6KWT.js";
|
|
17
|
+
import "./chunk-VDM3FEDP.js";
|
|
18
|
+
import "./chunk-FGJEUV4S.js";
|
|
19
|
+
import "./chunk-BCHSTE7U.js";
|
|
20
|
+
import "./chunk-Q33P4EAC.js";
|
|
21
|
+
import "./chunk-KANNRHY7.js";
|
|
22
|
+
import "./chunk-X7MTZ4T2.js";
|
|
23
|
+
import "./chunk-QL2PNIXC.js";
|
|
24
|
+
import "./chunk-LRGYPXHF.js";
|
|
25
|
+
import "./chunk-4KKKBEP3.js";
|
|
26
|
+
import "./chunk-YWNJTZGN.js";
|
|
27
|
+
import "./chunk-X7MTZ4T2.js";
|
|
28
|
+
import "./chunk-XUHOIDKG.js";
|
|
29
|
+
import "./chunk-3QVMJ7GX.js";
|
|
30
|
+
import "./chunk-ZRHO6YMM.js";
|
|
31
|
+
import "./chunk-6JR2XUEE.js";
|
|
32
|
+
import "./chunk-TTVHYD5R.js";
|
|
33
|
+
import "./chunk-U6RXZNZE.js";
|
|
34
|
+
import "./chunk-SN7KI5JA.js";
|
|
35
|
+
import "./chunk-ALVXFXUG.js";
|
|
36
|
+
import "./chunk-ICJEAFPD.js";
|
|
37
|
+
import "./chunk-FH7WODJH.js";
|
|
38
|
+
import "./chunk-KN46TGHV.js";
|
|
39
|
+
import "./chunk-MOEGCMKI.js";
|
|
40
|
+
import "./chunk-ES426XRJ.js";
|
|
41
|
+
import "./chunk-DKPNNYBZ.js";
|
|
42
|
+
import "./chunk-PSKEKWVU.js";
|
|
43
|
+
import "./chunk-K2FLNJVB.js";
|
|
44
|
+
import "./chunk-442JNXRM.js";
|
|
45
|
+
import "./chunk-EHSBBBR2.js";
|
|
46
|
+
import "./chunk-DQBY7FRR.js";
|
|
47
|
+
import "./chunk-UNNXFKVG.js";
|
|
48
|
+
import "./chunk-PFYWVUHA.js";
|
|
49
|
+
import "./chunk-XT7X6QCP.js";
|
|
50
|
+
import "./chunk-4YYJOFKS.js";
|
|
51
|
+
import "./chunk-HVW7ABXD.js";
|
|
52
|
+
import "./chunk-ZOCHDXDG.js";
|
|
53
|
+
import "./chunk-JHOCK3DG.js";
|
|
54
|
+
import "./chunk-LLC4CS6I.js";
|
|
55
|
+
import "./chunk-7MB2ZAQF.js";
|
|
56
|
+
import "./chunk-AWDFDFI3.js";
|
|
57
|
+
import "./chunk-P6LJ4Y32.js";
|
|
58
|
+
import "./chunk-GMECXFAN.js";
|
|
59
|
+
import "./chunk-5CS4T6C6.js";
|
|
60
|
+
import "./chunk-EOVYQ3IG.js";
|
|
61
|
+
import "./chunk-JIUTXKWA.js";
|
|
62
|
+
import "./chunk-UKOTVJFV.js";
|
|
63
|
+
import "./chunk-VWG7OQKU.js";
|
|
64
|
+
import "./chunk-HTIUNMTP.js";
|
|
65
|
+
import "./chunk-S3S4TGEH.js";
|
|
66
|
+
import "./chunk-54HJ63Q2.js";
|
|
67
|
+
import "./chunk-JVBRJMOP.js";
|
|
68
|
+
import "./chunk-ZTZA4UWZ.js";
|
|
69
|
+
import "./chunk-KLIKCX6Q.js";
|
|
70
|
+
import "./chunk-EVMY7IPL.js";
|
|
71
|
+
import "./chunk-7FMUTGOH.js";
|
|
72
|
+
import "./chunk-RGXVEYHI.js";
|
|
73
|
+
import "./chunk-IZCW2NKT.js";
|
|
74
|
+
import "./chunk-J3QM7AHP.js";
|
|
75
|
+
import "./chunk-RQVDTPGD.js";
|
|
76
|
+
import "./chunk-YALM6XN4.js";
|
|
77
|
+
import "./chunk-R2SQBPMH.js";
|
|
78
|
+
import "./chunk-VC76R6W2.js";
|
|
79
|
+
import "./chunk-UJKQWGFF.js";
|
|
80
|
+
import "./chunk-YMS5FOMC.js";
|
|
81
|
+
import "./chunk-OFQWTKPW.js";
|
|
82
|
+
import "./chunk-DPVXBVLL.js";
|
|
83
|
+
import "./chunk-3GXQPCJC.js";
|
|
84
|
+
import "./chunk-634HSJ3J.js";
|
|
85
|
+
import "./chunk-FXMKHHPO.js";
|
|
86
|
+
import "./chunk-Q5X2B5WT.js";
|
|
87
|
+
import "./chunk-T6AGUTZJ.js";
|
|
88
|
+
import "./chunk-XT6MXC7A.js";
|
|
89
|
+
import "./chunk-4UMPIPCQ.js";
|
|
90
|
+
import "./chunk-ADDHW2FS.js";
|
|
91
|
+
import "./chunk-VAS6HQX3.js";
|
|
92
|
+
import "./chunk-6BNTGNGD.js";
|
|
93
|
+
import "./chunk-OYLO6TYK.js";
|
|
94
|
+
import "./chunk-MMQ52NIZ.js";
|
|
95
|
+
import "./chunk-BSQ7XANM.js";
|
|
96
|
+
import "./chunk-SDYDNHEE.js";
|
|
97
|
+
import "./chunk-IXLUTE6N.js";
|
|
98
|
+
import "./chunk-TYXH3EKP.js";
|
|
99
|
+
import "./chunk-W2LGJSEN.js";
|
|
100
|
+
import "./chunk-ABZYYUUH.js";
|
|
101
|
+
import "./chunk-K4WIOZFP.js";
|
|
102
|
+
import "./chunk-XUXGIA7H.js";
|
|
103
|
+
import "./chunk-WERLJGIC.js";
|
|
104
|
+
import "./chunk-ISN5GRYI.js";
|
|
105
|
+
import "./chunk-4N4P3ZWL.js";
|
|
106
|
+
import "./chunk-KNU5COPB.js";
|
|
107
|
+
import "./chunk-KGPLIH7B.js";
|
|
108
|
+
import "./chunk-M2WBOQ2Q.js";
|
|
109
|
+
export {
|
|
110
|
+
createCheckCommand,
|
|
111
|
+
check_default as default,
|
|
112
|
+
examples,
|
|
113
|
+
parseCheckRange,
|
|
114
|
+
parseFrameCheck,
|
|
115
|
+
parseLayout,
|
|
116
|
+
prelaunchBrowserForCheck
|
|
117
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
captureFindingCrops,
|
|
9
|
+
captureOverviewShot,
|
|
10
|
+
collectSeekClock,
|
|
11
|
+
createPageDriver,
|
|
12
|
+
dropFailedProxyEchoes,
|
|
13
|
+
keepBrokenImageAborts,
|
|
14
|
+
matchComponentFindings,
|
|
15
|
+
mergeHelperDrafts,
|
|
16
|
+
preResolveHostileMediaProxies,
|
|
17
|
+
runBrowserCheck,
|
|
18
|
+
samplingBrowserCount
|
|
19
|
+
} from "./chunk-2ULXZ4PG.js";
|
|
20
|
+
import "./chunk-UJKUB2LH.js";
|
|
21
|
+
import "./chunk-KANNRHY7.js";
|
|
22
|
+
import "./chunk-X7MTZ4T2.js";
|
|
23
|
+
import "./chunk-QL2PNIXC.js";
|
|
24
|
+
import "./chunk-LRGYPXHF.js";
|
|
25
|
+
import "./chunk-4KKKBEP3.js";
|
|
26
|
+
import "./chunk-YWNJTZGN.js";
|
|
27
|
+
import "./chunk-X7MTZ4T2.js";
|
|
28
|
+
import "./chunk-XUHOIDKG.js";
|
|
29
|
+
import "./chunk-3QVMJ7GX.js";
|
|
30
|
+
import "./chunk-ZRHO6YMM.js";
|
|
31
|
+
import "./chunk-6JR2XUEE.js";
|
|
32
|
+
import "./chunk-TTVHYD5R.js";
|
|
33
|
+
import "./chunk-U6RXZNZE.js";
|
|
34
|
+
import "./chunk-SN7KI5JA.js";
|
|
35
|
+
import "./chunk-ALVXFXUG.js";
|
|
36
|
+
import "./chunk-ICJEAFPD.js";
|
|
37
|
+
import "./chunk-FH7WODJH.js";
|
|
38
|
+
import "./chunk-KN46TGHV.js";
|
|
39
|
+
import "./chunk-MOEGCMKI.js";
|
|
40
|
+
import "./chunk-ES426XRJ.js";
|
|
41
|
+
import "./chunk-DKPNNYBZ.js";
|
|
42
|
+
import "./chunk-PSKEKWVU.js";
|
|
43
|
+
import "./chunk-K2FLNJVB.js";
|
|
44
|
+
import "./chunk-442JNXRM.js";
|
|
45
|
+
import "./chunk-EHSBBBR2.js";
|
|
46
|
+
import "./chunk-UNNXFKVG.js";
|
|
47
|
+
import "./chunk-PFYWVUHA.js";
|
|
48
|
+
import "./chunk-XT7X6QCP.js";
|
|
49
|
+
import "./chunk-4YYJOFKS.js";
|
|
50
|
+
import "./chunk-HVW7ABXD.js";
|
|
51
|
+
import "./chunk-ZOCHDXDG.js";
|
|
52
|
+
import "./chunk-JHOCK3DG.js";
|
|
53
|
+
import "./chunk-LLC4CS6I.js";
|
|
54
|
+
import "./chunk-7MB2ZAQF.js";
|
|
55
|
+
import "./chunk-AWDFDFI3.js";
|
|
56
|
+
import "./chunk-P6LJ4Y32.js";
|
|
57
|
+
import "./chunk-GMECXFAN.js";
|
|
58
|
+
import "./chunk-5CS4T6C6.js";
|
|
59
|
+
import "./chunk-EOVYQ3IG.js";
|
|
60
|
+
import "./chunk-JIUTXKWA.js";
|
|
61
|
+
import "./chunk-UKOTVJFV.js";
|
|
62
|
+
import "./chunk-VWG7OQKU.js";
|
|
63
|
+
import "./chunk-S3S4TGEH.js";
|
|
64
|
+
import "./chunk-54HJ63Q2.js";
|
|
65
|
+
import "./chunk-JVBRJMOP.js";
|
|
66
|
+
import "./chunk-ZTZA4UWZ.js";
|
|
67
|
+
import "./chunk-KLIKCX6Q.js";
|
|
68
|
+
import "./chunk-EVMY7IPL.js";
|
|
69
|
+
import "./chunk-7FMUTGOH.js";
|
|
70
|
+
import "./chunk-RGXVEYHI.js";
|
|
71
|
+
import "./chunk-IZCW2NKT.js";
|
|
72
|
+
import "./chunk-J3QM7AHP.js";
|
|
73
|
+
import "./chunk-RQVDTPGD.js";
|
|
74
|
+
import "./chunk-YALM6XN4.js";
|
|
75
|
+
import "./chunk-R2SQBPMH.js";
|
|
76
|
+
import "./chunk-VC76R6W2.js";
|
|
77
|
+
import "./chunk-UJKQWGFF.js";
|
|
78
|
+
import "./chunk-YMS5FOMC.js";
|
|
79
|
+
import "./chunk-OFQWTKPW.js";
|
|
80
|
+
import "./chunk-DPVXBVLL.js";
|
|
81
|
+
import "./chunk-3GXQPCJC.js";
|
|
82
|
+
import "./chunk-634HSJ3J.js";
|
|
83
|
+
import "./chunk-FXMKHHPO.js";
|
|
84
|
+
import "./chunk-T6AGUTZJ.js";
|
|
85
|
+
import "./chunk-XT6MXC7A.js";
|
|
86
|
+
import "./chunk-4UMPIPCQ.js";
|
|
87
|
+
import "./chunk-ADDHW2FS.js";
|
|
88
|
+
import "./chunk-VAS6HQX3.js";
|
|
89
|
+
import "./chunk-6BNTGNGD.js";
|
|
90
|
+
import "./chunk-OYLO6TYK.js";
|
|
91
|
+
import "./chunk-MMQ52NIZ.js";
|
|
92
|
+
import "./chunk-BSQ7XANM.js";
|
|
93
|
+
import "./chunk-SDYDNHEE.js";
|
|
94
|
+
import "./chunk-IXLUTE6N.js";
|
|
95
|
+
import "./chunk-TYXH3EKP.js";
|
|
96
|
+
import "./chunk-W2LGJSEN.js";
|
|
97
|
+
import "./chunk-ABZYYUUH.js";
|
|
98
|
+
import "./chunk-K4WIOZFP.js";
|
|
99
|
+
import "./chunk-XUXGIA7H.js";
|
|
100
|
+
import "./chunk-WERLJGIC.js";
|
|
101
|
+
import "./chunk-ISN5GRYI.js";
|
|
102
|
+
import "./chunk-4N4P3ZWL.js";
|
|
103
|
+
import "./chunk-KNU5COPB.js";
|
|
104
|
+
import "./chunk-KGPLIH7B.js";
|
|
105
|
+
import "./chunk-M2WBOQ2Q.js";
|
|
106
|
+
export {
|
|
107
|
+
captureFindingCrops,
|
|
108
|
+
captureOverviewShot,
|
|
109
|
+
collectSeekClock,
|
|
110
|
+
createPageDriver,
|
|
111
|
+
dropFailedProxyEchoes,
|
|
112
|
+
keepBrokenImageAborts,
|
|
113
|
+
matchComponentFindings,
|
|
114
|
+
mergeHelperDrafts,
|
|
115
|
+
preResolveHostileMediaProxies,
|
|
116
|
+
runBrowserCheck,
|
|
117
|
+
samplingBrowserCount
|
|
118
|
+
};
|
|
@@ -8,36 +8,26 @@ import {
|
|
|
8
8
|
auditClipDurations,
|
|
9
9
|
shouldIgnoreHttpError,
|
|
10
10
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UJKUB2LH.js";
|
|
12
12
|
import {
|
|
13
13
|
checkSnapshotDirectory,
|
|
14
14
|
rectToBbox
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KANNRHY7.js";
|
|
16
16
|
import {
|
|
17
17
|
ambiguousIssue,
|
|
18
18
|
loadBrowserScript
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-X7MTZ4T2.js";
|
|
21
|
-
import "./chunk-OJDXABUF.js";
|
|
19
|
+
} from "./chunk-QL2PNIXC.js";
|
|
22
20
|
import {
|
|
23
21
|
serveStaticProjectHtml
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-UVEQLDKB.js";
|
|
26
|
-
import "./chunk-X7MTZ4T2.js";
|
|
27
|
-
import "./chunk-XUHOIDKG.js";
|
|
28
|
-
import "./chunk-JBCU6NR5.js";
|
|
29
|
-
import "./chunk-IWTRHPTP.js";
|
|
30
|
-
import "./chunk-TTVHYD5R.js";
|
|
31
|
-
import "./chunk-6JR2XUEE.js";
|
|
22
|
+
} from "./chunk-4KKKBEP3.js";
|
|
32
23
|
import {
|
|
33
24
|
FfmpegUnavailableError,
|
|
34
25
|
decideMediaProxyEligibility,
|
|
26
|
+
getProxyCachePath,
|
|
35
27
|
proxyVariantFor,
|
|
36
28
|
resolveProxies,
|
|
37
29
|
scanProjectMediaCodecMap
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-ICMXC3MI.js";
|
|
40
|
-
import "./chunk-ALVXFXUG.js";
|
|
30
|
+
} from "./chunk-SN7KI5JA.js";
|
|
41
31
|
import {
|
|
42
32
|
AUDIT_SEEK_OPTIONS,
|
|
43
33
|
DEFAULT_ZOOM_PADDING_PX,
|
|
@@ -51,84 +41,21 @@ import {
|
|
|
51
41
|
seekCompositionTimeline,
|
|
52
42
|
seekInPage,
|
|
53
43
|
waitForPreferredSeekTarget
|
|
54
|
-
} from "./chunk-
|
|
55
|
-
import "./chunk-FH7WODJH.js";
|
|
44
|
+
} from "./chunk-ICJEAFPD.js";
|
|
56
45
|
import {
|
|
57
46
|
BrowserCleanupError,
|
|
58
47
|
closeManagedBrowser
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import "./chunk-XSRUVMXK.js";
|
|
61
|
-
import "./chunk-BRHI7EIA.js";
|
|
62
|
-
import "./chunk-S3RYRF3W.js";
|
|
63
|
-
import "./chunk-K2FLNJVB.js";
|
|
64
|
-
import "./chunk-4OT3FWVV.js";
|
|
65
|
-
import "./chunk-442JNXRM.js";
|
|
66
|
-
import "./chunk-RGHQID2E.js";
|
|
48
|
+
} from "./chunk-KN46TGHV.js";
|
|
67
49
|
import {
|
|
68
50
|
resolveAutoProxy
|
|
69
|
-
} from "./chunk-
|
|
70
|
-
import "./chunk-XT7X6QCP.js";
|
|
71
|
-
import "./chunk-4YYJOFKS.js";
|
|
72
|
-
import "./chunk-HVW7ABXD.js";
|
|
73
|
-
import "./chunk-WUQUR33W.js";
|
|
74
|
-
import "./chunk-JHOCK3DG.js";
|
|
75
|
-
import "./chunk-OFY6JTZC.js";
|
|
76
|
-
import "./chunk-TO6JNTML.js";
|
|
77
|
-
import "./chunk-AWDFDFI3.js";
|
|
78
|
-
import "./chunk-P6LJ4Y32.js";
|
|
79
|
-
import "./chunk-GMECXFAN.js";
|
|
80
|
-
import "./chunk-5CS4T6C6.js";
|
|
81
|
-
import "./chunk-5E5EYPZO.js";
|
|
82
|
-
import "./chunk-K26FR4SM.js";
|
|
83
|
-
import "./chunk-VWG7OQKU.js";
|
|
84
|
-
import "./chunk-T6AGUTZJ.js";
|
|
85
|
-
import "./chunk-S3S4TGEH.js";
|
|
86
|
-
import "./chunk-54HJ63Q2.js";
|
|
87
|
-
import "./chunk-PBN6GBJE.js";
|
|
88
|
-
import "./chunk-ZTZA4UWZ.js";
|
|
89
|
-
import "./chunk-KLIKCX6Q.js";
|
|
90
|
-
import "./chunk-EVMY7IPL.js";
|
|
91
|
-
import "./chunk-7FMUTGOH.js";
|
|
92
|
-
import "./chunk-VAJIPSN6.js";
|
|
93
|
-
import "./chunk-K4WIOZFP.js";
|
|
94
|
-
import "./chunk-XUXGIA7H.js";
|
|
95
|
-
import "./chunk-WERLJGIC.js";
|
|
96
|
-
import "./chunk-ISN5GRYI.js";
|
|
97
|
-
import "./chunk-XEWHUPFS.js";
|
|
98
|
-
import "./chunk-EOVYQ3IG.js";
|
|
99
|
-
import "./chunk-XT6MXC7A.js";
|
|
100
|
-
import "./chunk-YPBIAONI.js";
|
|
101
|
-
import "./chunk-4IEH6EAC.js";
|
|
102
|
-
import "./chunk-W2LGJSEN.js";
|
|
103
|
-
import "./chunk-LBQFLUIY.js";
|
|
104
|
-
import "./chunk-BAZ5LCR3.js";
|
|
105
|
-
import "./chunk-VC76R6W2.js";
|
|
106
|
-
import "./chunk-UJKQWGFF.js";
|
|
107
|
-
import "./chunk-YMS5FOMC.js";
|
|
108
|
-
import "./chunk-OFQWTKPW.js";
|
|
109
|
-
import "./chunk-DPVXBVLL.js";
|
|
110
|
-
import "./chunk-634HSJ3J.js";
|
|
111
|
-
import "./chunk-FXMKHHPO.js";
|
|
112
|
-
import "./chunk-RQVDTPGD.js";
|
|
113
|
-
import "./chunk-537IYAEE.js";
|
|
114
|
-
import "./chunk-GK2FIKIQ.js";
|
|
115
|
-
import "./chunk-6BNTGNGD.js";
|
|
116
|
-
import "./chunk-VAS6HQX3.js";
|
|
117
|
-
import "./chunk-OYLO6TYK.js";
|
|
118
|
-
import "./chunk-32GKETR7.js";
|
|
119
|
-
import "./chunk-BSQ7XANM.js";
|
|
120
|
-
import "./chunk-SDYDNHEE.js";
|
|
121
|
-
import "./chunk-TYXH3EKP.js";
|
|
122
|
-
import "./chunk-IXLUTE6N.js";
|
|
51
|
+
} from "./chunk-PFYWVUHA.js";
|
|
123
52
|
import {
|
|
124
53
|
normalizeErrorMessage
|
|
125
54
|
} from "./chunk-KNU5COPB.js";
|
|
126
|
-
import "./chunk-KGPLIH7B.js";
|
|
127
|
-
import "./chunk-3GXQPCJC.js";
|
|
128
|
-
import "./chunk-M2WBOQ2Q.js";
|
|
129
55
|
|
|
130
56
|
// src/utils/checkBrowser.ts
|
|
131
|
-
import { mkdirSync, writeFileSync } from "fs";
|
|
57
|
+
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
58
|
+
import os from "os";
|
|
132
59
|
import { join, resolve } from "path";
|
|
133
60
|
|
|
134
61
|
// src/utils/gsapTweenTails.ts
|
|
@@ -268,12 +195,22 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
|
|
|
268
195
|
variant: proxyVariantFor(facts)
|
|
269
196
|
};
|
|
270
197
|
});
|
|
271
|
-
const
|
|
198
|
+
const total = hostileEntries.length;
|
|
199
|
+
const toMake = sources.filter((source) => !proxyCached(projectDir, source)).length;
|
|
200
|
+
if (toMake > 0) {
|
|
201
|
+
console.error(
|
|
202
|
+
`[hyperframes] Making browser-playable copies of ${toMake} video${toMake === 1 ? "" : "s"} Chrome cannot decode. Only the first check of these files waits for this; later checks reuse the copies.`
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
let settled = 0;
|
|
206
|
+
const results = await resolveProxies(projectDir, sources, () => {
|
|
207
|
+
settled += 1;
|
|
208
|
+
if (toMake > 0) console.error(`[hyperframes] browser-playable copies: ${settled}/${total}`);
|
|
209
|
+
});
|
|
272
210
|
const failures = sources.flatMap((source, index) => {
|
|
273
211
|
const result = results[index];
|
|
274
212
|
return result.status === "rejected" ? [{ ...source, reason: result.reason }] : [];
|
|
275
213
|
});
|
|
276
|
-
const total = hostileEntries.length;
|
|
277
214
|
console.error(
|
|
278
215
|
`[hyperframes] media proxy pre-resolve: ${total - failures.length}/${total} ready, ${failures.length} failed (${Date.now() - startedAt}ms)`
|
|
279
216
|
);
|
|
@@ -292,11 +229,18 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
|
|
|
292
229
|
}
|
|
293
230
|
return { findings, failedPaths: new Set(failures.map(({ pathname }) => pathname)) };
|
|
294
231
|
}
|
|
232
|
+
function proxyCached(projectDir, source) {
|
|
233
|
+
try {
|
|
234
|
+
return existsSync(getProxyCachePath(projectDir, source.sourcePath, source.variant));
|
|
235
|
+
} catch {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
295
239
|
function proxyFailedDraft(message) {
|
|
296
240
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
297
241
|
}
|
|
298
242
|
async function runBrowserCheck(project, options, motion, runGrid, deadline, prelaunched) {
|
|
299
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
243
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-2EGPA5ZO.js");
|
|
300
244
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
301
245
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
302
246
|
project.dir,
|
|
@@ -310,18 +254,15 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
310
254
|
[],
|
|
311
255
|
options.autoProxy
|
|
312
256
|
);
|
|
313
|
-
|
|
314
|
-
const clock = {
|
|
315
|
-
now: () => stamp,
|
|
316
|
-
at: (time) => {
|
|
317
|
-
stamp = { time };
|
|
318
|
-
},
|
|
319
|
-
during: (range) => {
|
|
320
|
-
stamp = { time: range[0], timeRange: range };
|
|
321
|
-
}
|
|
322
|
-
};
|
|
257
|
+
const clock = createRuntimeClock();
|
|
323
258
|
let failure = { kind: "none" };
|
|
324
259
|
let chromeBrowser;
|
|
260
|
+
const helperSession = samplingBrowserCount(options) > 1 ? startHelperSession(html, server.url, options, deadline) : void 0;
|
|
261
|
+
const helperOpen = helperSession?.opened;
|
|
262
|
+
const helpers = helperOpen?.then(
|
|
263
|
+
(helper) => [helper.driver],
|
|
264
|
+
() => []
|
|
265
|
+
);
|
|
325
266
|
try {
|
|
326
267
|
const launchSettleStart = Date.now();
|
|
327
268
|
const session = await openSettledCompositionPage(html, server.url, {
|
|
@@ -343,7 +284,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
343
284
|
await waitForPreferredSeekTarget(page);
|
|
344
285
|
const rootAnchor = await resolveRootAnchor(page);
|
|
345
286
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
346
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
287
|
+
const { analyzeClipMediaFit } = await import("./src-4UYM2K3S.js");
|
|
347
288
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
348
289
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
349
290
|
}
|
|
@@ -351,14 +292,18 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
351
292
|
const message = tweenTailMessage(tail);
|
|
352
293
|
drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
|
|
353
294
|
}
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
const
|
|
295
|
+
const sampleLog = sampleWindow(drafts);
|
|
296
|
+
const driver = createPageDriver(page, clock, sampleLog);
|
|
297
|
+
const result = await runGrid(driver, options, motion, helpers);
|
|
298
|
+
helperSession?.stop();
|
|
299
|
+
const helper = await helperOpen?.catch(() => void 0);
|
|
300
|
+
const merged = helper ? mergeHelperDrafts(sampleLog, helper.sampleLog) : drafts;
|
|
301
|
+
const broken = await abortedImagesStillBroken(page, merged);
|
|
357
302
|
return {
|
|
358
303
|
...result,
|
|
359
304
|
timings: { ...result.timings, launchSettleMs },
|
|
360
305
|
runtimeFindings: dropFailedProxyEchoes(
|
|
361
|
-
keepBrokenImageAborts(
|
|
306
|
+
keepBrokenImageAborts(merged, broken),
|
|
362
307
|
failedPaths
|
|
363
308
|
).map((draft) => runtimeFinding(draft, rootAnchor))
|
|
364
309
|
};
|
|
@@ -366,12 +311,87 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
366
311
|
failure = { kind: "failed", error };
|
|
367
312
|
throw error;
|
|
368
313
|
} finally {
|
|
369
|
-
|
|
314
|
+
helperSession?.stop();
|
|
315
|
+
await helperOpen?.catch(() => void 0);
|
|
316
|
+
await closeCheckResources([chromeBrowser, helperSession?.browser()], server, failure);
|
|
370
317
|
}
|
|
371
318
|
}
|
|
319
|
+
function createRuntimeClock() {
|
|
320
|
+
let stamp = { time: 0 };
|
|
321
|
+
return {
|
|
322
|
+
now: () => stamp,
|
|
323
|
+
at: (time) => {
|
|
324
|
+
stamp = { time };
|
|
325
|
+
},
|
|
326
|
+
during: (range) => {
|
|
327
|
+
stamp = { time: range[0], timeRange: range };
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
var SAMPLING_BROWSER_BYTES = 250 * 1024 * 1024;
|
|
332
|
+
function samplingBrowserCount(options, cores = os.availableParallelism(), free = Math.min(os.freemem(), process.availableMemory())) {
|
|
333
|
+
if (options.at?.length === 1) return 1;
|
|
334
|
+
return Math.max(1, Math.min(2, cores - 1, Math.floor(free / SAMPLING_BROWSER_BYTES)));
|
|
335
|
+
}
|
|
336
|
+
function sampleWindow(drafts) {
|
|
337
|
+
return { drafts, start: Number.POSITIVE_INFINITY, end: Number.POSITIVE_INFINITY };
|
|
338
|
+
}
|
|
339
|
+
function startHelperSession(html, url, options, deadline) {
|
|
340
|
+
const abort = new AbortController();
|
|
341
|
+
let browser;
|
|
342
|
+
const opened = openHelperSession(html, url, options, deadline, {
|
|
343
|
+
signal: deadline ? AbortSignal.any([deadline.signal, abort.signal]) : abort.signal,
|
|
344
|
+
onBrowser: (launched) => {
|
|
345
|
+
browser = launched;
|
|
346
|
+
deadline?.ownBrowser(launched);
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
return {
|
|
350
|
+
opened,
|
|
351
|
+
browser: () => browser,
|
|
352
|
+
stop: () => {
|
|
353
|
+
abort.abort();
|
|
354
|
+
if (browser) void closeManagedBrowser(browser).catch(() => void 0);
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
async function openHelperSession(html, url, options, deadline, owner) {
|
|
359
|
+
const sampleLog = sampleWindow([]);
|
|
360
|
+
const clock = createRuntimeClock();
|
|
361
|
+
const session = await openSettledCompositionPage(html, url, {
|
|
362
|
+
navigationTimeoutMs: options.timeout,
|
|
363
|
+
renderReadyTimeoutMs: options.timeout,
|
|
364
|
+
renderReadyWarningSuffix: "checking the current page state",
|
|
365
|
+
browserGpuMode: options.browserGpuMode ?? resolveCliChromeGpuMode(),
|
|
366
|
+
signal: owner.signal,
|
|
367
|
+
onBrowser: owner.onBrowser,
|
|
368
|
+
beforeNavigate: async (page) => {
|
|
369
|
+
wireRuntimeListeners(page, sampleLog.drafts, clock);
|
|
370
|
+
await deadline?.preparePage(page);
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
await waitForPreferredSeekTarget(session.page);
|
|
374
|
+
return {
|
|
375
|
+
driver: createPageDriver(session.page, clock, sampleLog),
|
|
376
|
+
sampleLog
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
var draftKey = (draft) => `${draft.code} ${draft.time} ${draft.message}`;
|
|
380
|
+
function mergeHelperDrafts(primary, helper) {
|
|
381
|
+
const window2 = ({ drafts, start: start2, end }) => drafts.slice(Math.min(start2, drafts.length), Math.min(end, drafts.length));
|
|
382
|
+
const own = window2(primary);
|
|
383
|
+
const seen = new Set(own.map(draftKey));
|
|
384
|
+
const extra = window2(helper).filter((draft) => !seen.has(draftKey(draft)));
|
|
385
|
+
const start = Math.min(primary.start, primary.drafts.length);
|
|
386
|
+
return [
|
|
387
|
+
...primary.drafts.slice(0, start),
|
|
388
|
+
...[...own, ...extra].sort((a, b) => a.time - b.time),
|
|
389
|
+
...primary.drafts.slice(start + own.length)
|
|
390
|
+
];
|
|
391
|
+
}
|
|
372
392
|
async function captureFindingCrops(project, options, requests, deadline) {
|
|
373
393
|
if (requests.length === 0) return [];
|
|
374
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
394
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-2EGPA5ZO.js");
|
|
375
395
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
376
396
|
const server = await serveStaticProjectHtml(
|
|
377
397
|
project.dir,
|
|
@@ -415,12 +435,12 @@ async function captureFindingCrops(project, options, requests, deadline) {
|
|
|
415
435
|
failure = { kind: "failed", error };
|
|
416
436
|
throw error;
|
|
417
437
|
} finally {
|
|
418
|
-
await closeCheckResources(chromeBrowser, server, failure);
|
|
438
|
+
await closeCheckResources([chromeBrowser], server, failure);
|
|
419
439
|
}
|
|
420
440
|
}
|
|
421
|
-
async function closeCheckResources(
|
|
441
|
+
async function closeCheckResources(browsers, server, failure) {
|
|
422
442
|
const cleanup = await Promise.allSettled([
|
|
423
|
-
browser ? closeManagedBrowser(browser) : Promise.resolve(),
|
|
443
|
+
...browsers.map((browser) => browser ? closeManagedBrowser(browser) : Promise.resolve()),
|
|
424
444
|
server.close()
|
|
425
445
|
]);
|
|
426
446
|
const errors = cleanup.filter((entry) => entry.status === "rejected").map((entry) => entry.reason);
|
|
@@ -598,9 +618,14 @@ function wireNetworkListeners(page, drafts, clock) {
|
|
|
598
618
|
});
|
|
599
619
|
});
|
|
600
620
|
}
|
|
601
|
-
function createPageDriver(page, clock) {
|
|
621
|
+
function createPageDriver(page, clock = createRuntimeClock(), sampleLog) {
|
|
602
622
|
return {
|
|
603
623
|
initialize: (contrast) => injectAuditScripts(page, contrast),
|
|
624
|
+
markSamples: (phase) => {
|
|
625
|
+
if (!sampleLog) return;
|
|
626
|
+
if (phase === "drop") sampleLog.start = sampleLog.end = Number.POSITIVE_INFINITY;
|
|
627
|
+
else sampleLog[phase] = sampleLog.drafts.length;
|
|
628
|
+
},
|
|
604
629
|
matchComponents: (components, findings) => page.evaluate(matchComponentFindings, { components, findings }),
|
|
605
630
|
getDuration: () => getCompositionDuration(page),
|
|
606
631
|
hasNoTimelineDeclaration: () => hasNoTimelineDeclaration(page),
|
|
@@ -628,6 +653,12 @@ function createPageDriver(page, clock) {
|
|
|
628
653
|
return issues;
|
|
629
654
|
},
|
|
630
655
|
collectLayoutGeometry: () => collectLayoutGeometry(page),
|
|
656
|
+
captureFrame: (scope) => captureFrame(page, scope),
|
|
657
|
+
framesDiffer: (first, second) => page.evaluate(
|
|
658
|
+
(a, b) => Reflect.apply(Reflect.get(window, "__hyperframesFramesDiffer"), window, [a, b]),
|
|
659
|
+
first,
|
|
660
|
+
second
|
|
661
|
+
).then((differ) => differ === true),
|
|
631
662
|
collectSeekClock: () => collectSeekClock(page),
|
|
632
663
|
collectRotationSample: (time) => collectRotationSample(page, time),
|
|
633
664
|
collectOffPivotRotationSample: (time) => collectOffPivotRotationSample(page, time),
|
|
@@ -806,6 +837,44 @@ async function collectOverlapGrid(page, times) {
|
|
|
806
837
|
)
|
|
807
838
|
);
|
|
808
839
|
}
|
|
840
|
+
async function captureFrame(page, scope) {
|
|
841
|
+
if (!scope) return page.screenshot({ encoding: "base64", type: "png" });
|
|
842
|
+
try {
|
|
843
|
+
const box = await page.evaluate(isolateScopePaint, scope);
|
|
844
|
+
if (!box || box.width < 1 || box.height < 1) return "";
|
|
845
|
+
return await page.screenshot({
|
|
846
|
+
encoding: "base64",
|
|
847
|
+
type: "png",
|
|
848
|
+
clip: box,
|
|
849
|
+
omitBackground: true
|
|
850
|
+
});
|
|
851
|
+
} finally {
|
|
852
|
+
await page.evaluate(restoreScopePaint);
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
function isolateScopePaint(scope) {
|
|
856
|
+
let target = null;
|
|
857
|
+
try {
|
|
858
|
+
target = document.querySelector(scope);
|
|
859
|
+
} catch {
|
|
860
|
+
return null;
|
|
861
|
+
}
|
|
862
|
+
if (!target) return null;
|
|
863
|
+
const visibility = getComputedStyle(target).visibility;
|
|
864
|
+
target.setAttribute("data-hf-capture-scope", "");
|
|
865
|
+
const style = document.createElement("style");
|
|
866
|
+
style.id = "__hf_capture_scope_style";
|
|
867
|
+
style.textContent = `:not([data-hf-capture-scope], [data-hf-capture-scope] *) { visibility: hidden !important; }
|
|
868
|
+
:root:not([data-hf-capture-scope]), body:not([data-hf-capture-scope]) { background: none !important; }
|
|
869
|
+
[data-hf-capture-scope] { visibility: ${visibility} !important; }`;
|
|
870
|
+
document.head.append(style);
|
|
871
|
+
const rect = target.getBoundingClientRect();
|
|
872
|
+
return { x: rect.left, y: rect.top, width: rect.width, height: rect.height };
|
|
873
|
+
}
|
|
874
|
+
function restoreScopePaint() {
|
|
875
|
+
document.getElementById("__hf_capture_scope_style")?.remove();
|
|
876
|
+
document.querySelector("[data-hf-capture-scope]")?.removeAttribute("data-hf-capture-scope");
|
|
877
|
+
}
|
|
809
878
|
async function collectLayoutGeometry(page) {
|
|
810
879
|
return page.evaluate(() => {
|
|
811
880
|
const geometry = Reflect.get(window, "__hyperframesLayoutGeometry");
|
|
@@ -1476,13 +1545,17 @@ function matchComponentFindings({
|
|
|
1476
1545
|
return matchesSelector(finding.selector) !== false || typeof container === "string" && matchesSelector(container) !== false;
|
|
1477
1546
|
});
|
|
1478
1547
|
}
|
|
1548
|
+
|
|
1479
1549
|
export {
|
|
1550
|
+
preResolveHostileMediaProxies,
|
|
1551
|
+
runBrowserCheck,
|
|
1552
|
+
samplingBrowserCount,
|
|
1553
|
+
mergeHelperDrafts,
|
|
1480
1554
|
captureFindingCrops,
|
|
1481
|
-
captureOverviewShot,
|
|
1482
|
-
collectSeekClock,
|
|
1483
|
-
dropFailedProxyEchoes,
|
|
1484
1555
|
keepBrokenImageAborts,
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1556
|
+
dropFailedProxyEchoes,
|
|
1557
|
+
createPageDriver,
|
|
1558
|
+
collectSeekClock,
|
|
1559
|
+
captureOverviewShot,
|
|
1560
|
+
matchComponentFindings
|
|
1488
1561
|
};
|