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
|
@@ -9,17 +9,24 @@ import {
|
|
|
9
9
|
reportArtifacts,
|
|
10
10
|
withProjectLock
|
|
11
11
|
} from "./chunk-57GN6KWT.js";
|
|
12
|
+
import {
|
|
13
|
+
captureArtifactRevision
|
|
14
|
+
} from "./chunk-VDM3FEDP.js";
|
|
15
|
+
import {
|
|
16
|
+
loadProducer
|
|
17
|
+
} from "./chunk-BCHSTE7U.js";
|
|
12
18
|
import {
|
|
13
19
|
trackLintRun
|
|
14
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-Q33P4EAC.js";
|
|
15
21
|
import {
|
|
16
22
|
beginCheckSnapshots,
|
|
17
23
|
checkSnapshotDirectory,
|
|
18
24
|
finishCheckSnapshots,
|
|
19
25
|
rectToBbox
|
|
20
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-KANNRHY7.js";
|
|
21
27
|
import {
|
|
22
28
|
CONTENT_OVERLAP_HELD_ERROR_MS,
|
|
29
|
+
DEFAULT_MAX_STATIC_SEC,
|
|
23
30
|
assertionTargets,
|
|
24
31
|
buildLayoutSampleTimes,
|
|
25
32
|
buildTransitionSampleTimes,
|
|
@@ -31,77 +38,37 @@ import {
|
|
|
31
38
|
findingElementKey,
|
|
32
39
|
formatFindingTimes,
|
|
33
40
|
formatLayoutIssue,
|
|
41
|
+
frozenSpans,
|
|
34
42
|
groupSampledFindings,
|
|
35
43
|
limitLayoutIssues,
|
|
36
44
|
longestContiguousRunMs,
|
|
37
45
|
mergeSampleTimes,
|
|
38
46
|
parseAt,
|
|
39
47
|
readMotionSpec
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import {
|
|
42
|
-
captureArtifactRevision
|
|
43
|
-
} from "./chunk-PF7OWVTL.js";
|
|
44
|
-
import "./chunk-JMFJI26U.js";
|
|
45
|
-
import "./chunk-X7MTZ4T2.js";
|
|
46
|
-
import {
|
|
47
|
-
loadProducer
|
|
48
|
-
} from "./chunk-ZUOSILUE.js";
|
|
48
|
+
} from "./chunk-QL2PNIXC.js";
|
|
49
49
|
import {
|
|
50
50
|
resolveProject
|
|
51
|
-
} from "./chunk-
|
|
52
|
-
import "./chunk-IZM562YJ.js";
|
|
53
|
-
import "./chunk-UVEQLDKB.js";
|
|
54
|
-
import "./chunk-X7MTZ4T2.js";
|
|
55
|
-
import "./chunk-XUHOIDKG.js";
|
|
56
|
-
import "./chunk-JBCU6NR5.js";
|
|
57
|
-
import "./chunk-IWTRHPTP.js";
|
|
58
|
-
import "./chunk-TTVHYD5R.js";
|
|
59
|
-
import "./chunk-6JR2XUEE.js";
|
|
60
|
-
import "./chunk-KIO3R4QN.js";
|
|
51
|
+
} from "./chunk-LRGYPXHF.js";
|
|
61
52
|
import {
|
|
62
53
|
recordArtifacts
|
|
63
|
-
} from "./chunk-
|
|
64
|
-
import "./chunk-ALVXFXUG.js";
|
|
65
|
-
import "./chunk-V2UNZ7QP.js";
|
|
66
|
-
import "./chunk-FH7WODJH.js";
|
|
54
|
+
} from "./chunk-U6RXZNZE.js";
|
|
67
55
|
import {
|
|
68
56
|
BrowserCleanupError,
|
|
69
57
|
closeManagedBrowser
|
|
70
|
-
} from "./chunk-
|
|
71
|
-
import "./chunk-XSRUVMXK.js";
|
|
72
|
-
import "./chunk-BRHI7EIA.js";
|
|
73
|
-
import "./chunk-S3RYRF3W.js";
|
|
74
|
-
import "./chunk-K2FLNJVB.js";
|
|
75
|
-
import "./chunk-DQBY7FRR.js";
|
|
76
|
-
import {
|
|
77
|
-
resolveLocalBrowserGpuMode
|
|
78
|
-
} from "./chunk-4OT3FWVV.js";
|
|
79
|
-
import "./chunk-442JNXRM.js";
|
|
58
|
+
} from "./chunk-KN46TGHV.js";
|
|
80
59
|
import {
|
|
81
60
|
withRemainingBudget
|
|
82
|
-
} from "./chunk-
|
|
83
|
-
import
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
import "./chunk-HVW7ABXD.js";
|
|
87
|
-
import "./chunk-WUQUR33W.js";
|
|
88
|
-
import "./chunk-JHOCK3DG.js";
|
|
89
|
-
import "./chunk-OFY6JTZC.js";
|
|
90
|
-
import "./chunk-TO6JNTML.js";
|
|
91
|
-
import "./chunk-AWDFDFI3.js";
|
|
92
|
-
import "./chunk-P6LJ4Y32.js";
|
|
93
|
-
import "./chunk-GMECXFAN.js";
|
|
94
|
-
import "./chunk-5CS4T6C6.js";
|
|
61
|
+
} from "./chunk-EHSBBBR2.js";
|
|
62
|
+
import {
|
|
63
|
+
resolveLocalBrowserGpuMode
|
|
64
|
+
} from "./chunk-UNNXFKVG.js";
|
|
95
65
|
import {
|
|
96
66
|
trackCheckReport,
|
|
97
67
|
trackCommandFailure
|
|
98
|
-
} from "./chunk-
|
|
99
|
-
import "./chunk-K26FR4SM.js";
|
|
100
|
-
import "./chunk-VWG7OQKU.js";
|
|
101
|
-
import "./chunk-T6AGUTZJ.js";
|
|
68
|
+
} from "./chunk-JIUTXKWA.js";
|
|
102
69
|
import {
|
|
103
70
|
swallowedFlagUsageError
|
|
104
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-HTIUNMTP.js";
|
|
105
72
|
import {
|
|
106
73
|
defineCommand,
|
|
107
74
|
parseArgs
|
|
@@ -111,61 +78,27 @@ import {
|
|
|
111
78
|
} from "./chunk-54HJ63Q2.js";
|
|
112
79
|
import {
|
|
113
80
|
setCommandExitCode
|
|
114
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-JVBRJMOP.js";
|
|
115
82
|
import {
|
|
116
83
|
c
|
|
117
84
|
} from "./chunk-ZTZA4UWZ.js";
|
|
118
|
-
import "./chunk-KLIKCX6Q.js";
|
|
119
|
-
import "./chunk-EVMY7IPL.js";
|
|
120
|
-
import "./chunk-7FMUTGOH.js";
|
|
121
|
-
import "./chunk-Q5X2B5WT.js";
|
|
122
|
-
import {
|
|
123
|
-
withMeta
|
|
124
|
-
} from "./chunk-VAJIPSN6.js";
|
|
125
|
-
import "./chunk-K4WIOZFP.js";
|
|
126
|
-
import "./chunk-XUXGIA7H.js";
|
|
127
|
-
import "./chunk-WERLJGIC.js";
|
|
128
|
-
import "./chunk-ISN5GRYI.js";
|
|
129
|
-
import "./chunk-XEWHUPFS.js";
|
|
130
|
-
import "./chunk-EOVYQ3IG.js";
|
|
131
|
-
import "./chunk-XT6MXC7A.js";
|
|
132
85
|
import {
|
|
133
86
|
extractMediaMetadata,
|
|
134
87
|
findHdrAutoPromotion
|
|
135
|
-
} from "./chunk-
|
|
136
|
-
import "./chunk-4IEH6EAC.js";
|
|
137
|
-
import "./chunk-W2LGJSEN.js";
|
|
138
|
-
import "./chunk-LBQFLUIY.js";
|
|
139
|
-
import "./chunk-BAZ5LCR3.js";
|
|
140
|
-
import "./chunk-VC76R6W2.js";
|
|
141
|
-
import "./chunk-UJKQWGFF.js";
|
|
142
|
-
import "./chunk-YMS5FOMC.js";
|
|
143
|
-
import "./chunk-OFQWTKPW.js";
|
|
144
|
-
import "./chunk-DPVXBVLL.js";
|
|
145
|
-
import "./chunk-634HSJ3J.js";
|
|
146
|
-
import "./chunk-FXMKHHPO.js";
|
|
147
|
-
import "./chunk-RQVDTPGD.js";
|
|
148
|
-
import "./chunk-537IYAEE.js";
|
|
88
|
+
} from "./chunk-RGXVEYHI.js";
|
|
149
89
|
import {
|
|
150
90
|
lintProject,
|
|
151
91
|
shouldBlockRender
|
|
152
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-ADDHW2FS.js";
|
|
153
93
|
import {
|
|
154
94
|
resolveProjectRelativeSrc
|
|
155
95
|
} from "./chunk-6BNTGNGD.js";
|
|
156
|
-
import
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
import "./chunk-BSQ7XANM.js";
|
|
160
|
-
import "./chunk-SDYDNHEE.js";
|
|
161
|
-
import "./chunk-TYXH3EKP.js";
|
|
162
|
-
import "./chunk-IXLUTE6N.js";
|
|
96
|
+
import {
|
|
97
|
+
withMeta
|
|
98
|
+
} from "./chunk-ABZYYUUH.js";
|
|
163
99
|
import {
|
|
164
100
|
normalizeErrorMessage
|
|
165
101
|
} from "./chunk-KNU5COPB.js";
|
|
166
|
-
import "./chunk-KGPLIH7B.js";
|
|
167
|
-
import "./chunk-3GXQPCJC.js";
|
|
168
|
-
import "./chunk-M2WBOQ2Q.js";
|
|
169
102
|
|
|
170
103
|
// src/commands/check.ts
|
|
171
104
|
import { randomUUID } from "crypto";
|
|
@@ -270,7 +203,7 @@ import { join, relative } from "path";
|
|
|
270
203
|
|
|
271
204
|
// src/utils/hdrPromotion.ts
|
|
272
205
|
async function bundleProjectHtml(projectDir) {
|
|
273
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
206
|
+
const { bundleToSingleHtml } = await import("./compiler-Q3N6QXMT.js");
|
|
274
207
|
return bundleToSingleHtml(projectDir);
|
|
275
208
|
}
|
|
276
209
|
async function collectBundledRenderMedia(html) {
|
|
@@ -576,13 +509,8 @@ async function collectGeometryAt(driver, options, grid, canvas, time) {
|
|
|
576
509
|
}
|
|
577
510
|
return issues;
|
|
578
511
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
const motionSet = new Set(motion.times);
|
|
582
|
-
const contrastSet = new Set(grid.contrastSamples);
|
|
583
|
-
const geometryEnabled = grid.captionSamples.length > 0 || grid.frameSamples.length > 0;
|
|
584
|
-
const canvas = geometryEnabled ? await driver.getCanvas() : null;
|
|
585
|
-
const collected = {
|
|
512
|
+
function emptyGridSamples() {
|
|
513
|
+
return {
|
|
586
514
|
layoutIssues: [],
|
|
587
515
|
motionFrames: [],
|
|
588
516
|
contrastEntries: [],
|
|
@@ -592,34 +520,91 @@ async function collectGridSamples(driver, options, grid, motion) {
|
|
|
592
520
|
rotationSamples: [],
|
|
593
521
|
indicatorFrames: []
|
|
594
522
|
};
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
523
|
+
}
|
|
524
|
+
function appendGridSamples(into, from) {
|
|
525
|
+
into.layoutIssues.push(...from.layoutIssues);
|
|
526
|
+
into.motionFrames.push(...from.motionFrames);
|
|
527
|
+
into.contrastEntries.push(...from.contrastEntries);
|
|
528
|
+
into.screenshots.push(...from.screenshots);
|
|
529
|
+
into.contrastMs += from.contrastMs;
|
|
530
|
+
into.layoutStateSignatures.push(...from.layoutStateSignatures);
|
|
531
|
+
into.rotationSamples.push(...from.rotationSamples);
|
|
532
|
+
into.indicatorFrames.push(...from.indicatorFrames);
|
|
533
|
+
}
|
|
534
|
+
async function collectSampleAt(driver, options, grid, motion, sets, time) {
|
|
535
|
+
const collected = emptyGridSamples();
|
|
536
|
+
await driver.seek(time, sets.contrast.has(time));
|
|
537
|
+
const issuesAtTime = [];
|
|
538
|
+
if (sets.layout.has(time)) {
|
|
539
|
+
const layoutIssues = await driver.collectLayout(time, options.tolerance, options.layout);
|
|
540
|
+
collected.layoutIssues.push(...layoutIssues);
|
|
541
|
+
issuesAtTime.push(...layoutIssues);
|
|
542
|
+
collected.layoutStateSignatures.push({
|
|
543
|
+
time,
|
|
544
|
+
signature: await driver.collectLayoutGeometry(),
|
|
545
|
+
clock: await driver.collectSeekClock()
|
|
546
|
+
});
|
|
547
|
+
collected.rotationSamples.push(...await driver.collectRotationSample(time));
|
|
548
|
+
collected.indicatorFrames.push(await driver.collectOffPivotRotationSample(time));
|
|
549
|
+
}
|
|
550
|
+
if (sets.canvas) {
|
|
551
|
+
const geometryIssues = await collectGeometryAt(driver, options, grid, sets.canvas, time);
|
|
552
|
+
collected.layoutIssues.push(...geometryIssues);
|
|
553
|
+
issuesAtTime.push(...geometryIssues);
|
|
554
|
+
}
|
|
555
|
+
if (sets.motion.has(time)) {
|
|
556
|
+
collected.motionFrames.push(
|
|
557
|
+
await driver.collectMotionFrame(time, motion.selectors, motion.livenessScopes)
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
if (sets.contrast.has(time))
|
|
561
|
+
await collectContrastAt(driver, options, time, issuesAtTime, collected);
|
|
562
|
+
return collected;
|
|
563
|
+
}
|
|
564
|
+
async function collectGridSamples(driver, options, grid, motion, helpers) {
|
|
565
|
+
const geometryEnabled = grid.captionSamples.length > 0 || grid.frameSamples.length > 0;
|
|
566
|
+
const sets = {
|
|
567
|
+
layout: new Set(grid.layoutSamples),
|
|
568
|
+
motion: new Set(motion.times),
|
|
569
|
+
contrast: new Set(grid.contrastSamples),
|
|
570
|
+
canvas: geometryEnabled ? await driver.getCanvas() : null
|
|
571
|
+
};
|
|
572
|
+
const times = mergeSampleTimes(grid.layoutSamples, motion.times);
|
|
573
|
+
const pending = times.map((_, index) => index);
|
|
574
|
+
const perTime = [];
|
|
575
|
+
const work = async (worker, taken = []) => {
|
|
576
|
+
for (let index = pending.shift(); index !== void 0; index = pending.shift()) {
|
|
577
|
+
taken.push(index);
|
|
578
|
+
const time = times[index] ?? 0;
|
|
579
|
+
perTime[index] = await collectSampleAt(worker, options, grid, motion, sets, time);
|
|
614
580
|
}
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
581
|
+
};
|
|
582
|
+
const helpWith = async (helper) => {
|
|
583
|
+
const taken = [];
|
|
584
|
+
try {
|
|
585
|
+
await helper.initialize(options.contrast);
|
|
586
|
+
helper.markSamples?.("start");
|
|
587
|
+
await work(helper, taken);
|
|
588
|
+
helper.markSamples?.("end");
|
|
589
|
+
} catch {
|
|
590
|
+
helper.markSamples?.("drop");
|
|
591
|
+
for (const index of taken) delete perTime[index];
|
|
592
|
+
pending.push(...taken);
|
|
619
593
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
594
|
+
};
|
|
595
|
+
let firstPageDone = false;
|
|
596
|
+
const running = [];
|
|
597
|
+
void helpers.then((ready) => {
|
|
598
|
+
for (const helper of ready) if (!firstPageDone) running.push(helpWith(helper));
|
|
599
|
+
});
|
|
600
|
+
driver.markSamples?.("start");
|
|
601
|
+
await work(driver);
|
|
602
|
+
firstPageDone = true;
|
|
603
|
+
await Promise.all(running);
|
|
604
|
+
await work(driver);
|
|
605
|
+
driver.markSamples?.("end");
|
|
606
|
+
const collected = emptyGridSamples();
|
|
607
|
+
for (const samples of perTime) appendGridSamples(collected, samples);
|
|
623
608
|
await collectMotionOverlapSamples(driver, grid, collected, options.range);
|
|
624
609
|
return collected;
|
|
625
610
|
}
|
|
@@ -731,6 +716,55 @@ function detectSweepStatic(duration, samples, motionIssues, hasNoTimelineDeclara
|
|
|
731
716
|
if (allSame(signatures.map(seenPart))) return [sweepStaticIssue("audio")];
|
|
732
717
|
return [];
|
|
733
718
|
}
|
|
719
|
+
async function framesMoved(driver, times) {
|
|
720
|
+
const [firstTime, ...rest] = times;
|
|
721
|
+
if (firstTime === void 0) return false;
|
|
722
|
+
const first = await frameAt(driver, firstTime);
|
|
723
|
+
for (const time of rest) {
|
|
724
|
+
if (!await driver.framesDiffer(first, await frameAt(driver, time))) continue;
|
|
725
|
+
return !await driver.framesDiffer(first, await frameAt(driver, firstTime));
|
|
726
|
+
}
|
|
727
|
+
return false;
|
|
728
|
+
}
|
|
729
|
+
async function frameAt(driver, time, scope) {
|
|
730
|
+
await driver.seek(time, true);
|
|
731
|
+
return driver.captureFrame(scope);
|
|
732
|
+
}
|
|
733
|
+
async function withFrameMotion(driver, frames, assertions) {
|
|
734
|
+
const marked = frames.map((frame) => ({ ...frame, liveness: { ...frame.liveness } }));
|
|
735
|
+
for (const assertion of assertions) {
|
|
736
|
+
if (assertion.kind !== "keepsMoving") continue;
|
|
737
|
+
const scope = assertion.withinSelector ?? "*";
|
|
738
|
+
if (frames.every((frame) => !frame.liveness[scope])) continue;
|
|
739
|
+
const maxStaticSec = assertion.maxStaticSec ?? DEFAULT_MAX_STATIC_SEC;
|
|
740
|
+
for (const span of frozenSpans(frames, scope, maxStaticSec)) {
|
|
741
|
+
const held = frames.find((frame) => frame.time === span.start)?.liveness[scope];
|
|
742
|
+
const inSpan = marked.filter(
|
|
743
|
+
(frame, index) => frame.time >= span.start && frame.time <= span.end && frames[index]?.liveness[scope] === held
|
|
744
|
+
);
|
|
745
|
+
await markFrameChanges(driver, inSpan, assertion.withinSelector, maxStaticSec / 2);
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
return marked;
|
|
749
|
+
}
|
|
750
|
+
async function markFrameChanges(driver, frames, within, captureEverySec) {
|
|
751
|
+
const scope = within ?? "*";
|
|
752
|
+
let reference;
|
|
753
|
+
let mark = 0;
|
|
754
|
+
let nextCapture = Number.NEGATIVE_INFINITY;
|
|
755
|
+
for (const frame of frames) {
|
|
756
|
+
if (frame.time >= nextCapture) {
|
|
757
|
+
nextCapture = frame.time + captureEverySec;
|
|
758
|
+
const capture = await frameAt(driver, frame.time, within);
|
|
759
|
+
if (reference === void 0) reference = capture;
|
|
760
|
+
else if (await driver.framesDiffer(reference, capture)) {
|
|
761
|
+
reference = capture;
|
|
762
|
+
mark++;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
frame.liveness[scope] = `${frame.liveness[scope] ?? ""}|frame${mark}`;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
734
768
|
function anAnimationIsStuck(samples) {
|
|
735
769
|
const seenById = /* @__PURE__ */ new Map();
|
|
736
770
|
for (const sample of samples) {
|
|
@@ -1097,7 +1131,7 @@ function detectOffPivotRotation(frames) {
|
|
|
1097
1131
|
function annotationBoxesFrom(issues) {
|
|
1098
1132
|
return issues.filter((issue) => issue.severity === "error" && issue.bbox.width > 0 && issue.bbox.height > 0).map((issue, index) => ({ label: `${index + 1} ${issue.code}`, bbox: issue.bbox }));
|
|
1099
1133
|
}
|
|
1100
|
-
async function runAuditGrid(driver, options, motion) {
|
|
1134
|
+
async function runAuditGrid(driver, options, motion, helpers = Promise.resolve([])) {
|
|
1101
1135
|
await driver.initialize(options.contrast);
|
|
1102
1136
|
const grid = await buildSampleGrid(driver, options);
|
|
1103
1137
|
const plan = await planMotionSampling(
|
|
@@ -1106,24 +1140,32 @@ async function runAuditGrid(driver, options, motion) {
|
|
|
1106
1140
|
grid.duration
|
|
1107
1141
|
);
|
|
1108
1142
|
const seekLoopStart = Date.now();
|
|
1109
|
-
const collected = await collectGridSamples(driver, options, grid, plan);
|
|
1143
|
+
const collected = await collectGridSamples(driver, options, grid, plan, helpers);
|
|
1110
1144
|
const seekLoopMs = Date.now() - seekLoopStart;
|
|
1111
1145
|
let motionIssues = plan.preflightIssues;
|
|
1112
1146
|
if (motion.kind === "valid" && plan.assertions.length > 0 && collected.motionFrames.length > 0) {
|
|
1113
|
-
const
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
await driver.
|
|
1117
|
-
|
|
1147
|
+
const canvas = await driver.getCanvas();
|
|
1148
|
+
let evaluated = evaluateMotion(collected.motionFrames, plan.assertions, canvas);
|
|
1149
|
+
if (evaluated.some((issue) => issue.code === "motion_frozen")) {
|
|
1150
|
+
const frames = await withFrameMotion(driver, collected.motionFrames, plan.assertions);
|
|
1151
|
+
evaluated = evaluateMotion(frames, plan.assertions, canvas);
|
|
1152
|
+
}
|
|
1118
1153
|
motionIssues = [...motionIssues, ...await driver.anchorMotionIssues(evaluated)];
|
|
1119
1154
|
}
|
|
1120
1155
|
const userPicked = new Set(grid.userPickedSamples);
|
|
1121
|
-
const
|
|
1156
|
+
const sweepSamples = collected.layoutStateSignatures.filter(
|
|
1157
|
+
(sample) => !userPicked.has(sample.time)
|
|
1158
|
+
);
|
|
1159
|
+
const sweepVerdict = options.range ? [] : detectSweepStatic(
|
|
1122
1160
|
grid.duration,
|
|
1123
|
-
|
|
1161
|
+
sweepSamples,
|
|
1124
1162
|
motionIssues,
|
|
1125
1163
|
await driver.hasNoTimelineDeclaration()
|
|
1126
1164
|
);
|
|
1165
|
+
const sweepFindings = sweepVerdict.length > 0 && await framesMoved(
|
|
1166
|
+
driver,
|
|
1167
|
+
sweepSamples.map((sample) => sample.time)
|
|
1168
|
+
) ? [] : sweepVerdict;
|
|
1127
1169
|
const rotationFindings = detectRotationPivotDrift(
|
|
1128
1170
|
collected.rotationSamples,
|
|
1129
1171
|
await driver.getCanvas()
|
|
@@ -1620,13 +1662,21 @@ function resolveMotionSpec(projectDir) {
|
|
|
1620
1662
|
};
|
|
1621
1663
|
}
|
|
1622
1664
|
async function runBrowserCheck(project, options, motion, deadline, prelaunched) {
|
|
1623
|
-
const module = await import("./checkBrowser-
|
|
1665
|
+
const module = await import("./checkBrowser-FNINXBMZ.js");
|
|
1624
1666
|
return module.runBrowserCheck(project, options, motion, runAuditGrid, deadline, prelaunched);
|
|
1625
1667
|
}
|
|
1668
|
+
var adoptedBrowser;
|
|
1669
|
+
async function prelaunchBrowserForNextCheck(project, options) {
|
|
1670
|
+
adoptedBrowser = await prelaunchBrowser(project, options);
|
|
1671
|
+
return adoptedBrowser;
|
|
1672
|
+
}
|
|
1626
1673
|
async function prelaunchBrowser(project, options) {
|
|
1674
|
+
const adopted = adoptedBrowser;
|
|
1675
|
+
adoptedBrowser = void 0;
|
|
1676
|
+
if (adopted) return adopted;
|
|
1627
1677
|
const html = await readFile(project.indexPath, "utf8").catch(() => void 0);
|
|
1628
1678
|
if (html === void 0) return void 0;
|
|
1629
|
-
const { prelaunchCompositionBrowser } = await import("./captureCompositionFrame-
|
|
1679
|
+
const { prelaunchCompositionBrowser } = await import("./captureCompositionFrame-4236FVWJ.js");
|
|
1630
1680
|
return prelaunchCompositionBrowser(html, options.browserGpuMode);
|
|
1631
1681
|
}
|
|
1632
1682
|
async function writeSnapshot(projectDir, index, time, pngBase64) {
|
|
@@ -1638,7 +1688,7 @@ async function writeSnapshot(projectDir, index, time, pngBase64) {
|
|
|
1638
1688
|
return relative(projectDir, path);
|
|
1639
1689
|
}
|
|
1640
1690
|
async function captureFindingCrops(project, options, requests, deadline) {
|
|
1641
|
-
const module = await import("./checkBrowser-
|
|
1691
|
+
const module = await import("./checkBrowser-FNINXBMZ.js");
|
|
1642
1692
|
return module.captureFindingCrops(project, options, requests, deadline);
|
|
1643
1693
|
}
|
|
1644
1694
|
var DEFAULT_DEPENDENCIES2 = {
|
|
@@ -1898,6 +1948,10 @@ function parseCheckOptions(args) {
|
|
|
1898
1948
|
browserGpuMode: resolveLocalBrowserGpuMode(args["browser-gpu"])
|
|
1899
1949
|
};
|
|
1900
1950
|
}
|
|
1951
|
+
function prelaunchBrowserForCheck(rawArgs) {
|
|
1952
|
+
const args = parseArgs(rawArgs, CHECK_COMMAND_ARGS);
|
|
1953
|
+
return prelaunchBrowserForNextCheck(resolveProject(args.dir), parseCheckOptions(args));
|
|
1954
|
+
}
|
|
1901
1955
|
function parseCheckRange(value) {
|
|
1902
1956
|
if (value === void 0) return void 0;
|
|
1903
1957
|
const parts = String(value).split(/[,:]/);
|
|
@@ -2171,11 +2225,13 @@ function printCounts(section2) {
|
|
|
2171
2225
|
);
|
|
2172
2226
|
}
|
|
2173
2227
|
var check_default = createCheckCommand();
|
|
2228
|
+
|
|
2174
2229
|
export {
|
|
2175
|
-
createCheckCommand,
|
|
2176
|
-
check_default as default,
|
|
2177
2230
|
examples,
|
|
2231
|
+
createCheckCommand,
|
|
2232
|
+
prelaunchBrowserForCheck,
|
|
2178
2233
|
parseCheckRange,
|
|
2179
2234
|
parseFrameCheck,
|
|
2180
|
-
parseLayout
|
|
2235
|
+
parseLayout,
|
|
2236
|
+
check_default
|
|
2181
2237
|
};
|
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
} from "./chunk-DCAI5DBR.js";
|
|
13
13
|
import {
|
|
14
14
|
createProjectConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PFYWVUHA.js";
|
|
16
16
|
import {
|
|
17
17
|
isHyperframesProject
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-J3QM7AHP.js";
|
|
19
19
|
|
|
20
20
|
// src/utils/desktopApp.ts
|
|
21
21
|
import { spawn, spawnSync } from "child_process";
|
|
@@ -8,29 +8,31 @@ import {
|
|
|
8
8
|
resolveCompositionViewportFromHtml
|
|
9
9
|
} from "./chunk-FH7WODJH.js";
|
|
10
10
|
import {
|
|
11
|
-
gotoWhenSent,
|
|
12
11
|
launchManagedBrowser,
|
|
13
12
|
resolveManagedGpuMode,
|
|
14
13
|
rethrowAfterBrowserCleanup
|
|
15
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KN46TGHV.js";
|
|
15
|
+
import {
|
|
16
|
+
gotoWhenSent
|
|
17
|
+
} from "./chunk-MOEGCMKI.js";
|
|
16
18
|
import {
|
|
17
19
|
pageNavigationTimeoutMs,
|
|
18
20
|
windowsChromeCrashRemediation
|
|
19
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ES426XRJ.js";
|
|
20
22
|
import {
|
|
21
23
|
oneProcessOverPipe
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DKPNNYBZ.js";
|
|
23
25
|
import {
|
|
24
26
|
resolveLocalBrowserGpuMode,
|
|
25
27
|
resolveLocalWebGpu
|
|
26
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-UNNXFKVG.js";
|
|
27
29
|
import {
|
|
28
30
|
c
|
|
29
31
|
} from "./chunk-ZTZA4UWZ.js";
|
|
30
32
|
import {
|
|
31
33
|
assertWebGpuAdapterAvailable,
|
|
32
34
|
compositionRequiresWebGpu
|
|
33
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-RGXVEYHI.js";
|
|
34
36
|
import {
|
|
35
37
|
normalizeErrorMessage
|
|
36
38
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -135,15 +137,24 @@ async function waitForCompositionSettle(page, options) {
|
|
|
135
137
|
}).catch(() => {
|
|
136
138
|
console.warn(` ${c.warn("\u26A0")} Shader transitions did not finish pre-rendering`);
|
|
137
139
|
});
|
|
138
|
-
await waitForLateSubresources(page);
|
|
140
|
+
await waitForLateSubresources(page, options.lateSubresourceTimeoutMs ?? CAPTURE_SETTLE_MS);
|
|
141
|
+
const { resolveConfig, waitForImagesReady } = await import("./src-4UYM2K3S.js");
|
|
142
|
+
const imageTimeoutMs = resolveConfig().playerReadyTimeout;
|
|
143
|
+
await waitForImagesReady(
|
|
144
|
+
page,
|
|
145
|
+
imageTimeoutMs,
|
|
146
|
+
(sources) => console.warn(
|
|
147
|
+
` ${c.warn("\u26A0")} Some images did not load within ${imageTimeoutMs}ms: ${sources}. They may show blank.`
|
|
148
|
+
)
|
|
149
|
+
);
|
|
139
150
|
return runtimeReady;
|
|
140
151
|
}
|
|
141
|
-
async function waitForLateSubresources(page) {
|
|
152
|
+
async function waitForLateSubresources(page, timeoutMs) {
|
|
142
153
|
let cap;
|
|
143
|
-
const deadline = Date.now() +
|
|
154
|
+
const deadline = Date.now() + timeoutMs;
|
|
144
155
|
const ready = (async () => {
|
|
145
156
|
await page.waitForFunction(() => document.readyState === "complete", {
|
|
146
|
-
timeout:
|
|
157
|
+
timeout: timeoutMs
|
|
147
158
|
});
|
|
148
159
|
await page.waitForNetworkIdle({
|
|
149
160
|
idleTime: NETWORK_IDLE_MS,
|
|
@@ -159,7 +170,7 @@ async function waitForLateSubresources(page) {
|
|
|
159
170
|
await Promise.race([
|
|
160
171
|
ready,
|
|
161
172
|
new Promise((resolveCap) => {
|
|
162
|
-
cap = setTimeout(resolveCap,
|
|
173
|
+
cap = setTimeout(resolveCap, timeoutMs);
|
|
163
174
|
})
|
|
164
175
|
]);
|
|
165
176
|
} catch {
|
|
@@ -176,7 +187,7 @@ async function installPageFunctionGuard(page) {
|
|
|
176
187
|
async function openSettledCompositionPage(html, url, options) {
|
|
177
188
|
const viewport = resolveCompositionViewportFromHtml(html);
|
|
178
189
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
179
|
-
const answer = (await import("./staticProjectServer-
|
|
190
|
+
const answer = (await import("./staticProjectServer-ERDTFP45.js")).inProcessAnswer(url);
|
|
180
191
|
const noListen = answer !== void 0;
|
|
181
192
|
let chromeBrowser;
|
|
182
193
|
try {
|
|
@@ -200,10 +211,10 @@ async function openSettledCompositionPage(html, url, options) {
|
|
|
200
211
|
}
|
|
201
212
|
async function launchCompositionBrowser(html, noListen, options) {
|
|
202
213
|
const viewport = resolveCompositionViewportFromHtml(html);
|
|
203
|
-
const { ensureBrowser, findSystemBrowser } = await import("./manager-
|
|
214
|
+
const { ensureBrowser, findSystemBrowser } = await import("./manager-UHWEKPXC.js");
|
|
204
215
|
const browser = await ensureBrowser({ signal: options.signal });
|
|
205
216
|
const puppeteer = await import("puppeteer-core");
|
|
206
|
-
const { buildChromeArgs } = await import("./src-
|
|
217
|
+
const { buildChromeArgs } = await import("./src-4UYM2K3S.js");
|
|
207
218
|
const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
|
|
208
219
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
209
220
|
let softwareWebGpu = false;
|
|
@@ -11,41 +11,43 @@ import {
|
|
|
11
11
|
} from "./chunk-6JR2XUEE.js";
|
|
12
12
|
import {
|
|
13
13
|
readCompositionFps
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PSKEKWVU.js";
|
|
15
15
|
import {
|
|
16
16
|
HF_AUDIO_GROUP_ATTR,
|
|
17
17
|
extractAudioMetadata,
|
|
18
|
-
extractMediaMetadata
|
|
19
|
-
|
|
20
|
-
resolveReferencedStart
|
|
21
|
-
} from "./chunk-YPBIAONI.js";
|
|
18
|
+
extractMediaMetadata
|
|
19
|
+
} from "./chunk-RGXVEYHI.js";
|
|
22
20
|
import {
|
|
23
21
|
byStart,
|
|
24
|
-
compositionOriginSeconds,
|
|
25
|
-
cutToHostSlots,
|
|
26
22
|
fpsToNumber,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
resolveMediaStartSeconds
|
|
30
|
-
} from "./chunk-LBQFLUIY.js";
|
|
23
|
+
parseFpsWithDefault
|
|
24
|
+
} from "./chunk-J3QM7AHP.js";
|
|
31
25
|
import {
|
|
32
26
|
HF_AUDIO_AUTOMATION_ATTR,
|
|
33
27
|
HF_AUDIO_FX_ATTR,
|
|
34
28
|
parseAudioFxChain,
|
|
35
29
|
parseAutomation,
|
|
36
30
|
resolveAutomation
|
|
37
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-R2SQBPMH.js";
|
|
38
32
|
import {
|
|
39
33
|
isSubCompositionHost,
|
|
40
34
|
topLevelElements,
|
|
41
35
|
trackKindOf
|
|
42
36
|
} from "./chunk-YMS5FOMC.js";
|
|
37
|
+
import {
|
|
38
|
+
resolveReferencedDuration,
|
|
39
|
+
resolveReferencedStart
|
|
40
|
+
} from "./chunk-ADDHW2FS.js";
|
|
43
41
|
import {
|
|
44
42
|
resolveAuthoredAssetFile
|
|
45
43
|
} from "./chunk-6BNTGNGD.js";
|
|
46
44
|
import {
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
compositionOriginSeconds,
|
|
46
|
+
cutToHostSlots,
|
|
47
|
+
hostInPointSeconds,
|
|
48
|
+
parseNumeric,
|
|
49
|
+
resolveMediaStartSeconds
|
|
50
|
+
} from "./chunk-MMQ52NIZ.js";
|
|
49
51
|
import {
|
|
50
52
|
readMediaOffsetSeconds,
|
|
51
53
|
readPlaybackRate,
|