hyperframes 0.8.151 → 0.8.153
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-QKZZG7A2.js → add-D7GZM6ZS.js} +14 -14
- package/dist/{animatedGifPrep-YQDPYGOD.js → animatedGifPrep-IBLDIJXC.js} +9 -9
- package/dist/api.js +15 -15
- package/dist/{asset-3Q737Y4H.js → asset-ACZRQU2Z.js} +2 -2
- package/dist/{assetCataloger-BTHEBJJB.js → assetCataloger-Y3OELLLW.js} +4 -4
- package/dist/{auth-XL7EU3SO.js → auth-LFWML3XJ.js} +1 -1
- package/dist/{autoUpdate-PJFLTQ3U.js → autoUpdate-7IUGQXOV.js} +2 -2
- package/dist/{backgroundChecks-T5TIR5WK.js → backgroundChecks-XI364BNX.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-NFLVIDB4.js → batchRender-6TD4XSIP.js} +5 -5
- package/dist/{beats-JU4GZ26R.js → beats-FZGQ3HLR.js} +14 -14
- package/dist/{benchmark-7U2YWLTW.js → benchmark-3YEKSYMP.js} +10 -10
- package/dist/{browser-D57UPYDA.js → browser-R5PKLYZD.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-26MXQOZG.js → bundleWithLocalizedFonts-QX5HV7LC.js} +2 -2
- package/dist/{capture-LT252COQ.js → capture-MTHXUEC2.js} +19 -19
- package/dist/{capture-47BV25G3.js → capture-R7QSBEPW.js} +2 -2
- package/dist/{catalog-BEZXOV4O.js → catalog-K2TRGCXO.js} +14 -14
- package/dist/{catch-up-KVV5X6BF.js → catch-up-WCSN4K4A.js} +4 -4
- package/dist/{check-6KQ433E6.js → check-N4EFKWC3.js} +294 -66
- package/dist/{checkBrowser-PRDR6XBY.js → checkBrowser-73SOMDG3.js} +75 -45
- package/dist/{chunk-IZPN423R.js → chunk-2F6LWCSF.js} +11 -6
- package/dist/{chunk-TCWMDCBX.js → chunk-2X3UJ4Q3.js} +2 -2
- package/dist/{chunk-YZTVHRJ2.js → chunk-2XEBNYG5.js} +1 -1
- package/dist/chunk-3DMR7RF6.js +24 -0
- package/dist/{chunk-APDLWWFG.js → chunk-3VGU2SH7.js} +1 -1
- package/dist/{chunk-OZ4K46OV.js → chunk-4IRCZWND.js} +2 -2
- package/dist/{chunk-4PKQEKAI.js → chunk-4OVLWS2K.js} +2 -2
- package/dist/{chunk-DHPFXAUF.js → chunk-57GN6KWT.js} +17 -3
- package/dist/{chunk-374QQGBQ.js → chunk-5CS4T6C6.js} +63 -12
- package/dist/{chunk-FLVI7FHU.js → chunk-5DD45SJZ.js} +1 -1
- package/dist/{chunk-BRF3O35X.js → chunk-5FS4HCHN.js} +109 -31
- package/dist/{chunk-DIOBKUBV.js → chunk-5OKZRXLT.js} +2 -2
- package/dist/{chunk-POEEDPJI.js → chunk-5ZGSN5YK.js} +1 -1
- package/dist/{chunk-FJWEYVEM.js → chunk-7FYFEXD2.js} +658 -198
- package/dist/{chunk-L3N7RJHS.js → chunk-7NKLNOHW.js} +3 -3
- package/dist/{chunk-O3DUX6P2.js → chunk-AA67UBB2.js} +4 -4
- package/dist/{chunk-IZ7L6V76.js → chunk-AUK5QCRH.js} +1 -1
- package/dist/{chunk-YEBKEWKB.js → chunk-BD3XH4A7.js} +1 -1
- package/dist/{chunk-XXPYZBZ3.js → chunk-C6TPGUWD.js} +2 -2
- package/dist/{chunk-ZD3RDNZI.js → chunk-CBMZYOWC.js} +1 -1
- package/dist/{chunk-ZGCRVM5M.js → chunk-DAKXCEE3.js} +4 -4
- package/dist/{chunk-AIJS74LG.js → chunk-FFDC5OWV.js} +8 -2
- package/dist/{chunk-DMKI64EZ.js → chunk-FSZAFCU7.js} +1 -1
- package/dist/{chunk-OSAH7S5M.js → chunk-FZC4UM4G.js} +1 -1
- package/dist/{chunk-QBYHNRHU.js → chunk-GV7I3ZSQ.js} +2 -2
- package/dist/{chunk-N3I6RAOR.js → chunk-GXPD7J53.js} +11 -11
- package/dist/{chunk-N4IXP3MY.js → chunk-HGAOO43L.js} +3 -3
- package/dist/{chunk-QF7AE3DB.js → chunk-J5LEAKUA.js} +1 -1
- package/dist/{chunk-PUIELIFA.js → chunk-JBUIS5DN.js} +1 -1
- package/dist/{chunk-KXX6NLOT.js → chunk-JQ57FAYN.js} +1 -1
- package/dist/{chunk-RRBKEHST.js → chunk-KFBEMIMD.js} +54 -6
- package/dist/{chunk-RYL6ZIJP.js → chunk-OIONMNWN.js} +18 -11
- package/dist/{chunk-KQGWP4KH.js → chunk-OSASJLU4.js} +1 -1
- package/dist/{chunk-3ZPFRDEJ.js → chunk-PVGDU7SE.js} +4 -4
- package/dist/{chunk-XGLNQDLN.js → chunk-PXOFFSO3.js} +1 -1
- package/dist/{chunk-IP73NMQT.js → chunk-QBFHVMOI.js} +10 -10
- package/dist/{chunk-IPDS2SWI.js → chunk-R6WCSVCE.js} +1 -1
- package/dist/{chunk-XYHBVSWD.js → chunk-RCWSM7IQ.js} +2 -2
- package/dist/{chunk-4YZYYP7V.js → chunk-SUVIGBHS.js} +3 -3
- package/dist/{chunk-L6RIMCMG.js → chunk-T2Y2WC5I.js} +3 -3
- package/dist/{chunk-QLGBNGXC.js → chunk-TCJM3KF2.js} +2 -2
- package/dist/{chunk-XKKBIFE5.js → chunk-TQUTAWUR.js} +7 -7
- package/dist/{chunk-HVXRYMGQ.js → chunk-TXWPPBIW.js} +1 -1
- package/dist/{chunk-2PSPARWP.js → chunk-TYXH3EKP.js} +4 -0
- package/dist/{chunk-FMNVTKX2.js → chunk-U3BCDVZO.js} +1 -1
- package/dist/{chunk-RJRGR5KF.js → chunk-UNOALNYO.js} +9 -9
- package/dist/{chunk-3SVC7SW4.js → chunk-V6UUZGP6.js} +7 -3
- package/dist/{chunk-LFNQDTSH.js → chunk-VYKPBRCB.js} +63 -12
- package/dist/{chunk-S22FKF6G.js → chunk-WNCGJFTZ.js} +2 -2
- package/dist/{chunk-XNDXENJQ.js → chunk-WQMTHPTK.js} +3 -3
- package/dist/{chunk-4LE27ST4.js → chunk-XQYLUY2F.js} +2 -2
- package/dist/chunk-XSEGMQYA.js +30 -0
- package/dist/{chunk-35PWWBGZ.js → chunk-YI6OBVWQ.js} +1 -1
- package/dist/{chunk-GNTVYF7E.js → chunk-YOEGUBBY.js} +5 -5
- package/dist/{chunk-FAIYEIZ4.js → chunk-YYMJEQ4D.js} +1 -1
- package/dist/{chunk-LKQS72D5.js → chunk-Z6CSYA7U.js} +1 -1
- package/dist/{chunk-XQKVEQNY.js → chunk-ZDEEHQ2Y.js} +2 -2
- package/dist/chunk-ZQMYD22O.js +215 -0
- package/dist/{clean-RLTHFTQA.js → clean-TLMZ6GVY.js} +52 -31
- package/dist/cli.js +53 -53
- package/dist/{cloud-Q5TGBTW3.js → cloud-XFIRM6YE.js} +4 -4
- package/dist/{cloudrun-4UZF74MV.js → cloudrun-OUGI5NN4.js} +6 -6
- package/dist/{compare-Q5UNR2V4.js → compare-OKSXYO3L.js} +30 -30
- package/dist/{compiler-ZXT27Z62.js → compiler-WHUQZITN.js} +6 -6
- package/dist/{component-H734P32V.js → component-3II4YXAD.js} +3 -3
- package/dist/{compositions-YEHDSTDR.js → compositions-RL75WQS6.js} +13 -13
- package/dist/{delete-LDBMPWRT.js → delete-4FM24SJ2.js} +2 -2
- package/dist/{deterministicFonts-C5JQLCTS.js → deterministicFonts-EOMDR6ZF.js} +3 -3
- package/dist/{dist-RGE4QASU.js → dist-2YYJYYPY.js} +3 -3
- package/dist/{dist-7JXLFD6U.js → dist-NUSNSGME.js} +4 -4
- package/dist/{doctor-XNJFIWJ7.js → doctor-Q5WYRIVP.js} +11 -11
- package/dist/{events-G6UFLNXR.js → events-CPZTSXAX.js} +2 -2
- package/dist/{events-UKCPUWMH.js → events-J5VJAKGT.js} +3 -3
- package/dist/{feedback-CK3KZ7DE.js → feedback-U64DIKAF.js} +8 -8
- package/dist/{figma-3D5C737B.js → figma-GUHWRHJO.js} +3 -3
- package/dist/fontLocalizeCli.js +12 -12
- package/dist/{get-QGTQUWFT.js → get-XDQJPF7G.js} +2 -2
- package/dist/{gpuPolicy-G5QAQDYF.js → gpuPolicy-7SIPG5BM.js} +9 -9
- package/dist/{grade-compare-XIHOM62P.js → grade-compare-WWW2F3NY.js} +30 -30
- package/dist/{gsapParserAcorn-VXZ3ZIF2.js → gsapParserAcorn-7NCK2LVT.js} +2 -2
- package/dist/{help-U5UBXT52.js → help-3UJYI7LC.js} +1 -1
- package/dist/{history-5J73QZSA.js → history-VQSM5L6N.js} +77 -205
- package/dist/hyperframe-runtime.js +4 -0
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +4 -0
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-RJHQQQUP.js → info-NMDUH7N5.js} +9 -9
- package/dist/{init-M6UQOYYC.js → init-D753VPPZ.js} +24 -24
- package/dist/{inspect-PRQWDBTP.js → inspect-KEE27DQN.js} +31 -31
- package/dist/{installer-ZL7UKYK5.js → installer-QCHUXV6E.js} +7 -7
- package/dist/{keyframes-VMUJYTCQ.js → keyframes-EP44YDZW.js} +227 -82
- package/dist/{lambda-ON42DRQD.js → lambda-Q5FTNY4J.js} +7 -7
- package/dist/{layout-QKBFVDVY.js → layout-LATG5CZV.js} +31 -31
- package/dist/{lint-ZQHHL2SV.js → lint-TQDQFJKW.js} +9 -9
- package/dist/{lintProject-3Z6OJCSO.js → lintProject-XQWXJYSC.js} +3 -3
- package/dist/{list-YBRKIWGF.js → list-O44ENRGS.js} +2 -2
- package/dist/{login-4B2YXGLB.js → login-EKFN5PZP.js} +4 -4
- package/dist/{media-treatment-5C5EJAAP.js → media-treatment-LPT4GYAE.js} +12 -12
- package/dist/{models-R7ZDWBJ6.js → models-CRYHY4KH.js} +12 -12
- package/dist/{motionShot-ZHESZNUL.js → motionShot-BS3DB666.js} +28 -15
- package/dist/{normalize-audio-EVWZVTBM.js → normalize-audio-7X445LLJ.js} +6 -6
- package/dist/{open-TV6HT4UT.js → open-JA7FN5F5.js} +4 -4
- package/dist/{parakeetRunner-YVVF4CG6.js → parakeetRunner-AFUTDANA.js} +12 -12
- package/dist/{pipeline-ETR5SEBS.js → pipeline-3TQHAQOJ.js} +9 -9
- package/dist/{play-C6WONRZV.js → play-UUJAXFCJ.js} +24 -24
- package/dist/{present-RANXTVPA.js → present-EBP6YMCJ.js} +20 -20
- package/dist/{preview-KF6UMBT2.js → preview-PVJDLZDU.js} +19 -19
- package/dist/{producer-CY2GXBWN.js → producer-HE23BPEU.js} +1 -1
- package/dist/{projectConfig-KPXCNMBM.js → projectConfig-EX35BZLA.js} +9 -9
- package/dist/{publication-Y36N4A7E.js → publication-OUGS3P7W.js} +4 -4
- package/dist/{publish-RCQJO35C.js → publish-UUFZR6QT.js} +12 -12
- package/dist/{remove-background-3ZMXVWLB.js → remove-background-P5M42CA5.js} +10 -10
- package/dist/{render-WUSTRMUD.js → render-AWFQGD4T.js} +5 -5
- package/dist/{render-PTNEFO5U.js → render-BJMONGDL.js} +10 -10
- package/dist/{render-FKVRCDT2.js → render-YSD2SRBL.js} +57 -22
- package/dist/{render-batch-AQHU2JWZ.js → render-batch-6UN3HT5A.js} +5 -5
- package/dist/renderSetupWorker.js +3 -3
- package/dist/{resolver-L5BDZJKU.js → resolver-O6ZENVYP.js} +6 -6
- package/dist/{sherpa-3S3ISG7G.js → sherpa-RWHRDO53.js} +11 -11
- package/dist/skills/hyperframes-cli/SKILL.md +3 -0
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +5 -1
- package/dist/{skills-X4WQEKNF.js → skills-KC6IGXDU.js} +5 -5
- package/dist/{skillsUpdateCheck-UYCVHDZ6.js → skillsUpdateCheck-7C4TD7EL.js} +3 -3
- package/dist/{snapshot-YEYHQEZQ.js → snapshot-SNZL5GPC.js} +118 -41
- package/dist/{src-OLBDPEG6.js → src-KKS6QEHB.js} +11 -11
- package/dist/{src-2NN2WB6X.js → src-YMUDUVXQ.js} +8 -8
- package/dist/{staticProjectServer-7H35NMWB.js → staticProjectServer-XOCIQ3FV.js} +20 -20
- package/dist/studio/assets/{hyperframes-player-DJt8E7k4.js → hyperframes-player-Cn6V2ZaK.js} +1 -1
- package/dist/studio/assets/{index-DgbLblGR.js → index-CEGNvZnK.js} +1 -1
- package/dist/studio/assets/{index-DWIHrAY2.js → index-CaaXbGyk.js} +1 -1
- package/dist/studio/assets/{index-BGks9KLI.js → index-Cwpnr4DV.js} +132 -132
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-HGM2A5I3.js → studio-api-NUNUZQ5I.js} +30 -16
- package/dist/{studioServer-M6XFL7N6.js → studioServer-FBY3YWZH.js} +43 -43
- package/dist/{synthesize-22B7L5GX.js → synthesize-W2M7QGDV.js} +6 -5
- package/dist/{telemetry-KVCZKVTE.js → telemetry-KNSTX3E2.js} +3 -3
- package/dist/{timeline-VYYKZR4V.js → timeline-6I5LGPP6.js} +20 -20
- package/dist/{tokens-B5NFFL55.js → tokens-MY4GOQ53.js} +2 -2
- package/dist/{transcribe-SBETOIWI.js → transcribe-56WECC4Y.js} +10 -10
- package/dist/{transcribe-WNFRYZAC.js → transcribe-ISCPZLQZ.js} +16 -16
- package/dist/{tts-QSAQZVEZ.js → tts-RE227GFP.js} +1 -1
- package/dist/{updateCheck-5MM2DFUC.js → updateCheck-FAG4T4AV.js} +2 -2
- package/dist/{upgrade-LWID54R3.js → upgrade-5QCPW55B.js} +2 -2
- package/dist/{urlDownloader-CVLNXFDG.js → urlDownloader-FGSJGUM7.js} +8 -8
- package/dist/{validate-V4CGQ6OF.js → validate-WC3FUSUF.js} +25 -25
- package/dist/{video-VJB2KRSS.js → video-DOFSWSSR.js} +9 -9
- package/package.json +1 -1
- package/dist/chunk-WBLXWOYK.js +0 -15
- package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
|
@@ -8,19 +8,20 @@ import {
|
|
|
8
8
|
auditClipDurations,
|
|
9
9
|
shouldIgnoreHttpError,
|
|
10
10
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QBFHVMOI.js";
|
|
12
12
|
import {
|
|
13
|
+
checkSnapshotDirectory,
|
|
13
14
|
rectToBbox
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-XSEGMQYA.js";
|
|
15
16
|
import {
|
|
16
17
|
ambiguousIssue,
|
|
17
18
|
loadBrowserScript
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-UNOALNYO.js";
|
|
19
20
|
import {
|
|
20
21
|
serveStaticProjectHtml
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-7NKLNOHW.js";
|
|
22
23
|
import "./chunk-XUHOIDKG.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-TCJM3KF2.js";
|
|
24
25
|
import "./chunk-X7MTZ4T2.js";
|
|
25
26
|
import {
|
|
26
27
|
AUDIT_SEEK_OPTIONS,
|
|
@@ -33,42 +34,45 @@ import {
|
|
|
33
34
|
resolveCliChromeGpuMode,
|
|
34
35
|
seekCompositionTimeline,
|
|
35
36
|
waitForPreferredSeekTarget
|
|
36
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-OIONMNWN.js";
|
|
37
38
|
import "./chunk-FH7WODJH.js";
|
|
38
|
-
import
|
|
39
|
-
|
|
39
|
+
import {
|
|
40
|
+
BrowserCleanupError,
|
|
41
|
+
closeManagedBrowser
|
|
42
|
+
} from "./chunk-KFBEMIMD.js";
|
|
43
|
+
import "./chunk-TXWPPBIW.js";
|
|
40
44
|
import "./chunk-WPNE5NEP.js";
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-5FS4HCHN.js";
|
|
46
|
+
import "./chunk-WQMTHPTK.js";
|
|
47
|
+
import "./chunk-C6TPGUWD.js";
|
|
48
|
+
import "./chunk-7FYFEXD2.js";
|
|
45
49
|
import {
|
|
46
50
|
FfmpegUnavailableError,
|
|
47
51
|
decideMediaProxyEligibility,
|
|
48
52
|
proxyVariantFor,
|
|
49
53
|
resolveProxies,
|
|
50
54
|
scanProjectMediaCodecMap
|
|
51
|
-
} from "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
55
|
+
} from "./chunk-PVGDU7SE.js";
|
|
56
|
+
import "./chunk-FFDC5OWV.js";
|
|
57
|
+
import "./chunk-JQ57FAYN.js";
|
|
54
58
|
import "./chunk-K2FLNJVB.js";
|
|
55
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-DAKXCEE3.js";
|
|
56
60
|
import "./chunk-442JNXRM.js";
|
|
57
61
|
import {
|
|
58
62
|
resolveAutoProxy
|
|
59
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-YYMJEQ4D.js";
|
|
60
64
|
import "./chunk-XT7X6QCP.js";
|
|
61
65
|
import "./chunk-4YYJOFKS.js";
|
|
62
66
|
import "./chunk-HVW7ABXD.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-PXOFFSO3.js";
|
|
68
|
+
import "./chunk-HGAOO43L.js";
|
|
69
|
+
import "./chunk-2XEBNYG5.js";
|
|
66
70
|
import "./chunk-AWDFDFI3.js";
|
|
67
71
|
import "./chunk-P6LJ4Y32.js";
|
|
68
72
|
import "./chunk-GMECXFAN.js";
|
|
69
|
-
import "./chunk-
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-5CS4T6C6.js";
|
|
74
|
+
import "./chunk-CBMZYOWC.js";
|
|
75
|
+
import "./chunk-AUK5QCRH.js";
|
|
72
76
|
import "./chunk-VWG7OQKU.js";
|
|
73
77
|
import "./chunk-XBSPQ52S.js";
|
|
74
78
|
import "./chunk-S3S4TGEH.js";
|
|
@@ -77,37 +81,37 @@ import "./chunk-PBN6GBJE.js";
|
|
|
77
81
|
import "./chunk-ZTZA4UWZ.js";
|
|
78
82
|
import "./chunk-EOOEC32M.js";
|
|
79
83
|
import "./chunk-TJSTGSAW.js";
|
|
80
|
-
import "./chunk-
|
|
84
|
+
import "./chunk-YI6OBVWQ.js";
|
|
81
85
|
import "./chunk-K4WIOZFP.js";
|
|
82
86
|
import "./chunk-XUXGIA7H.js";
|
|
83
87
|
import "./chunk-WERLJGIC.js";
|
|
84
88
|
import "./chunk-ISN5GRYI.js";
|
|
85
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-2X3UJ4Q3.js";
|
|
86
90
|
import "./chunk-EOVYQ3IG.js";
|
|
87
91
|
import "./chunk-AMKC3AXA.js";
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-2F6LWCSF.js";
|
|
93
|
+
import "./chunk-V6UUZGP6.js";
|
|
90
94
|
import "./chunk-NE55C6S5.js";
|
|
91
95
|
import "./chunk-JYVGYKXG.js";
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-
|
|
96
|
+
import "./chunk-ZDEEHQ2Y.js";
|
|
97
|
+
import "./chunk-GV7I3ZSQ.js";
|
|
94
98
|
import "./chunk-VC76R6W2.js";
|
|
95
99
|
import "./chunk-UJKQWGFF.js";
|
|
96
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-VYKPBRCB.js";
|
|
97
101
|
import "./chunk-OFQWTKPW.js";
|
|
98
102
|
import "./chunk-DPVXBVLL.js";
|
|
99
103
|
import "./chunk-T76PLPD6.js";
|
|
100
104
|
import "./chunk-FXMKHHPO.js";
|
|
101
105
|
import "./chunk-RQVDTPGD.js";
|
|
102
106
|
import "./chunk-TWWSYAKJ.js";
|
|
103
|
-
import "./chunk-
|
|
107
|
+
import "./chunk-YOEGUBBY.js";
|
|
104
108
|
import "./chunk-IWFLMU2N.js";
|
|
105
|
-
import "./chunk-
|
|
109
|
+
import "./chunk-3VGU2SH7.js";
|
|
106
110
|
import "./chunk-VAS6HQX3.js";
|
|
107
111
|
import "./chunk-3RM2ETQT.js";
|
|
108
112
|
import "./chunk-BSQ7XANM.js";
|
|
109
113
|
import "./chunk-SDYDNHEE.js";
|
|
110
|
-
import "./chunk-
|
|
114
|
+
import "./chunk-TYXH3EKP.js";
|
|
111
115
|
import "./chunk-IXLUTE6N.js";
|
|
112
116
|
import {
|
|
113
117
|
normalizeErrorMessage
|
|
@@ -283,8 +287,8 @@ async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride
|
|
|
283
287
|
function proxyFailedDraft(message) {
|
|
284
288
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
285
289
|
}
|
|
286
|
-
async function runBrowserCheck(project, options, motion, runGrid) {
|
|
287
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
290
|
+
async function runBrowserCheck(project, options, motion, runGrid, deadline) {
|
|
291
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-QX5HV7LC.js");
|
|
288
292
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
289
293
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
290
294
|
project.dir,
|
|
@@ -299,6 +303,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
299
303
|
options.autoProxy
|
|
300
304
|
);
|
|
301
305
|
let currentTime = 0;
|
|
306
|
+
let failure = { kind: "none" };
|
|
302
307
|
let chromeBrowser;
|
|
303
308
|
try {
|
|
304
309
|
const launchSettleStart = Date.now();
|
|
@@ -307,14 +312,20 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
307
312
|
renderReadyTimeoutMs: options.timeout,
|
|
308
313
|
renderReadyWarningSuffix: "checking the current page state",
|
|
309
314
|
browserGpuMode: options.browserGpuMode ?? resolveCliChromeGpuMode(),
|
|
310
|
-
|
|
315
|
+
signal: deadline?.signal,
|
|
316
|
+
onBrowser: deadline?.ownBrowser,
|
|
317
|
+
onBrowserReady: deadline?.start,
|
|
318
|
+
beforeNavigate: async (page2) => {
|
|
319
|
+
wireRuntimeListeners(page2, drafts, () => currentTime);
|
|
320
|
+
await deadline?.preparePage(page2);
|
|
321
|
+
}
|
|
311
322
|
});
|
|
312
323
|
chromeBrowser = session.browser;
|
|
313
324
|
const page = session.page;
|
|
314
325
|
await waitForPreferredSeekTarget(page);
|
|
315
326
|
const rootAnchor = await resolveRootAnchor(page);
|
|
316
327
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
317
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
328
|
+
const { analyzeClipMediaFit } = await import("./src-YMUDUVXQ.js");
|
|
318
329
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
319
330
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
320
331
|
}
|
|
@@ -335,14 +346,16 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
335
346
|
failedPaths
|
|
336
347
|
).map((draft) => runtimeFinding(draft, rootAnchor))
|
|
337
348
|
};
|
|
349
|
+
} catch (error) {
|
|
350
|
+
failure = { kind: "failed", error };
|
|
351
|
+
throw error;
|
|
338
352
|
} finally {
|
|
339
|
-
await chromeBrowser
|
|
340
|
-
await server.close();
|
|
353
|
+
await closeCheckResources(chromeBrowser, server, failure);
|
|
341
354
|
}
|
|
342
355
|
}
|
|
343
|
-
async function captureFindingCrops(project, options, requests) {
|
|
356
|
+
async function captureFindingCrops(project, options, requests, deadline) {
|
|
344
357
|
if (requests.length === 0) return [];
|
|
345
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
358
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-QX5HV7LC.js");
|
|
346
359
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
347
360
|
const server = await serveStaticProjectHtml(
|
|
348
361
|
project.dir,
|
|
@@ -353,17 +366,22 @@ async function captureFindingCrops(project, options, requests) {
|
|
|
353
366
|
);
|
|
354
367
|
let chromeBrowser;
|
|
355
368
|
const written = [];
|
|
369
|
+
let failure = { kind: "none" };
|
|
356
370
|
try {
|
|
357
371
|
const session = await openSettledCompositionPage(html, server.url, {
|
|
358
372
|
navigationTimeoutMs: options.timeout,
|
|
359
373
|
renderReadyTimeoutMs: options.timeout,
|
|
360
374
|
renderReadyWarningSuffix: "capturing finding crops",
|
|
375
|
+
signal: deadline?.signal,
|
|
376
|
+
onBrowser: deadline?.ownBrowser,
|
|
377
|
+
onBrowserReady: deadline?.start,
|
|
378
|
+
beforeNavigate: (page2) => deadline?.preparePage(page2),
|
|
361
379
|
browserGpuMode: options.browserGpuMode ?? resolveCliChromeGpuMode()
|
|
362
380
|
});
|
|
363
381
|
chromeBrowser = session.browser;
|
|
364
382
|
const page = session.page;
|
|
365
383
|
await waitForPreferredSeekTarget(page);
|
|
366
|
-
const snapshotDir =
|
|
384
|
+
const snapshotDir = checkSnapshotDirectory(project.dir);
|
|
367
385
|
mkdirSync(snapshotDir, { recursive: true });
|
|
368
386
|
for (const request of requests) {
|
|
369
387
|
await seekCompositionTimeline(page, request.time, AUDIT_SEEK_OPTIONS);
|
|
@@ -374,14 +392,26 @@ async function captureFindingCrops(project, options, requests) {
|
|
|
374
392
|
const region = padCropRegion(request.bbox, canvas, DEFAULT_ZOOM_PADDING_PX);
|
|
375
393
|
const buffer = await captureRegionCrop(page, region, DEFAULT_ZOOM_SCALE);
|
|
376
394
|
writeFileSync(join(snapshotDir, request.filename), buffer);
|
|
377
|
-
written.push(join(
|
|
395
|
+
written.push(join(snapshotDir, request.filename));
|
|
378
396
|
}
|
|
379
397
|
return written;
|
|
398
|
+
} catch (error) {
|
|
399
|
+
failure = { kind: "failed", error };
|
|
400
|
+
throw error;
|
|
380
401
|
} finally {
|
|
381
|
-
await chromeBrowser
|
|
382
|
-
await server.close();
|
|
402
|
+
await closeCheckResources(chromeBrowser, server, failure);
|
|
383
403
|
}
|
|
384
404
|
}
|
|
405
|
+
async function closeCheckResources(browser, server, failure) {
|
|
406
|
+
const cleanup = await Promise.allSettled([
|
|
407
|
+
browser ? closeManagedBrowser(browser) : Promise.resolve(),
|
|
408
|
+
server.close()
|
|
409
|
+
]);
|
|
410
|
+
const errors = cleanup.filter((entry) => entry.status === "rejected").map((entry) => entry.reason);
|
|
411
|
+
if (errors.length === 0) return;
|
|
412
|
+
if (failure.kind === "failed") errors.unshift(failure.error);
|
|
413
|
+
throw new BrowserCleanupError(errors, errors.map(normalizeErrorMessage).join("; "));
|
|
414
|
+
}
|
|
385
415
|
var MEDIA_PROXY_MARKER_PREFIX = "[hyperframes] runtime_media_proxy_";
|
|
386
416
|
var MEDIA_PROXY_UNAVAILABLE_MARKER = "[hyperframes] runtime_media_proxy_unavailable";
|
|
387
417
|
var WEB_AUDIO_BYPASS_MARKER = "[hyperframes] runtime_web_audio_bypass";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
renderFrameIdForRenderId,
|
|
27
27
|
resolveAuthoredTimingWindow,
|
|
28
28
|
toFps
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-ZDEEHQ2Y.js";
|
|
30
30
|
import {
|
|
31
31
|
AUDIO_GROUP_RENDER_ID_ATTR,
|
|
32
32
|
COLOR_GRADING_SOURCE_HIDDEN_ATTR,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
shiftRateLane,
|
|
56
56
|
sourceTimeAt,
|
|
57
57
|
timeAtSourceTime
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-GV7I3ZSQ.js";
|
|
59
59
|
import {
|
|
60
60
|
clampAudioGain,
|
|
61
61
|
isAudibleVideoElement
|
|
@@ -893,7 +893,7 @@ var GPU_PROBE_TIMEOUT_MS = 15e3;
|
|
|
893
893
|
async function probeHardwareWebGlInfo(ppt, options) {
|
|
894
894
|
let probeBrowser;
|
|
895
895
|
try {
|
|
896
|
-
|
|
896
|
+
const launchOptions = {
|
|
897
897
|
...sigintLaunchOptions(),
|
|
898
898
|
headless: true,
|
|
899
899
|
args: options.args,
|
|
@@ -901,14 +901,18 @@ async function probeHardwareWebGlInfo(ppt, options) {
|
|
|
901
901
|
executablePath: options.executablePath,
|
|
902
902
|
timeout: options.browserTimeout,
|
|
903
903
|
waitForInitialPage: false
|
|
904
|
-
}
|
|
904
|
+
};
|
|
905
|
+
probeBrowser = options.probeLifecycle ? await options.probeLifecycle.launch(ppt, launchOptions) : await ppt.launch(launchOptions);
|
|
905
906
|
return await rejectAfter(
|
|
906
907
|
readWebGlInfo(probeBrowser),
|
|
907
908
|
GPU_PROBE_TIMEOUT_MS,
|
|
908
909
|
`GPU probe page did not answer within ${GPU_PROBE_TIMEOUT_MS}ms`
|
|
909
910
|
);
|
|
910
911
|
} finally {
|
|
911
|
-
if (probeBrowser)
|
|
912
|
+
if (probeBrowser) {
|
|
913
|
+
if (options.probeLifecycle) await options.probeLifecycle.close(probeBrowser);
|
|
914
|
+
else await closeBrowserAfterFailedProbe(probeBrowser);
|
|
915
|
+
}
|
|
912
916
|
}
|
|
913
917
|
}
|
|
914
918
|
async function readWebGlInfo(browser) {
|
|
@@ -1208,7 +1212,8 @@ async function probeAutoBrowserGpuMode(options) {
|
|
|
1208
1212
|
const info = await probeHardwareWebGlInfo(ppt, {
|
|
1209
1213
|
args: getHardwareGpuProbeArgs(platform),
|
|
1210
1214
|
browserTimeout,
|
|
1211
|
-
executablePath
|
|
1215
|
+
executablePath,
|
|
1216
|
+
probeLifecycle: options.probeLifecycle
|
|
1212
1217
|
});
|
|
1213
1218
|
const resolved = resolveWebGlProbeMode(info);
|
|
1214
1219
|
logResolvedBrowserGpuMode(resolved, describeWebGlProbe(info));
|
|
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
|
|
8
8
|
// src/version.ts
|
|
9
|
-
var VERSION = true ? "0.8.
|
|
10
|
-
var PRODUCER_VERSION = true ? "0.8.
|
|
9
|
+
var VERSION = true ? "0.8.153" : "0.0.0-dev";
|
|
10
|
+
var PRODUCER_VERSION = true ? "0.8.153" : "0.0.0-dev";
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
13
|
VERSION,
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
withOwner
|
|
9
|
+
} from "./chunk-ZQMYD22O.js";
|
|
10
|
+
import {
|
|
11
|
+
beginArtifactCapture
|
|
12
|
+
} from "./chunk-7FYFEXD2.js";
|
|
13
|
+
|
|
14
|
+
// src/utils/artifactCapture.ts
|
|
15
|
+
async function captureArtifactRevision(projectDir) {
|
|
16
|
+
return withOwner(projectDir, async (owner) => {
|
|
17
|
+
await owner.checkpoint();
|
|
18
|
+
return beginArtifactCapture(projectDir);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
captureArtifactRevision
|
|
24
|
+
};
|
|
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
parseFeedbackRating,
|
|
9
9
|
trackRenderFeedback
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CBMZYOWC.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AUK5QCRH.js";
|
|
14
14
|
import {
|
|
15
15
|
detectAgentRuntime
|
|
16
16
|
} from "./chunk-XBSPQ52S.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BD3XH4A7.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-KNSTX3E2.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -5,6 +5,18 @@ var require = __hf_createRequire(import.meta.url);
|
|
|
5
5
|
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
|
|
8
|
+
// src/utils/pngDimensions.ts
|
|
9
|
+
import { readFileSync } from "fs";
|
|
10
|
+
function pngDimensions(path) {
|
|
11
|
+
try {
|
|
12
|
+
const png = readFileSync(path);
|
|
13
|
+
if (png.length < 24) return {};
|
|
14
|
+
return { width: png.readUInt32BE(16), height: png.readUInt32BE(20) };
|
|
15
|
+
} catch {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
8
20
|
// src/utils/toolContext.ts
|
|
9
21
|
import { appendFileSync } from "fs";
|
|
10
22
|
import { extname, isAbsolute, resolve } from "path";
|
|
@@ -39,7 +51,8 @@ function readToolContext(raw = process.env.HF_TOOL_CONTEXT) {
|
|
|
39
51
|
var MEDIA_TYPES = {
|
|
40
52
|
".png": "image/png",
|
|
41
53
|
".jpg": "image/jpeg",
|
|
42
|
-
".jpeg": "image/jpeg"
|
|
54
|
+
".jpeg": "image/jpeg",
|
|
55
|
+
".json": "application/json"
|
|
43
56
|
};
|
|
44
57
|
function reportArtifacts(command, role, paths, context = readToolContext()) {
|
|
45
58
|
if (!context.events || paths.length === 0) return;
|
|
@@ -65,7 +78,7 @@ function reportArtifacts(command, role, paths, context = readToolContext()) {
|
|
|
65
78
|
}
|
|
66
79
|
|
|
67
80
|
// src/utils/projectLock.ts
|
|
68
|
-
import { linkSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
|
|
81
|
+
import { linkSync, mkdirSync, readFileSync as readFileSync2, unlinkSync, writeFileSync } from "fs";
|
|
69
82
|
import { dirname, join } from "path";
|
|
70
83
|
import { setTimeout as sleep } from "timers/promises";
|
|
71
84
|
var ProjectLockTimeout = class extends Error {
|
|
@@ -74,7 +87,7 @@ var POLL_MS = 250;
|
|
|
74
87
|
var projectLockPath = (projectDir) => join(projectDir, ".hyperframes", "project.lock");
|
|
75
88
|
function readHolder(path) {
|
|
76
89
|
try {
|
|
77
|
-
return JSON.parse(
|
|
90
|
+
return JSON.parse(readFileSync2(path, "utf8"));
|
|
78
91
|
} catch {
|
|
79
92
|
return null;
|
|
80
93
|
}
|
|
@@ -160,6 +173,7 @@ async function withProjectLock(projectDir, command, run, context = readToolConte
|
|
|
160
173
|
}
|
|
161
174
|
|
|
162
175
|
export {
|
|
176
|
+
pngDimensions,
|
|
163
177
|
reportArtifacts,
|
|
164
178
|
withProjectLock
|
|
165
179
|
};
|
|
@@ -7,8 +7,9 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
ancestor,
|
|
9
9
|
parse,
|
|
10
|
+
parseExpressionAt,
|
|
10
11
|
simple
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TYXH3EKP.js";
|
|
12
13
|
|
|
13
14
|
// ../parsers/dist/gsapParserAcorn.js
|
|
14
15
|
var GSAP_DEFAULT_DURATION = 0.5;
|
|
@@ -854,19 +855,19 @@ function collectIdentifierBindingIndex(ast) {
|
|
|
854
855
|
}
|
|
855
856
|
}
|
|
856
857
|
function addBinding(bindings, scopeNode, name, selector) {
|
|
857
|
-
let scoped = bindings.get(scopeNode);
|
|
858
|
+
let scoped = bindings.byScope.get(scopeNode);
|
|
858
859
|
if (!scoped) {
|
|
859
860
|
scoped = /* @__PURE__ */ new Map();
|
|
860
|
-
bindings.set(scopeNode, scoped);
|
|
861
|
+
bindings.byScope.set(scopeNode, scoped);
|
|
861
862
|
}
|
|
862
863
|
if (!scoped.has(name)) scoped.set(name, selector);
|
|
863
864
|
}
|
|
864
865
|
function lookupBindingFromAncestors(name, ancestors, bindings) {
|
|
865
866
|
for (const scopeNode of scopeChainFromAncestors(ancestors)) {
|
|
866
|
-
const selector = bindings.get(scopeNode)?.get(name);
|
|
867
|
+
const selector = bindings.byScope.get(scopeNode)?.get(name);
|
|
867
868
|
if (selector !== void 0) return selector;
|
|
868
869
|
}
|
|
869
|
-
return bindings.get(null)?.get(name) ?? null;
|
|
870
|
+
return bindings.byScope.get(null)?.get(name) ?? null;
|
|
870
871
|
}
|
|
871
872
|
function isFunctionNode2(node) {
|
|
872
873
|
return node?.type === "ArrowFunctionExpression" || node?.type === "FunctionExpression" || node?.type === "FunctionDeclaration";
|
|
@@ -905,7 +906,7 @@ function collectScopeBindings(ast) {
|
|
|
905
906
|
return bindings;
|
|
906
907
|
}
|
|
907
908
|
function collectTargetBindings(ast, scope, identifierBindings) {
|
|
908
|
-
const bindings = /* @__PURE__ */ new Map();
|
|
909
|
+
const bindings = { byScope: /* @__PURE__ */ new Map(), identifiers: identifierBindings };
|
|
909
910
|
ancestor(ast, {
|
|
910
911
|
VariableDeclarator(node, _, ancestors) {
|
|
911
912
|
const name = node.id?.name;
|
|
@@ -986,7 +987,18 @@ function resolveTargetSelector(node, ancestors, scope, bindings) {
|
|
|
986
987
|
return typeof node.value === "string" ? node.value : null;
|
|
987
988
|
}
|
|
988
989
|
if (node.type === "Identifier") {
|
|
989
|
-
|
|
990
|
+
const bound = lookupBindingFromAncestors(node.name, ancestors, bindings);
|
|
991
|
+
if (bound) return bound;
|
|
992
|
+
const declaration = findVisibleIdentifierDeclaration(
|
|
993
|
+
node.name,
|
|
994
|
+
ancestors,
|
|
995
|
+
bindings.identifiers,
|
|
996
|
+
node.start
|
|
997
|
+
);
|
|
998
|
+
if (declaration?.kind !== "const" || bindings.identifiers.reassignedDeclarations.has(declaration.node))
|
|
999
|
+
return null;
|
|
1000
|
+
const literal = resolveNode(declaration.node.init, scope);
|
|
1001
|
+
return typeof literal === "string" ? literal : null;
|
|
990
1002
|
}
|
|
991
1003
|
if (node.type === "CallExpression") {
|
|
992
1004
|
return selectorFromQueryCall(node, scope);
|
|
@@ -1011,7 +1023,7 @@ function describeProxyTarget(targetNode, varsNode, scope) {
|
|
|
1011
1023
|
const onUpdate = findPropertyNode(varsNode, "onUpdate");
|
|
1012
1024
|
const driven = onUpdate ? drivenDomChannel(onUpdate) : void 0;
|
|
1013
1025
|
if (driven) return `proxy \u2192 ${driven}`;
|
|
1014
|
-
return "dwell/hold";
|
|
1026
|
+
return objNode.properties.length === 0 && !onUpdate ? "dwell/hold" : "proxy (unresolved DOM association)";
|
|
1015
1027
|
}
|
|
1016
1028
|
function isStyleAssignmentTarget(left) {
|
|
1017
1029
|
return left?.type === "MemberExpression" && left.object?.type === "MemberExpression" && left.object.property?.name === "style" && !!left.property?.name;
|
|
@@ -1530,6 +1542,8 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
|
|
|
1530
1542
|
duration,
|
|
1531
1543
|
ease
|
|
1532
1544
|
};
|
|
1545
|
+
if (["stagger", "repeat", "repeatDelay", "delay"].some((key) => findPropertyNode(call.varsArg, key)))
|
|
1546
|
+
anim.inspectionTiming = inspectionTiming(call.varsArg, scope);
|
|
1533
1547
|
if (targetIdentity) anim.targetIdentity = targetIdentity;
|
|
1534
1548
|
if (!hasPositionArg) anim.implicitPosition = true;
|
|
1535
1549
|
let group = classifyTweenPropertyGroup(properties);
|
|
@@ -1552,14 +1566,51 @@ function tweenCallToAnimation(call, scope, source, identifierBindings) {
|
|
|
1552
1566
|
if (provenance) anim.provenance = provenance;
|
|
1553
1567
|
return anim;
|
|
1554
1568
|
}
|
|
1569
|
+
function inspectionTiming(varsNode, scope) {
|
|
1570
|
+
const numeric = (key) => {
|
|
1571
|
+
const node2 = findPropertyNode(varsNode, key);
|
|
1572
|
+
if (!node2) return 0;
|
|
1573
|
+
const value = resolveNode(node2, scope);
|
|
1574
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
1575
|
+
};
|
|
1576
|
+
const node = findPropertyNode(varsNode, "stagger");
|
|
1577
|
+
let stagger = { each: 0 };
|
|
1578
|
+
if (node) {
|
|
1579
|
+
const value = resolveNode(node, scope);
|
|
1580
|
+
stagger = typeof value === "number" ? { each: value } : null;
|
|
1581
|
+
if (node.type === "ObjectExpression" && !(node.properties ?? []).some(
|
|
1582
|
+
(p) => !["each", "amount", "from", "ease", "axis", "grid"].includes(propKeyName(p) ?? "")
|
|
1583
|
+
)) {
|
|
1584
|
+
const each = resolveNode(findPropertyNode(node, "each"), scope);
|
|
1585
|
+
const amount = resolveNode(findPropertyNode(node, "amount"), scope);
|
|
1586
|
+
if (!findPropertyNode(node, "grid") && !findPropertyNode(node, "axis")) {
|
|
1587
|
+
if (typeof amount === "number") stagger = { amount };
|
|
1588
|
+
else if (typeof each === "number") stagger = { each };
|
|
1589
|
+
}
|
|
1590
|
+
}
|
|
1591
|
+
}
|
|
1592
|
+
return {
|
|
1593
|
+
repeat: numeric("repeat"),
|
|
1594
|
+
repeatDelay: numeric("repeatDelay"),
|
|
1595
|
+
delay: numeric("delay"),
|
|
1596
|
+
stagger
|
|
1597
|
+
};
|
|
1598
|
+
}
|
|
1555
1599
|
function staggerAmount(raw) {
|
|
1556
1600
|
if (typeof raw === "number") return raw;
|
|
1557
1601
|
if (typeof raw !== "string") return void 0;
|
|
1558
1602
|
const src = raw.startsWith("__raw:") ? raw.slice(6) : raw;
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1603
|
+
try {
|
|
1604
|
+
const node = parseExpressionAt(src, 0, { ecmaVersion: "latest" });
|
|
1605
|
+
if (src.slice(node.end).trim()) return void 0;
|
|
1606
|
+
const value = resolveNode(
|
|
1607
|
+
node.type === "ObjectExpression" ? findPropertyNode(node, "each") : node,
|
|
1608
|
+
/* @__PURE__ */ new Map()
|
|
1609
|
+
);
|
|
1610
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
1611
|
+
} catch {
|
|
1612
|
+
return void 0;
|
|
1613
|
+
}
|
|
1563
1614
|
}
|
|
1564
1615
|
function restValue(prop) {
|
|
1565
1616
|
return prop === "opacity" || prop.startsWith("scale") ? 1 : 0;
|