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
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
auditClipDurations,
|
|
9
9
|
shouldIgnoreHttpError,
|
|
10
10
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZDOWJ3NS.js";
|
|
12
12
|
import {
|
|
13
13
|
checkSnapshotDirectory,
|
|
14
14
|
rectToBbox
|
|
@@ -16,38 +16,40 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
ambiguousIssue,
|
|
18
18
|
loadBrowserScript
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XDK2FUAC.js";
|
|
20
20
|
import "./chunk-X7MTZ4T2.js";
|
|
21
21
|
import {
|
|
22
22
|
AUDIT_SEEK_OPTIONS,
|
|
23
23
|
DEFAULT_ZOOM_PADDING_PX,
|
|
24
24
|
DEFAULT_ZOOM_SCALE,
|
|
25
25
|
DENSE_GEOMETRY_SEEK_OPTIONS,
|
|
26
|
+
SCREENSHOT_SEEK_OPTIONS,
|
|
26
27
|
captureRegionCrop,
|
|
27
28
|
openSettledCompositionPage,
|
|
28
29
|
padCropRegion,
|
|
29
30
|
resolveCliChromeGpuMode,
|
|
30
31
|
seekCompositionTimeline,
|
|
32
|
+
seekInPage,
|
|
31
33
|
waitForPreferredSeekTarget
|
|
32
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-KHR4IJAW.js";
|
|
35
|
+
import "./chunk-FH7WODJH.js";
|
|
33
36
|
import {
|
|
34
37
|
BrowserCleanupError,
|
|
35
38
|
closeManagedBrowser
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-V2D4QZBC.js";
|
|
39
|
+
} from "./chunk-XRRDVRCY.js";
|
|
40
|
+
import "./chunk-RAZVWSU5.js";
|
|
39
41
|
import "./chunk-BRHI7EIA.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-DQY6WTF7.js";
|
|
43
|
+
import "./chunk-7E4YFL4U.js";
|
|
42
44
|
import "./chunk-K2FLNJVB.js";
|
|
43
45
|
import {
|
|
44
46
|
serveStaticProjectHtml
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-OUMYTLPP.js";
|
|
46
48
|
import "./chunk-X7MTZ4T2.js";
|
|
47
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-J53AJK3Q.js";
|
|
48
50
|
import "./chunk-XUHOIDKG.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-3Q4Y33FT.js";
|
|
52
|
+
import "./chunk-TNDNFZOK.js";
|
|
51
53
|
import "./chunk-6JR2XUEE.js";
|
|
52
54
|
import "./chunk-C6TPGUWD.js";
|
|
53
55
|
import {
|
|
@@ -56,30 +58,30 @@ import {
|
|
|
56
58
|
proxyVariantFor,
|
|
57
59
|
resolveProxies,
|
|
58
60
|
scanProjectMediaCodecMap
|
|
59
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-QWCXGTOH.js";
|
|
60
62
|
import "./chunk-GMJ3ILLW.js";
|
|
61
63
|
import "./chunk-FFDC5OWV.js";
|
|
62
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-V7T7WA2K.js";
|
|
63
65
|
import "./chunk-442JNXRM.js";
|
|
64
66
|
import "./chunk-RGHQID2E.js";
|
|
65
67
|
import {
|
|
66
68
|
resolveAutoProxy
|
|
67
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-LZT3NUTE.js";
|
|
68
70
|
import "./chunk-XT7X6QCP.js";
|
|
69
71
|
import "./chunk-4YYJOFKS.js";
|
|
70
72
|
import "./chunk-HVW7ABXD.js";
|
|
71
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-42T7OP4O.js";
|
|
72
74
|
import "./chunk-JHOCK3DG.js";
|
|
73
|
-
import "./chunk-
|
|
74
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-NWEER3QY.js";
|
|
76
|
+
import "./chunk-OYEDHVSI.js";
|
|
75
77
|
import "./chunk-AWDFDFI3.js";
|
|
76
78
|
import "./chunk-P6LJ4Y32.js";
|
|
77
79
|
import "./chunk-GMECXFAN.js";
|
|
78
80
|
import "./chunk-5CS4T6C6.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
81
|
+
import "./chunk-PBKOURSI.js";
|
|
82
|
+
import "./chunk-W5USVP6Z.js";
|
|
81
83
|
import "./chunk-VWG7OQKU.js";
|
|
82
|
-
import "./chunk-
|
|
84
|
+
import "./chunk-T6AGUTZJ.js";
|
|
83
85
|
import "./chunk-S3S4TGEH.js";
|
|
84
86
|
import "./chunk-54HJ63Q2.js";
|
|
85
87
|
import "./chunk-PBN6GBJE.js";
|
|
@@ -87,21 +89,19 @@ import "./chunk-ZTZA4UWZ.js";
|
|
|
87
89
|
import "./chunk-KLIKCX6Q.js";
|
|
88
90
|
import "./chunk-EOOEC32M.js";
|
|
89
91
|
import "./chunk-7FMUTGOH.js";
|
|
90
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-YMU42UU2.js";
|
|
91
93
|
import "./chunk-K4WIOZFP.js";
|
|
92
94
|
import "./chunk-XUXGIA7H.js";
|
|
93
95
|
import "./chunk-WERLJGIC.js";
|
|
94
96
|
import "./chunk-ISN5GRYI.js";
|
|
95
|
-
import "./chunk-
|
|
97
|
+
import "./chunk-NELZN7SV.js";
|
|
96
98
|
import "./chunk-EOVYQ3IG.js";
|
|
97
99
|
import "./chunk-XT6MXC7A.js";
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-
|
|
102
|
-
import "./chunk-
|
|
103
|
-
import "./chunk-U7EGMXQR.js";
|
|
104
|
-
import "./chunk-7JDEZNBY.js";
|
|
100
|
+
import "./chunk-RERXOG54.js";
|
|
101
|
+
import "./chunk-JNL3RMDG.js";
|
|
102
|
+
import "./chunk-W2LGJSEN.js";
|
|
103
|
+
import "./chunk-VEQ7DKPG.js";
|
|
104
|
+
import "./chunk-EEXE43II.js";
|
|
105
105
|
import "./chunk-VC76R6W2.js";
|
|
106
106
|
import "./chunk-UJKQWGFF.js";
|
|
107
107
|
import "./chunk-YMS5FOMC.js";
|
|
@@ -111,11 +111,11 @@ import "./chunk-T76PLPD6.js";
|
|
|
111
111
|
import "./chunk-FXMKHHPO.js";
|
|
112
112
|
import "./chunk-RQVDTPGD.js";
|
|
113
113
|
import "./chunk-TWWSYAKJ.js";
|
|
114
|
-
import "./chunk-
|
|
114
|
+
import "./chunk-GK2FIKIQ.js";
|
|
115
115
|
import "./chunk-6BNTGNGD.js";
|
|
116
|
-
import "./chunk-OYLO6TYK.js";
|
|
117
116
|
import "./chunk-VAS6HQX3.js";
|
|
118
|
-
import "./chunk-
|
|
117
|
+
import "./chunk-OYLO6TYK.js";
|
|
118
|
+
import "./chunk-32GKETR7.js";
|
|
119
119
|
import "./chunk-BSQ7XANM.js";
|
|
120
120
|
import "./chunk-SDYDNHEE.js";
|
|
121
121
|
import "./chunk-TYXH3EKP.js";
|
|
@@ -296,7 +296,7 @@ function proxyFailedDraft(message) {
|
|
|
296
296
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
297
297
|
}
|
|
298
298
|
async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
299
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
299
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
|
|
300
300
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
301
301
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
302
302
|
project.dir,
|
|
@@ -310,7 +310,16 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
|
310
310
|
[],
|
|
311
311
|
options.autoProxy
|
|
312
312
|
);
|
|
313
|
-
let
|
|
313
|
+
let stamp = { time: 0 };
|
|
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
|
+
};
|
|
314
323
|
let failure = { kind: "none" };
|
|
315
324
|
let chromeBrowser;
|
|
316
325
|
try {
|
|
@@ -324,7 +333,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
|
324
333
|
onBrowser: deadline?.ownBrowser,
|
|
325
334
|
onBrowserReady: deadline?.start,
|
|
326
335
|
beforeNavigate: async (page2) => {
|
|
327
|
-
wireRuntimeListeners(page2, drafts,
|
|
336
|
+
wireRuntimeListeners(page2, drafts, clock);
|
|
328
337
|
await deadline?.preparePage(page2);
|
|
329
338
|
}
|
|
330
339
|
});
|
|
@@ -333,7 +342,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
|
333
342
|
await waitForPreferredSeekTarget(page);
|
|
334
343
|
const rootAnchor = await resolveRootAnchor(page);
|
|
335
344
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
336
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
345
|
+
const { analyzeClipMediaFit } = await import("./src-4COYCAFY.js");
|
|
337
346
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
338
347
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
339
348
|
}
|
|
@@ -341,9 +350,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
|
341
350
|
const message = tweenTailMessage(tail);
|
|
342
351
|
drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
|
|
343
352
|
}
|
|
344
|
-
const driver = createPageDriver(page,
|
|
345
|
-
currentTime = time;
|
|
346
|
-
});
|
|
353
|
+
const driver = createPageDriver(page, clock);
|
|
347
354
|
const result = await runGrid(driver, options, motion);
|
|
348
355
|
const broken = await abortedImagesStillBroken(page, drafts);
|
|
349
356
|
return {
|
|
@@ -363,7 +370,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
|
363
370
|
}
|
|
364
371
|
async function captureFindingCrops(project, options, requests, deadline) {
|
|
365
372
|
if (requests.length === 0) return [];
|
|
366
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
373
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-32N7TVM6.js");
|
|
367
374
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
368
375
|
const server = await serveStaticProjectHtml(
|
|
369
376
|
project.dir,
|
|
@@ -392,7 +399,7 @@ async function captureFindingCrops(project, options, requests, deadline) {
|
|
|
392
399
|
const snapshotDir = checkSnapshotDirectory(project.dir);
|
|
393
400
|
mkdirSync(snapshotDir, { recursive: true });
|
|
394
401
|
for (const request of requests) {
|
|
395
|
-
await seekCompositionTimeline(page, request.time,
|
|
402
|
+
await seekCompositionTimeline(page, request.time, SCREENSHOT_SEEK_OPTIONS);
|
|
396
403
|
const canvas = await page.evaluate(() => ({
|
|
397
404
|
width: window.innerWidth,
|
|
398
405
|
height: window.innerHeight
|
|
@@ -446,7 +453,8 @@ function runtimeInfoFindingCode(text) {
|
|
|
446
453
|
if (!text.startsWith(MEDIA_PROXY_MARKER_PREFIX)) return null;
|
|
447
454
|
return text.includes(MEDIA_PROXY_UNAVAILABLE_MARKER) ? "media_proxy_unavailable" : "media_proxy_fallback";
|
|
448
455
|
}
|
|
449
|
-
function wireRuntimeListeners(page, drafts,
|
|
456
|
+
function wireRuntimeListeners(page, drafts, clock) {
|
|
457
|
+
followSampleTimeMarkers(page, clock.at);
|
|
450
458
|
page.on("console", (message) => {
|
|
451
459
|
const type = message.type();
|
|
452
460
|
const text = message.text();
|
|
@@ -456,7 +464,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
|
|
|
456
464
|
code: "console_error",
|
|
457
465
|
severity: "error",
|
|
458
466
|
message: text,
|
|
459
|
-
|
|
467
|
+
...clock.now(),
|
|
460
468
|
url: location.url,
|
|
461
469
|
line: location.lineNumber
|
|
462
470
|
});
|
|
@@ -467,7 +475,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
|
|
|
467
475
|
code: webGpuFailure ? "webgpu_runtime_error" : "console_warning",
|
|
468
476
|
severity: webGpuFailure ? "error" : "warning",
|
|
469
477
|
message: text,
|
|
470
|
-
|
|
478
|
+
...clock.now(),
|
|
471
479
|
url: location.url,
|
|
472
480
|
line: location.lineNumber
|
|
473
481
|
});
|
|
@@ -479,7 +487,7 @@ function wireRuntimeListeners(page, drafts, currentTime) {
|
|
|
479
487
|
code,
|
|
480
488
|
severity: "info",
|
|
481
489
|
message: text,
|
|
482
|
-
|
|
490
|
+
...clock.now(),
|
|
483
491
|
url: location.url,
|
|
484
492
|
line: location.lineNumber
|
|
485
493
|
});
|
|
@@ -494,10 +502,10 @@ function wireRuntimeListeners(page, drafts, currentTime) {
|
|
|
494
502
|
code: "page_error",
|
|
495
503
|
severity: "error",
|
|
496
504
|
message,
|
|
497
|
-
|
|
505
|
+
...clock.now()
|
|
498
506
|
});
|
|
499
507
|
});
|
|
500
|
-
wireNetworkListeners(page, drafts,
|
|
508
|
+
wireNetworkListeners(page, drafts, clock);
|
|
501
509
|
}
|
|
502
510
|
function keepBrokenImageAborts(drafts, broken) {
|
|
503
511
|
return drafts.filter((draft) => !draft.abortedImage || broken.has(draft.url ?? ""));
|
|
@@ -560,7 +568,7 @@ async function abortedImagesStillBroken(page, drafts) {
|
|
|
560
568
|
);
|
|
561
569
|
return new Set(broken);
|
|
562
570
|
}
|
|
563
|
-
function wireNetworkListeners(page, drafts,
|
|
571
|
+
function wireNetworkListeners(page, drafts, clock) {
|
|
564
572
|
page.on("requestfailed", (request) => {
|
|
565
573
|
const url = request.url();
|
|
566
574
|
if (url.includes("favicon") || url.startsWith("data:")) return;
|
|
@@ -570,7 +578,7 @@ function wireNetworkListeners(page, drafts, currentTime) {
|
|
|
570
578
|
code: "request_failed",
|
|
571
579
|
severity: "error",
|
|
572
580
|
message: `Failed to load ${urlPath(url)}: ${failure ?? "net::ERR_FAILED"}`,
|
|
573
|
-
|
|
581
|
+
...clock.now(),
|
|
574
582
|
url,
|
|
575
583
|
abortedImage: failure === "net::ERR_ABORTED" && request.resourceType() === "image"
|
|
576
584
|
});
|
|
@@ -584,12 +592,12 @@ function wireNetworkListeners(page, drafts, currentTime) {
|
|
|
584
592
|
code: "http_error",
|
|
585
593
|
severity: "error",
|
|
586
594
|
message: `${response.status()} loading ${urlPath(url)}`,
|
|
587
|
-
|
|
595
|
+
...clock.now(),
|
|
588
596
|
url
|
|
589
597
|
});
|
|
590
598
|
});
|
|
591
599
|
}
|
|
592
|
-
function createPageDriver(page,
|
|
600
|
+
function createPageDriver(page, clock) {
|
|
593
601
|
return {
|
|
594
602
|
initialize: (contrast) => injectAuditScripts(page, contrast),
|
|
595
603
|
matchComponents: (components, findings) => page.evaluate(matchComponentFindings, { components, findings }),
|
|
@@ -599,16 +607,25 @@ function createPageDriver(page, setTime) {
|
|
|
599
607
|
getClipEdges: () => collectClipEdges(page),
|
|
600
608
|
getCanvas: () => page.evaluate(() => ({ width: window.innerWidth, height: window.innerHeight })),
|
|
601
609
|
findAmbiguousSelectors: (selectors) => findAmbiguousSelectors(page, selectors),
|
|
602
|
-
seek: async (time) => {
|
|
603
|
-
|
|
604
|
-
await seekCompositionTimeline(
|
|
610
|
+
seek: async (time, screenshotFollows) => {
|
|
611
|
+
clock.at(time);
|
|
612
|
+
await seekCompositionTimeline(
|
|
613
|
+
page,
|
|
614
|
+
time,
|
|
615
|
+
screenshotFollows ? SCREENSHOT_SEEK_OPTIONS : AUDIT_SEEK_OPTIONS
|
|
616
|
+
);
|
|
605
617
|
},
|
|
606
618
|
seekGeometry: async (time) => {
|
|
607
|
-
|
|
619
|
+
clock.at(time);
|
|
608
620
|
await seekCompositionTimeline(page, time, DENSE_GEOMETRY_SEEK_OPTIONS);
|
|
609
621
|
},
|
|
610
622
|
collectLayout: (time, tolerance, layout) => collectLayout(page, time, tolerance, layout),
|
|
611
623
|
collectOverlap: (time) => collectOverlap(page, time),
|
|
624
|
+
collectOverlapGrid: async (times) => {
|
|
625
|
+
const issues = await collectOverlapGrid(page, times);
|
|
626
|
+
if (times.length > 0) clock.during([times[0] ?? 0, times.at(-1) ?? 0]);
|
|
627
|
+
return issues;
|
|
628
|
+
},
|
|
612
629
|
collectLayoutGeometry: () => collectLayoutGeometry(page),
|
|
613
630
|
collectSeekClock: () => collectSeekClock(page),
|
|
614
631
|
collectRotationSample: (time) => collectRotationSample(page, time),
|
|
@@ -734,6 +751,60 @@ async function collectOverlap(page, time) {
|
|
|
734
751
|
);
|
|
735
752
|
return anchorLayoutIssues(page, raw.flatMap(parseLayoutIssue));
|
|
736
753
|
}
|
|
754
|
+
var SAMPLE_TIME_MARKER = "__hfCheckSample ";
|
|
755
|
+
function followSampleTimeMarkers(page, setTime) {
|
|
756
|
+
page.on("console", (message) => {
|
|
757
|
+
const text = message.text();
|
|
758
|
+
if (message.type() === "debug" && text.startsWith(SAMPLE_TIME_MARKER)) {
|
|
759
|
+
setTime(Number(text.slice(SAMPLE_TIME_MARKER.length)));
|
|
760
|
+
}
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
async function overlapGridInPage(grid, seek, anchors) {
|
|
764
|
+
const audit = Reflect.get(window, "__hyperframesOverlapAudit");
|
|
765
|
+
const waitForCompletion = Reflect.get(window, "__hfWaitForSeekCompletion");
|
|
766
|
+
const samples = [];
|
|
767
|
+
for (const time of grid.times) {
|
|
768
|
+
console.debug(`${grid.marker}${time}`);
|
|
769
|
+
seek(time, grid.fallback, false, grid.skipDraws);
|
|
770
|
+
if (typeof waitForCompletion === "function") {
|
|
771
|
+
await Reflect.apply(waitForCompletion, window, [{ videoFrames: grid.videoFrames }]);
|
|
772
|
+
}
|
|
773
|
+
const result = typeof audit === "function" ? Reflect.apply(audit, window, [{ time }]) : [];
|
|
774
|
+
const raw = Array.isArray(result) ? result : [];
|
|
775
|
+
const zero = { x: 0, y: 0, width: 0, height: 0 };
|
|
776
|
+
const requests = raw.map((issue) => ({
|
|
777
|
+
selector: String(Reflect.get(Object(issue), "selector")),
|
|
778
|
+
time,
|
|
779
|
+
bbox: zero
|
|
780
|
+
}));
|
|
781
|
+
samples.push({ raw, anchors: anchors(requests) });
|
|
782
|
+
}
|
|
783
|
+
return samples;
|
|
784
|
+
}
|
|
785
|
+
async function collectOverlapGrid(page, times) {
|
|
786
|
+
if (times.length === 0) return [];
|
|
787
|
+
const grid = {
|
|
788
|
+
times,
|
|
789
|
+
marker: SAMPLE_TIME_MARKER,
|
|
790
|
+
fallback: DENSE_GEOMETRY_SEEK_OPTIONS.fallbackToBridgeAndTimelines,
|
|
791
|
+
skipDraws: DENSE_GEOMETRY_SEEK_OPTIONS.skipWebglDraws,
|
|
792
|
+
videoFrames: DENSE_GEOMETRY_SEEK_OPTIONS.waitForVideoFrames
|
|
793
|
+
};
|
|
794
|
+
const samples = await page.evaluate(
|
|
795
|
+
`(${overlapGridInPage})(${JSON.stringify(grid)}, ${seekInPage}, ${anchorsInPage})`
|
|
796
|
+
);
|
|
797
|
+
return samples.map(
|
|
798
|
+
({ raw, anchors }) => raw.flatMap(
|
|
799
|
+
(value, index) => parseLayoutIssue(value).map((issue) => ({
|
|
800
|
+
...issue,
|
|
801
|
+
...anchors[index] ?? fallbackAnchor(void 0),
|
|
802
|
+
bbox: rectToBbox(issue.rect),
|
|
803
|
+
time: issue.time
|
|
804
|
+
}))
|
|
805
|
+
)
|
|
806
|
+
);
|
|
807
|
+
}
|
|
737
808
|
async function collectLayoutGeometry(page) {
|
|
738
809
|
return page.evaluate(() => {
|
|
739
810
|
const geometry = Reflect.get(window, "__hyperframesLayoutGeometry");
|
|
@@ -900,30 +971,31 @@ async function anchorLayoutIssues(page, issues) {
|
|
|
900
971
|
}
|
|
901
972
|
async function resolveAnchors(page, requests) {
|
|
902
973
|
if (requests.length === 0) return [];
|
|
903
|
-
return page.evaluate(
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
element
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
974
|
+
return page.evaluate(anchorsInPage, requests);
|
|
975
|
+
}
|
|
976
|
+
function anchorsInPage(values) {
|
|
977
|
+
const root = document.querySelector("[data-composition-id]");
|
|
978
|
+
return values.map((request) => {
|
|
979
|
+
let element = null;
|
|
980
|
+
try {
|
|
981
|
+
element = document.querySelector(request.selector);
|
|
982
|
+
} catch {
|
|
983
|
+
element = null;
|
|
984
|
+
}
|
|
985
|
+
element ??= root;
|
|
986
|
+
const dataAttributes = {};
|
|
987
|
+
for (const attribute of Array.from(element?.attributes ?? [])) {
|
|
988
|
+
if (attribute.name.startsWith("data-")) dataAttributes[attribute.name] = attribute.value;
|
|
989
|
+
}
|
|
990
|
+
const source = element?.closest("[data-composition-file]")?.getAttribute("data-composition-file");
|
|
991
|
+
return {
|
|
992
|
+
selector: element ? request.selector : "[data-composition-id]",
|
|
993
|
+
dataAttributes,
|
|
994
|
+
sourceFile: source || "index.html",
|
|
995
|
+
bbox: request.bbox,
|
|
996
|
+
time: request.time
|
|
997
|
+
};
|
|
998
|
+
});
|
|
927
999
|
}
|
|
928
1000
|
async function resolveRootAnchor(page) {
|
|
929
1001
|
const anchors = await resolveAnchors(page, [
|
|
@@ -938,29 +1010,34 @@ async function compositionBbox(page) {
|
|
|
938
1010
|
return rect ? { x: rect.x, y: rect.y, width: rect.width, height: rect.height } : { x: 0, y: 0, width: 0, height: 0 };
|
|
939
1011
|
});
|
|
940
1012
|
}
|
|
941
|
-
async function collectContrast(page, time,
|
|
1013
|
+
async function collectContrast(page, time, snapshotAnnotations) {
|
|
942
1014
|
let prepared = [];
|
|
943
1015
|
try {
|
|
944
1016
|
prepared = parsePreparedContrast(await prepareContrast(page, time));
|
|
1017
|
+
if (prepared.length === 0 && !snapshotAnnotations) return { entries: [] };
|
|
1018
|
+
const region = textRegion(prepared, page.viewport());
|
|
945
1019
|
const measurementShot = await page.screenshot({
|
|
946
1020
|
encoding: "base64",
|
|
947
1021
|
type: "png",
|
|
948
|
-
omitBackground: true
|
|
1022
|
+
omitBackground: true,
|
|
1023
|
+
...region ? { clip: region.clip, captureBeyondViewport: false } : {}
|
|
949
1024
|
});
|
|
950
1025
|
if (typeof measurementShot !== "string") throw new Error("Contrast screenshot was not base64");
|
|
951
1026
|
const raw = await finishContrast(
|
|
952
1027
|
page,
|
|
953
1028
|
measurementShot,
|
|
954
1029
|
time,
|
|
955
|
-
prepared.map((entry) => entry.raw)
|
|
1030
|
+
prepared.map((entry) => entry.raw),
|
|
1031
|
+
region
|
|
956
1032
|
);
|
|
957
1033
|
const finished = raw.flatMap(parseFinishedContrast);
|
|
958
1034
|
const entries = joinContrastEntries(finished, prepared);
|
|
1035
|
+
if (!snapshotAnnotations) return { entries };
|
|
959
1036
|
const overviewShot = await page.screenshot({ encoding: "base64", type: "png" });
|
|
960
1037
|
if (typeof overviewShot !== "string") throw new Error("Overview screenshot was not base64");
|
|
961
1038
|
const annotations = [
|
|
962
|
-
...
|
|
963
|
-
...contrastFailureAnnotations(entries,
|
|
1039
|
+
...snapshotAnnotations,
|
|
1040
|
+
...contrastFailureAnnotations(entries, snapshotAnnotations.length)
|
|
964
1041
|
];
|
|
965
1042
|
const pngBase64 = await captureOverviewShot(page, annotations, overviewShot);
|
|
966
1043
|
return { entries, pngBase64 };
|
|
@@ -1065,7 +1142,22 @@ async function prepareContrast(page, time) {
|
|
|
1065
1142
|
});
|
|
1066
1143
|
}, time);
|
|
1067
1144
|
}
|
|
1068
|
-
|
|
1145
|
+
function textRegion(prepared, viewport) {
|
|
1146
|
+
if (!viewport || (viewport.deviceScaleFactor ?? 1) !== 1 || prepared.length === 0)
|
|
1147
|
+
return void 0;
|
|
1148
|
+
const boxes = prepared.map((entry) => entry.candidate.bbox);
|
|
1149
|
+
const x = Math.max(0, Math.floor(Math.min(...boxes.map((box) => box.x))));
|
|
1150
|
+
const y = Math.max(0, Math.floor(Math.min(...boxes.map((box) => box.y))));
|
|
1151
|
+
const right = Math.min(viewport.width, Math.ceil(Math.max(...boxes.map((b) => b.x + b.width))));
|
|
1152
|
+
const bottom = Math.min(
|
|
1153
|
+
viewport.height,
|
|
1154
|
+
Math.ceil(Math.max(...boxes.map((b) => b.y + b.height)))
|
|
1155
|
+
);
|
|
1156
|
+
if (right <= x || bottom <= y) return void 0;
|
|
1157
|
+
const clip = { x, y, width: right - x, height: bottom - y };
|
|
1158
|
+
return { clip, frameWidth: viewport.width, frameHeight: viewport.height };
|
|
1159
|
+
}
|
|
1160
|
+
async function finishContrast(page, screenshot, time, candidates, region) {
|
|
1069
1161
|
return page.evaluate(
|
|
1070
1162
|
async (payload) => {
|
|
1071
1163
|
const finish = Reflect.get(window, "__contrastAuditFinish");
|
|
@@ -1073,11 +1165,12 @@ async function finishContrast(page, screenshot, time, candidates) {
|
|
|
1073
1165
|
const result = await Reflect.apply(finish, window, [
|
|
1074
1166
|
payload.screenshot,
|
|
1075
1167
|
payload.time,
|
|
1076
|
-
payload.candidates
|
|
1168
|
+
payload.candidates,
|
|
1169
|
+
payload.region
|
|
1077
1170
|
]);
|
|
1078
1171
|
return Array.isArray(result) ? result : [];
|
|
1079
1172
|
},
|
|
1080
|
-
{ screenshot, time, candidates }
|
|
1173
|
+
{ screenshot, time, candidates, region: region ?? null }
|
|
1081
1174
|
);
|
|
1082
1175
|
}
|
|
1083
1176
|
function parsePreparedContrast(raw) {
|
|
@@ -1225,6 +1318,7 @@ function runtimeFinding(draft, root) {
|
|
|
1225
1318
|
sourceFile: root.sourceFile,
|
|
1226
1319
|
bbox: root.bbox,
|
|
1227
1320
|
time: draft.time,
|
|
1321
|
+
...draft.timeRange ? { timeRange: draft.timeRange } : {},
|
|
1228
1322
|
url: draft.url,
|
|
1229
1323
|
line: draft.line
|
|
1230
1324
|
};
|
|
@@ -343,6 +343,7 @@ var COLOR_GRADING_CONTRACT_VERSION = 2;
|
|
|
343
343
|
var COLOR_GRADING_COLOR_SPACE = "rec709";
|
|
344
344
|
var COLOR_GRADING_MAX_CURVE_POINTS = 16;
|
|
345
345
|
var COLOR_GRADING_MAX_SECONDARIES = 4;
|
|
346
|
+
var COLOR_GRADING_SOURCE_TAGS = ["video", "img", "canvas"];
|
|
346
347
|
var COLOR_GRADING_ADVANCED_LIMITS = {
|
|
347
348
|
hueDegrees: { min: 0, max: 360, inclusiveMax: false },
|
|
348
349
|
unit: { min: 0, max: 1 },
|
|
@@ -829,6 +830,21 @@ function validateColorGradingContract(value) {
|
|
|
829
830
|
return issues;
|
|
830
831
|
}
|
|
831
832
|
|
|
833
|
+
// ../parsers/dist/timeSpans.js
|
|
834
|
+
var instantTolerance = (time) => 4 * Number.EPSILON * Math.max(1, Math.abs(time));
|
|
835
|
+
function sameInstant(a, b) {
|
|
836
|
+
if (!Number.isFinite(a) || !Number.isFinite(b)) return a === b;
|
|
837
|
+
return Math.abs(a - b) <= instantTolerance(Math.max(Math.abs(a), Math.abs(b)));
|
|
838
|
+
}
|
|
839
|
+
var isBefore = (a, b) => a < b && !sameInstant(a, b);
|
|
840
|
+
function spansOverlap(aStart, aEnd, bStart, bEnd) {
|
|
841
|
+
return isBefore(aStart, bEnd) && isBefore(bStart, aEnd);
|
|
842
|
+
}
|
|
843
|
+
function spansShareTime(aStart, aEnd, bStart, bEnd) {
|
|
844
|
+
return isBefore(Math.max(aStart, bStart), Math.min(aEnd, bEnd));
|
|
845
|
+
}
|
|
846
|
+
var isInsideSpan = (time, start, end) => isBefore(start, time) && isBefore(time, end);
|
|
847
|
+
|
|
832
848
|
export {
|
|
833
849
|
COMPOSITION_CONTRACT_VERSION,
|
|
834
850
|
COMPOSITION_ATTRIBUTES,
|
|
@@ -846,6 +862,7 @@ export {
|
|
|
846
862
|
COLOR_GRADING_COLOR_SPACE,
|
|
847
863
|
COLOR_GRADING_MAX_CURVE_POINTS,
|
|
848
864
|
COLOR_GRADING_MAX_SECONDARIES,
|
|
865
|
+
COLOR_GRADING_SOURCE_TAGS,
|
|
849
866
|
COLOR_GRADING_ADVANCED_LIMITS,
|
|
850
867
|
COLOR_GRADING_TOP_LEVEL_KEYS,
|
|
851
868
|
COLOR_GRADING_ADJUST_KEYS,
|
|
@@ -857,5 +874,9 @@ export {
|
|
|
857
874
|
COLOR_GRADING_EFFECT_KEYS,
|
|
858
875
|
COLOR_GRADING_LUT_KEYS,
|
|
859
876
|
isColorGradingVariableRef,
|
|
860
|
-
validateColorGradingContract
|
|
877
|
+
validateColorGradingContract,
|
|
878
|
+
sameInstant,
|
|
879
|
+
spansOverlap,
|
|
880
|
+
spansShareTime,
|
|
881
|
+
isInsideSpan
|
|
861
882
|
};
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
splitElementInHtml,
|
|
20
20
|
unwrapElementsFromHtml,
|
|
21
21
|
wrapElementsInHtml
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-TNDNFZOK.js";
|
|
23
23
|
import {
|
|
24
24
|
MEDIA_LINK_ATTR,
|
|
25
25
|
relinkSplitHalves
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
scanProjectMediaCodecMap,
|
|
55
55
|
shouldPrewarmProxy,
|
|
56
56
|
waitForProxy
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-QWCXGTOH.js";
|
|
58
58
|
import {
|
|
59
59
|
HistoryBusyError,
|
|
60
60
|
MAX_WINDOW_IDLE_MS,
|
|
@@ -102,12 +102,10 @@ import {
|
|
|
102
102
|
replaceFileAtomically
|
|
103
103
|
} from "./chunk-EOVYQ3IG.js";
|
|
104
104
|
import {
|
|
105
|
-
addScenePartsManifest
|
|
106
|
-
} from "./chunk-OFFNB2SU.js";
|
|
107
|
-
import {
|
|
105
|
+
addScenePartsManifest,
|
|
108
106
|
ensureHfIds,
|
|
109
107
|
stampHfIdsInPlace
|
|
110
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-JNL3RMDG.js";
|
|
111
109
|
import {
|
|
112
110
|
PREVIEW_PROXY_BOX_PARAM,
|
|
113
111
|
formatPreviewProxyBox,
|
|
@@ -115,9 +113,8 @@ import {
|
|
|
115
113
|
gsapCdnDist,
|
|
116
114
|
motionPathPluginUrl,
|
|
117
115
|
parseFps,
|
|
118
|
-
parsePreviewProxyBox
|
|
119
|
-
|
|
120
|
-
} from "./chunk-U7EGMXQR.js";
|
|
116
|
+
parsePreviewProxyBox
|
|
117
|
+
} from "./chunk-VEQ7DKPG.js";
|
|
121
118
|
import {
|
|
122
119
|
AFTER_FONTS_SCRIPT_TYPE,
|
|
123
120
|
RUNTIME_BOOTSTRAP_ATTR,
|
|
@@ -131,7 +128,7 @@ import {
|
|
|
131
128
|
resolveRateSpec,
|
|
132
129
|
sourceTimeAt,
|
|
133
130
|
stripEmbeddedRuntimeScripts
|
|
134
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-EEXE43II.js";
|
|
135
132
|
import {
|
|
136
133
|
HTML_ATTRIBUTE_ENTITIES,
|
|
137
134
|
MagicString,
|
|
@@ -156,6 +153,9 @@ import {
|
|
|
156
153
|
FFPROBE_PATH_ENV,
|
|
157
154
|
findFfBinary
|
|
158
155
|
} from "./chunk-VAS6HQX3.js";
|
|
156
|
+
import {
|
|
157
|
+
sameInstant
|
|
158
|
+
} from "./chunk-32GKETR7.js";
|
|
159
159
|
import {
|
|
160
160
|
decodeCssEscapes,
|
|
161
161
|
decodeWellFormedEscapes,
|
|
@@ -5497,7 +5497,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
|
|
|
5497
5497
|
let block = extractGsapScriptBlock(html);
|
|
5498
5498
|
if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
|
|
5499
5499
|
const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
|
|
5500
|
-
const { GSAP_CDN } = await import("./dist-
|
|
5500
|
+
const { GSAP_CDN } = await import("./dist-U2HCECNB.js");
|
|
5501
5501
|
const bootstrap = [
|
|
5502
5502
|
`<script src="${GSAP_CDN}"></script>`,
|
|
5503
5503
|
"<script>",
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-G7I3WZK4.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
|
|
|
229
229
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
230
230
|
);
|
|
231
231
|
}
|
|
232
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
232
|
+
const { trackFigmaImport } = await import("./telemetry-BLOE3TWY.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
shouldTrack
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-W5USVP6Z.js";
|
|
10
10
|
|
|
11
11
|
// src/telemetry/renderObservability.ts
|
|
12
12
|
function renderObservabilityTelemetryPayload(observability) {
|