hyperframes 0.8.149 → 0.8.151
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-MG53577L.js → add-QKZZG7A2.js} +12 -12
- package/dist/{animatedGifPrep-HV4ZFVPV.js → animatedGifPrep-YQDPYGOD.js} +7 -7
- package/dist/api.js +17 -17
- package/dist/{asset-3GIBXLLL.js → asset-3Q737Y4H.js} +2 -2
- package/dist/{assetCataloger-JJQ4JW2P.js → assetCataloger-BTHEBJJB.js} +3 -3
- package/dist/{auth-XQMT727H.js → auth-XL7EU3SO.js} +1 -1
- package/dist/{autoUpdate-CREZJGMU.js → autoUpdate-PJFLTQ3U.js} +2 -2
- package/dist/{backgroundChecks-K3S5QKR3.js → backgroundChecks-T5TIR5WK.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-42AKNX73.js → batchRender-NFLVIDB4.js} +4 -4
- package/dist/{beats-Y7IKETUS.js → beats-JU4GZ26R.js} +13 -13
- package/dist/{benchmark-22SAXSO5.js → benchmark-7U2YWLTW.js} +9 -9
- package/dist/{browser-ABNISCC3.js → browser-D57UPYDA.js} +5 -5
- package/dist/{bundleWithLocalizedFonts-OE5ZI4JE.js → bundleWithLocalizedFonts-26MXQOZG.js} +2 -2
- package/dist/{capture-DBNHO4WJ.js → capture-47BV25G3.js} +2 -2
- package/dist/{capture-HQG5W42I.js → capture-LT252COQ.js} +11 -11
- package/dist/{catalog-KICZFIDX.js → catalog-BEZXOV4O.js} +12 -12
- package/dist/{catch-up-ZCQUCI45.js → catch-up-KVV5X6BF.js} +4 -4
- package/dist/{check-TGXIICEF.js → check-6KQ433E6.js} +191 -55
- package/dist/{checkBrowser-3N23I56J.js → checkBrowser-PRDR6XBY.js} +172 -30
- package/dist/{chunk-GESJSXFH.js → chunk-35PWWBGZ.js} +1 -1
- package/dist/{chunk-62RUQJ5J.js → chunk-3SVC7SW4.js} +47 -21
- package/dist/{chunk-KMJLHHBF.js → chunk-3ZPFRDEJ.js} +1 -1
- package/dist/{chunk-XHBX7QN6.js → chunk-4LE27ST4.js} +1 -1
- package/dist/{chunk-DUUFDLC4.js → chunk-4MLYMDQ4.js} +1 -1
- package/dist/{chunk-WX7VCRM7.js → chunk-4PKQEKAI.js} +2 -2
- package/dist/{chunk-ZKDKFJCK.js → chunk-4YZYYP7V.js} +5 -5
- package/dist/{chunk-XPQSL5VS.js → chunk-54DMWFQZ.js} +8 -1
- package/dist/{chunk-NKM53WMI.js → chunk-BRF3O35X.js} +7 -7
- package/dist/chunk-DHPFXAUF.js +165 -0
- package/dist/{chunk-CT6ZQRLD.js → chunk-DIOBKUBV.js} +2 -2
- package/dist/{chunk-SP6XL3NP.js → chunk-FAIYEIZ4.js} +1 -1
- package/dist/{chunk-CYFFYK2F.js → chunk-FLVI7FHU.js} +1 -1
- package/dist/{chunk-JDB65PPT.js → chunk-GNTVYF7E.js} +8 -7
- package/dist/{chunk-KQHJKJ3V.js → chunk-HVXRYMGQ.js} +1 -1
- package/dist/{chunk-CNPJHUOX.js → chunk-IP73NMQT.js} +11 -11
- package/dist/{chunk-VX4AL2FQ.js → chunk-IPDS2SWI.js} +1 -1
- package/dist/{chunk-LACFOFWX.js → chunk-IZ7L6V76.js} +1 -1
- package/dist/{chunk-VC7JBNPS.js → chunk-IZPN423R.js} +481 -68
- package/dist/{chunk-P7NTODQE.js → chunk-KQGWP4KH.js} +2 -2
- package/dist/{chunk-SFUBSJFP.js → chunk-KXX6NLOT.js} +1 -1
- package/dist/{chunk-K44HCHZN.js → chunk-L3N7RJHS.js} +3 -3
- package/dist/{chunk-MI6U3OIN.js → chunk-L6RIMCMG.js} +3 -3
- package/dist/{chunk-7IEGPJ4P.js → chunk-LBT4AMSF.js} +1 -1
- package/dist/{chunk-AY2BONTF.js → chunk-LKQS72D5.js} +1 -1
- package/dist/{chunk-VXM4BH23.js → chunk-N3I6RAOR.js} +136 -54
- package/dist/{chunk-Q2Y5OZCY.js → chunk-N4IXP3MY.js} +2 -2
- package/dist/{chunk-LCILS4AF.js → chunk-O3DUX6P2.js} +5 -5
- package/dist/{chunk-MXB6CWVH.js → chunk-OSAH7S5M.js} +1 -1
- package/dist/{chunk-YDRX42P3.js → chunk-OZ4K46OV.js} +3 -3
- package/dist/{chunk-ZK3BQXHC.js → chunk-POEEDPJI.js} +1 -1
- package/dist/{chunk-LTJDUBSQ.js → chunk-PUIELIFA.js} +1 -1
- package/dist/chunk-QBYHNRHU.js +3795 -0
- package/dist/{chunk-KUTT3JXL.js → chunk-QF7AE3DB.js} +3 -3
- package/dist/{chunk-BNYRD7PQ.js → chunk-QLGBNGXC.js} +2 -2
- package/dist/{chunk-U7SASZC5.js → chunk-RJRGR5KF.js} +10 -10
- package/dist/{chunk-4S4VUXW3.js → chunk-RRBKEHST.js} +1 -1
- package/dist/{chunk-TPIG7ZBX.js → chunk-RYL6ZIJP.js} +6 -6
- package/dist/{chunk-L274XRWA.js → chunk-S22FKF6G.js} +6 -3
- package/dist/{chunk-OMBSUO4T.js → chunk-TCWMDCBX.js} +2 -2
- package/dist/{chunk-YA62XGXS.js → chunk-UJKQWGFF.js} +1 -1
- package/dist/{chunk-M5B42RL5.js → chunk-WUUOFMHU.js} +3 -3
- package/dist/{chunk-PR7QQBSC.js → chunk-XGLNQDLN.js} +1 -1
- package/dist/{chunk-VGCEMOQA.js → chunk-XKKBIFE5.js} +7 -7
- package/dist/{chunk-2HWB4TCI.js → chunk-XNDXENJQ.js} +27 -12
- package/dist/{chunk-AHBYQRGI.js → chunk-XQKVEQNY.js} +2 -2
- package/dist/{chunk-ZFN6GQU4.js → chunk-XXPYZBZ3.js} +1 -1
- package/dist/{chunk-K4RIT6PX.js → chunk-XYHBVSWD.js} +2 -2
- package/dist/{chunk-RMIFSBRV.js → chunk-YEBKEWKB.js} +1 -1
- package/dist/{chunk-CZQLCBWY.js → chunk-YG2Y55KF.js} +1 -1
- package/dist/{chunk-B3XLIBFL.js → chunk-YIJMVFEJ.js} +1 -1
- package/dist/{chunk-K35E45SI.js → chunk-YZTVHRJ2.js} +1 -1
- package/dist/{chunk-Y475GD4L.js → chunk-ZD3RDNZI.js} +1 -1
- package/dist/{chunk-QIJLIULK.js → chunk-ZGCRVM5M.js} +2 -2
- package/dist/{clean-6QP7VAV4.js → clean-RLTHFTQA.js} +18 -18
- package/dist/cli.js +52 -52
- package/dist/{cloud-5TME5ROM.js → cloud-Q5TGBTW3.js} +4 -4
- package/dist/{cloudrun-F5VVCVF5.js → cloudrun-4UZF74MV.js} +4 -4
- package/dist/{compare-XPY2EXX6.js → compare-Q5UNR2V4.js} +25 -25
- package/dist/{compiler-NPD3MYMO.js → compiler-ZXT27Z62.js} +4 -4
- package/dist/{component-OPVL3PUX.js → component-H734P32V.js} +3 -3
- package/dist/{compositions-WSEOI454.js → compositions-YEHDSTDR.js} +11 -11
- package/dist/{delete-SLMH57VH.js → delete-LDBMPWRT.js} +2 -2
- package/dist/{dist-CUIR3GFX.js → dist-7JXLFD6U.js} +3 -3
- package/dist/{dist-HUMFCJ6T.js → dist-RGE4QASU.js} +1 -1
- package/dist/{doctor-QZW3EKIH.js → doctor-XNJFIWJ7.js} +13 -13
- package/dist/{events-FIFWFRGC.js → events-G6UFLNXR.js} +2 -2
- package/dist/{events-6C3ZG7LS.js → events-UKCPUWMH.js} +3 -3
- package/dist/{feedback-VKXM7YJ5.js → feedback-CK3KZ7DE.js} +7 -7
- package/dist/{ffmpeg-TZB5WAYE.js → ffmpeg-MJFMBBSF.js} +2 -2
- package/dist/{figma-3UYNADNA.js → figma-3D5C737B.js} +3 -3
- package/dist/fontLocalizeCli.js +9 -9
- package/dist/{get-VH7VMRVX.js → get-QGTQUWFT.js} +2 -2
- package/dist/{gpuPolicy-M2JZGGVW.js → gpuPolicy-G5QAQDYF.js} +7 -7
- package/dist/{grade-compare-OSC2YQWN.js → grade-compare-XIHOM62P.js} +27 -27
- package/dist/{help-DCBFEZPT.js → help-U5UBXT52.js} +1 -1
- package/dist/{history-XYJMQE26.js → history-5J73QZSA.js} +5 -5
- package/dist/hyperframe-runtime.js +65 -58
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +65 -58
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-YEHGENAH.js → info-RJHQQQUP.js} +8 -8
- package/dist/{init-64SML7PY.js → init-M6UQOYYC.js} +29 -29
- package/dist/{inspect-GFOQKRJI.js → inspect-PRQWDBTP.js} +26 -26
- package/dist/{installer-Q4MMZKLA.js → installer-ZL7UKYK5.js} +5 -5
- package/dist/{keyframes-ORYFWKBZ.js → keyframes-VMUJYTCQ.js} +6 -6
- package/dist/{lambda-DRMOJGTC.js → lambda-ON42DRQD.js} +5 -5
- package/dist/{layout-ZEQBE6UQ.js → layout-QKBFVDVY.js} +26 -26
- package/dist/{lint-67KGFY63.js → lint-ZQHHL2SV.js} +7 -7
- package/dist/{lintProject-SSEXWCH6.js → lintProject-3Z6OJCSO.js} +1 -1
- package/dist/{list-T6OU5ARJ.js → list-YBRKIWGF.js} +2 -2
- package/dist/{login-2PXIGDP7.js → login-4B2YXGLB.js} +4 -4
- package/dist/{manager-ES2UFT4X.js → manager-X44GKUEL.js} +3 -3
- package/dist/{manager-GWU5J6RJ.js → manager-ZLJD3EAY.js} +2 -2
- package/dist/{media-treatment-NAAHID6M.js → media-treatment-5C5EJAAP.js} +12 -12
- package/dist/{models-P6XB6RWK.js → models-R7ZDWBJ6.js} +13 -13
- package/dist/{motionShot-7MHRIV6V.js → motionShot-ZHESZNUL.js} +14 -14
- package/dist/{normalize-audio-LWNFYR2F.js → normalize-audio-EVWZVTBM.js} +6 -6
- package/dist/{open-DAP5C7UD.js → open-TV6HT4UT.js} +4 -4
- package/dist/{parakeetRunner-3ZVFPOD4.js → parakeetRunner-YVVF4CG6.js} +14 -14
- package/dist/{pipeline-V4YJCPUX.js → pipeline-ETR5SEBS.js} +9 -9
- package/dist/{play-UDCESJO3.js → play-C6WONRZV.js} +19 -19
- package/dist/{preflight-JOD4OXGC.js → preflight-JYOX64YP.js} +4 -4
- package/dist/{present-DXTHBH3F.js → present-RANXTVPA.js} +15 -15
- package/dist/{preview-YHXKRXKB.js → preview-KF6UMBT2.js} +19 -19
- package/dist/{producer-343ENLAM.js → producer-CY2GXBWN.js} +1 -1
- package/dist/{projectConfig-YXKU3CTB.js → projectConfig-KPXCNMBM.js} +7 -7
- package/dist/{publication-ODXP3JI7.js → publication-Y36N4A7E.js} +3 -3
- package/dist/{publish-UEFBFGV3.js → publish-RCQJO35C.js} +9 -9
- package/dist/{remove-background-FMV6IDOH.js → remove-background-3ZMXVWLB.js} +10 -10
- package/dist/{render-ZTXNPRGF.js → render-FKVRCDT2.js} +58 -35
- package/dist/{render-N7QGX6RJ.js → render-PTNEFO5U.js} +9 -9
- package/dist/{render-SYC4RPGT.js → render-WUSTRMUD.js} +4 -4
- package/dist/{render-batch-SZRPCRUJ.js → render-batch-AQHU2JWZ.js} +4 -4
- package/dist/renderSetupWorker.js +4 -4
- package/dist/{resolver-7MYXNEAX.js → resolver-L5BDZJKU.js} +5 -5
- package/dist/{sherpa-M4Z2Q5Y2.js → sherpa-3S3ISG7G.js} +13 -13
- package/dist/skills/hyperframes/references/frame-worker-core.md +11 -9
- package/dist/skills/hyperframes/references/subagent-dispatch.md +1 -1
- package/dist/skills/media-use/audio/scripts/lib/tts.cleanup.test.mjs +175 -0
- package/dist/skills/media-use/audio/scripts/lib/tts.mjs +24 -19
- package/dist/skills/media-use/references/grading.md +1 -2
- package/dist/skills/media-use/references/meta.md +17 -17
- package/dist/skills/media-use/references/operations.md +6 -6
- package/dist/skills/media-use/references/setup-providers.md +3 -4
- package/dist/skills/media-use/scripts/lib/cutlist.mjs +9 -2
- package/dist/skills/media-use/scripts/lib/cutlist.test.mjs +12 -0
- package/dist/skills/media-use/scripts/lib/telemetry.mjs +4 -1
- package/dist/skills/media-use/scripts/lib/telemetry.test.mjs +20 -0
- package/dist/skills/media-use/scripts/transcript-cut.mjs +23 -4
- package/dist/skills/media-use/scripts/transcript-cut.test.mjs +224 -0
- package/dist/{skills-NEHNSHZK.js → skills-X4WQEKNF.js} +5 -5
- package/dist/{skillsUpdateCheck-O77QR72A.js → skillsUpdateCheck-UYCVHDZ6.js} +3 -3
- package/dist/{snapshot-GDVXFBVY.js → snapshot-YEYHQEZQ.js} +252 -141
- package/dist/{src-VMTHSARJ.js → src-2NN2WB6X.js} +10 -6
- package/dist/{src-PTIV7IVV.js → src-OLBDPEG6.js} +8 -8
- package/dist/{staticProjectServer-3D2NXQ6W.js → staticProjectServer-7H35NMWB.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-C-2YwYre.js → hyperframes-player-DJt8E7k4.js} +1 -1
- package/dist/studio/assets/{index-ByJU5J6n.js → index-BGks9KLI.js} +131 -131
- package/dist/studio/assets/{index-BybGk67U.js → index-DWIHrAY2.js} +1 -1
- package/dist/studio/assets/{index-Cfs2r3fz.js → index-DgbLblGR.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-XIBDLRHB.js → studio-api-HGM2A5I3.js} +9 -9
- package/dist/{studioServer-QIQK47UN.js → studioServer-M6XFL7N6.js} +45 -45
- package/dist/{telemetry-565KDZUW.js → telemetry-KVCZKVTE.js} +3 -3
- package/dist/{timeline-E6XB7I6W.js → timeline-VYYKZR4V.js} +68 -15
- package/dist/{tokens-3ZAJENSE.js → tokens-B5NFFL55.js} +2 -2
- package/dist/{transcribe-XWQQCCBG.js → transcribe-SBETOIWI.js} +12 -12
- package/dist/{transcribe-WODP3T77.js → transcribe-WNFRYZAC.js} +18 -18
- package/dist/{updateCheck-QPYU4GRL.js → updateCheck-5MM2DFUC.js} +2 -2
- package/dist/{upgrade-2FJ5ZEN6.js → upgrade-LWID54R3.js} +2 -2
- package/dist/{urlDownloader-352AY25I.js → urlDownloader-CVLNXFDG.js} +6 -6
- package/dist/{validate-SP2VGNEI.js → validate-V4CGQ6OF.js} +20 -20
- package/dist/{video-RVNPFEA6.js → video-VJB2KRSS.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-3WD4JNMU.js +0 -3795
|
@@ -8,19 +8,19 @@ import {
|
|
|
8
8
|
auditClipDurations,
|
|
9
9
|
shouldIgnoreHttpError,
|
|
10
10
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IP73NMQT.js";
|
|
12
12
|
import {
|
|
13
13
|
rectToBbox
|
|
14
14
|
} from "./chunk-WBLXWOYK.js";
|
|
15
15
|
import {
|
|
16
16
|
ambiguousIssue,
|
|
17
17
|
loadBrowserScript
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-RJRGR5KF.js";
|
|
19
19
|
import {
|
|
20
20
|
serveStaticProjectHtml
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-L3N7RJHS.js";
|
|
22
22
|
import "./chunk-XUHOIDKG.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-QLGBNGXC.js";
|
|
24
24
|
import "./chunk-X7MTZ4T2.js";
|
|
25
25
|
import {
|
|
26
26
|
AUDIT_SEEK_OPTIONS,
|
|
@@ -33,42 +33,42 @@ import {
|
|
|
33
33
|
resolveCliChromeGpuMode,
|
|
34
34
|
seekCompositionTimeline,
|
|
35
35
|
waitForPreferredSeekTarget
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-RYL6ZIJP.js";
|
|
37
37
|
import "./chunk-FH7WODJH.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-RRBKEHST.js";
|
|
39
|
+
import "./chunk-HVXRYMGQ.js";
|
|
40
40
|
import "./chunk-WPNE5NEP.js";
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-BRF3O35X.js";
|
|
42
|
+
import "./chunk-XNDXENJQ.js";
|
|
43
43
|
import "./chunk-FJWEYVEM.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-XXPYZBZ3.js";
|
|
45
45
|
import {
|
|
46
46
|
FfmpegUnavailableError,
|
|
47
47
|
decideMediaProxyEligibility,
|
|
48
48
|
proxyVariantFor,
|
|
49
49
|
resolveProxies,
|
|
50
50
|
scanProjectMediaCodecMap
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-3ZPFRDEJ.js";
|
|
52
52
|
import "./chunk-AIJS74LG.js";
|
|
53
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-KXX6NLOT.js";
|
|
54
54
|
import "./chunk-K2FLNJVB.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-ZGCRVM5M.js";
|
|
56
56
|
import "./chunk-442JNXRM.js";
|
|
57
57
|
import {
|
|
58
58
|
resolveAutoProxy
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-FAIYEIZ4.js";
|
|
60
60
|
import "./chunk-XT7X6QCP.js";
|
|
61
61
|
import "./chunk-4YYJOFKS.js";
|
|
62
62
|
import "./chunk-HVW7ABXD.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
63
|
+
import "./chunk-XGLNQDLN.js";
|
|
64
|
+
import "./chunk-N4IXP3MY.js";
|
|
65
|
+
import "./chunk-YZTVHRJ2.js";
|
|
66
66
|
import "./chunk-AWDFDFI3.js";
|
|
67
67
|
import "./chunk-P6LJ4Y32.js";
|
|
68
68
|
import "./chunk-GMECXFAN.js";
|
|
69
69
|
import "./chunk-374QQGBQ.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-ZD3RDNZI.js";
|
|
71
|
+
import "./chunk-IZ7L6V76.js";
|
|
72
72
|
import "./chunk-VWG7OQKU.js";
|
|
73
73
|
import "./chunk-XBSPQ52S.js";
|
|
74
74
|
import "./chunk-S3S4TGEH.js";
|
|
@@ -77,22 +77,22 @@ import "./chunk-PBN6GBJE.js";
|
|
|
77
77
|
import "./chunk-ZTZA4UWZ.js";
|
|
78
78
|
import "./chunk-EOOEC32M.js";
|
|
79
79
|
import "./chunk-TJSTGSAW.js";
|
|
80
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-35PWWBGZ.js";
|
|
81
81
|
import "./chunk-K4WIOZFP.js";
|
|
82
82
|
import "./chunk-XUXGIA7H.js";
|
|
83
83
|
import "./chunk-WERLJGIC.js";
|
|
84
84
|
import "./chunk-ISN5GRYI.js";
|
|
85
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-TCWMDCBX.js";
|
|
86
86
|
import "./chunk-EOVYQ3IG.js";
|
|
87
87
|
import "./chunk-AMKC3AXA.js";
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-
|
|
88
|
+
import "./chunk-IZPN423R.js";
|
|
89
|
+
import "./chunk-3SVC7SW4.js";
|
|
90
90
|
import "./chunk-NE55C6S5.js";
|
|
91
91
|
import "./chunk-JYVGYKXG.js";
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-XQKVEQNY.js";
|
|
93
|
+
import "./chunk-QBYHNRHU.js";
|
|
94
94
|
import "./chunk-VC76R6W2.js";
|
|
95
|
-
import "./chunk-
|
|
95
|
+
import "./chunk-UJKQWGFF.js";
|
|
96
96
|
import "./chunk-LFNQDTSH.js";
|
|
97
97
|
import "./chunk-OFQWTKPW.js";
|
|
98
98
|
import "./chunk-DPVXBVLL.js";
|
|
@@ -100,7 +100,7 @@ import "./chunk-T76PLPD6.js";
|
|
|
100
100
|
import "./chunk-FXMKHHPO.js";
|
|
101
101
|
import "./chunk-RQVDTPGD.js";
|
|
102
102
|
import "./chunk-TWWSYAKJ.js";
|
|
103
|
-
import "./chunk-
|
|
103
|
+
import "./chunk-GNTVYF7E.js";
|
|
104
104
|
import "./chunk-IWFLMU2N.js";
|
|
105
105
|
import "./chunk-APDLWWFG.js";
|
|
106
106
|
import "./chunk-VAS6HQX3.js";
|
|
@@ -118,6 +118,118 @@ import "./chunk-M2WBOQ2Q.js";
|
|
|
118
118
|
// src/utils/checkBrowser.ts
|
|
119
119
|
import { mkdirSync, writeFileSync } from "fs";
|
|
120
120
|
import { join, resolve } from "path";
|
|
121
|
+
|
|
122
|
+
// src/utils/gsapTweenTails.ts
|
|
123
|
+
var TWEEN_TAIL_WINDOW = 0.25;
|
|
124
|
+
function findTweenTails(records) {
|
|
125
|
+
return records.flatMap(
|
|
126
|
+
(earlier) => records.flatMap((later) => {
|
|
127
|
+
const tail = tailBetween(earlier, later);
|
|
128
|
+
return tail ? [tail] : [];
|
|
129
|
+
})
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
function tailBetween(earlier, later) {
|
|
133
|
+
if (later.target !== earlier.target || later.timeline !== earlier.timeline) return null;
|
|
134
|
+
const overlaps = earlier.start < later.start && later.start < earlier.end;
|
|
135
|
+
const tail = earlier.end - later.end;
|
|
136
|
+
if (!overlaps || tail <= 0 || tail > TWEEN_TAIL_WINDOW) return null;
|
|
137
|
+
const properties = earlier.properties.filter((name) => later.properties.includes(name));
|
|
138
|
+
if (properties.length === 0) return null;
|
|
139
|
+
return {
|
|
140
|
+
timeline: earlier.timeline,
|
|
141
|
+
label: earlier.label,
|
|
142
|
+
properties,
|
|
143
|
+
earlier: { start: earlier.start, end: earlier.end },
|
|
144
|
+
later: { start: later.start, end: later.end }
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function tweenTailMessage(tail) {
|
|
148
|
+
const props = tail.properties.join(", ");
|
|
149
|
+
const seconds = (value) => `${value.toFixed(3)} s`;
|
|
150
|
+
return `In timeline "${tail.timeline}", a tween on ${props} of ${tail.label} ends at ${seconds(tail.earlier.end)}, ${(tail.earlier.end - tail.later.end).toFixed(3)} s after a later tween on ${props} ends at ${seconds(tail.later.end)}. For that tail the earlier tween takes ${props} back and leaves its own end value on screen, so the later tween's end never shows. End the earlier tween by ${seconds(tail.later.start)}, or add overwrite: "auto" to the later tween.`;
|
|
151
|
+
}
|
|
152
|
+
function collectTweenRecords() {
|
|
153
|
+
const NOT_PROPERTIES = /* @__PURE__ */ new Set([
|
|
154
|
+
"duration",
|
|
155
|
+
"delay",
|
|
156
|
+
"ease",
|
|
157
|
+
"repeat",
|
|
158
|
+
"repeatDelay",
|
|
159
|
+
"repeatRefresh",
|
|
160
|
+
"yoyo",
|
|
161
|
+
"yoyoEase",
|
|
162
|
+
"stagger",
|
|
163
|
+
"overwrite",
|
|
164
|
+
"immediateRender",
|
|
165
|
+
"lazy",
|
|
166
|
+
"paused",
|
|
167
|
+
"reversed",
|
|
168
|
+
"runBackwards",
|
|
169
|
+
"startAt",
|
|
170
|
+
"keyframes",
|
|
171
|
+
"inherit",
|
|
172
|
+
"data",
|
|
173
|
+
"id",
|
|
174
|
+
"callbackScope",
|
|
175
|
+
"onStart",
|
|
176
|
+
"onStartParams",
|
|
177
|
+
"onUpdate",
|
|
178
|
+
"onUpdateParams",
|
|
179
|
+
"onComplete",
|
|
180
|
+
"onCompleteParams",
|
|
181
|
+
"onRepeat",
|
|
182
|
+
"onRepeatParams",
|
|
183
|
+
"onReverseComplete",
|
|
184
|
+
"onReverseCompleteParams",
|
|
185
|
+
"parent",
|
|
186
|
+
"onInterrupt",
|
|
187
|
+
"autoRevert",
|
|
188
|
+
"smoothChildTiming"
|
|
189
|
+
]);
|
|
190
|
+
const registered = window.__timelines ?? {};
|
|
191
|
+
const names = /* @__PURE__ */ new Map();
|
|
192
|
+
for (const [name, timeline] of Object.entries(registered)) {
|
|
193
|
+
if (typeof timeline?.getChildren === "function") names.set(timeline, name);
|
|
194
|
+
}
|
|
195
|
+
const ids = /* @__PURE__ */ new Map();
|
|
196
|
+
function nestedInAnother(timeline) {
|
|
197
|
+
for (let parent = timeline.parent; parent; parent = parent.parent) {
|
|
198
|
+
if (names.has(parent)) return true;
|
|
199
|
+
}
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
function plainProperties(tween) {
|
|
203
|
+
const vars = tween.vars ?? {};
|
|
204
|
+
const plain = !vars.repeat && !vars.yoyo && !vars.keyframes && !vars.overwrite;
|
|
205
|
+
return plain ? Object.keys(vars).filter((key) => !NOT_PROPERTIES.has(key)) : [];
|
|
206
|
+
}
|
|
207
|
+
function labelOf(target) {
|
|
208
|
+
if (!(target instanceof Element)) return "an object";
|
|
209
|
+
if (target.id) return `#${target.id}`;
|
|
210
|
+
return [target.tagName.toLowerCase(), ...target.classList].join(".");
|
|
211
|
+
}
|
|
212
|
+
function recordsOf(timeline, name) {
|
|
213
|
+
const origin = timeline.globalTime(0);
|
|
214
|
+
return (timeline.getChildren?.(true, true, false) ?? []).flatMap((tween) => {
|
|
215
|
+
const duration = tween.totalDuration();
|
|
216
|
+
const properties = plainProperties(tween);
|
|
217
|
+
if (!(duration > 0) || properties.length === 0) return [];
|
|
218
|
+
const start = tween.globalTime(0) - origin;
|
|
219
|
+
const end = tween.globalTime(duration) - origin;
|
|
220
|
+
return tween.targets().map((target) => {
|
|
221
|
+
if (!ids.has(target)) ids.set(target, ids.size);
|
|
222
|
+
const id = ids.get(target) ?? -1;
|
|
223
|
+
return { timeline: name, target: id, label: labelOf(target), properties, start, end };
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
return [...names].flatMap(
|
|
228
|
+
([timeline, name]) => nestedInAnother(timeline) ? [] : recordsOf(timeline, name)
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// src/utils/checkBrowser.ts
|
|
121
233
|
async function preResolveHostileMediaProxies(projectDir, html, autoProxyOverride) {
|
|
122
234
|
const none = { findings: [], failedPaths: /* @__PURE__ */ new Set() };
|
|
123
235
|
if (!resolveAutoProxy(projectDir, autoProxyOverride)) return none;
|
|
@@ -172,7 +284,7 @@ function proxyFailedDraft(message) {
|
|
|
172
284
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
173
285
|
}
|
|
174
286
|
async function runBrowserCheck(project, options, motion, runGrid) {
|
|
175
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
287
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-26MXQOZG.js");
|
|
176
288
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
177
289
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
178
290
|
project.dir,
|
|
@@ -202,10 +314,14 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
202
314
|
await waitForPreferredSeekTarget(page);
|
|
203
315
|
const rootAnchor = await resolveRootAnchor(page);
|
|
204
316
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
205
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
317
|
+
const { analyzeClipMediaFit } = await import("./src-2NN2WB6X.js");
|
|
206
318
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
207
319
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
208
320
|
}
|
|
321
|
+
for (const tail of findTweenTails(await page.evaluate(collectTweenRecords) ?? [])) {
|
|
322
|
+
const message = tweenTailMessage(tail);
|
|
323
|
+
drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
|
|
324
|
+
}
|
|
209
325
|
const driver = createPageDriver(page, (time) => {
|
|
210
326
|
currentTime = time;
|
|
211
327
|
});
|
|
@@ -226,7 +342,7 @@ async function runBrowserCheck(project, options, motion, runGrid) {
|
|
|
226
342
|
}
|
|
227
343
|
async function captureFindingCrops(project, options, requests) {
|
|
228
344
|
if (requests.length === 0) return [];
|
|
229
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
345
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-26MXQOZG.js");
|
|
230
346
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
231
347
|
const server = await serveStaticProjectHtml(
|
|
232
348
|
project.dir,
|
|
@@ -438,6 +554,7 @@ function wireNetworkListeners(page, drafts, currentTime) {
|
|
|
438
554
|
function createPageDriver(page, setTime) {
|
|
439
555
|
return {
|
|
440
556
|
initialize: (contrast) => injectAuditScripts(page, contrast),
|
|
557
|
+
matchComponents: (components, findings) => page.evaluate(matchComponentFindings, { components, findings }),
|
|
441
558
|
getDuration: () => getCompositionDuration(page),
|
|
442
559
|
hasNoTimelineDeclaration: () => hasNoTimelineDeclaration(page),
|
|
443
560
|
getTransitionBoundaries: () => collectTweenBoundaries(page),
|
|
@@ -1174,12 +1291,37 @@ function urlPath(url) {
|
|
|
1174
1291
|
return url;
|
|
1175
1292
|
}
|
|
1176
1293
|
}
|
|
1294
|
+
function matchComponentFindings({
|
|
1295
|
+
components,
|
|
1296
|
+
findings
|
|
1297
|
+
}) {
|
|
1298
|
+
const roots = components.flatMap((selector) => {
|
|
1299
|
+
const matches = [...document.querySelectorAll(selector)];
|
|
1300
|
+
if (!matches.length) throw new Error(`Component selector matched nothing: ${selector}`);
|
|
1301
|
+
return matches;
|
|
1302
|
+
});
|
|
1303
|
+
function matchesSelector(selector) {
|
|
1304
|
+
try {
|
|
1305
|
+
const elements = [...document.querySelectorAll(selector)];
|
|
1306
|
+
if (!elements.length) return null;
|
|
1307
|
+
return elements.some((el) => roots.some((root) => root.contains(el)));
|
|
1308
|
+
} catch {
|
|
1309
|
+
return null;
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
return findings.map((finding) => {
|
|
1313
|
+
if (!finding.selector || finding.selector === "[data-composition-id]") return true;
|
|
1314
|
+
const container = Reflect.get(finding, "containerSelector");
|
|
1315
|
+
return matchesSelector(finding.selector) !== false || typeof container === "string" && matchesSelector(container) !== false;
|
|
1316
|
+
});
|
|
1317
|
+
}
|
|
1177
1318
|
export {
|
|
1178
1319
|
captureFindingCrops,
|
|
1179
1320
|
captureOverviewShot,
|
|
1180
1321
|
collectSeekClock,
|
|
1181
1322
|
dropFailedProxyEchoes,
|
|
1182
1323
|
keepBrokenImageAborts,
|
|
1324
|
+
matchComponentFindings,
|
|
1183
1325
|
preResolveHostileMediaProxies,
|
|
1184
1326
|
runBrowserCheck
|
|
1185
1327
|
};
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
ensureHfIds
|
|
9
9
|
} from "./chunk-NE55C6S5.js";
|
|
10
10
|
import {
|
|
11
|
+
HF_AUDIO_FX_ATTR,
|
|
11
12
|
HF_COLOR_GRADING_ATTR,
|
|
12
13
|
INLINED_FILE_ATTR,
|
|
13
14
|
RUNTIME_BOOTSTRAP_ATTR,
|
|
@@ -38,7 +39,7 @@ import {
|
|
|
38
39
|
stripEmbeddedRuntimeScripts,
|
|
39
40
|
styleElementsFor,
|
|
40
41
|
warnUnknownEnumValues
|
|
41
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-QBYHNRHU.js";
|
|
42
43
|
import {
|
|
43
44
|
cssVariableName
|
|
44
45
|
} from "./chunk-VC76R6W2.js";
|
|
@@ -48,7 +49,7 @@ import {
|
|
|
48
49
|
} from "./chunk-OFQWTKPW.js";
|
|
49
50
|
import {
|
|
50
51
|
lintHyperframeHtml
|
|
51
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-GNTVYF7E.js";
|
|
52
53
|
import {
|
|
53
54
|
checkSubCompositionUsability,
|
|
54
55
|
resolveSubCompositionContent
|
|
@@ -126,6 +127,9 @@ async function clampProbedMedia(html, projectDir, probeMediaDuration) {
|
|
|
126
127
|
return html;
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
// ../core/dist/compiler/htmlBundler.js
|
|
131
|
+
import { createHash } from "crypto";
|
|
132
|
+
|
|
129
133
|
// ../core/dist/sceneParts.js
|
|
130
134
|
var SCENE_PART_ATTR = "data-hf-scene";
|
|
131
135
|
var SCENE_PARTS_META = "hf-scene-parts";
|
|
@@ -275,26 +279,35 @@ function isTemplateEntry(html) {
|
|
|
275
279
|
function normalizeCompositionSrcPath(srcPath) {
|
|
276
280
|
return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
277
281
|
}
|
|
278
|
-
function
|
|
282
|
+
function readSceneRoot(entryHtml) {
|
|
279
283
|
if (!entryHtml)
|
|
280
284
|
return null;
|
|
281
285
|
const { document } = parseHTML(entryHtml);
|
|
282
286
|
const template = document.querySelector("template");
|
|
283
287
|
const scope = template ? parseHTML(template.innerHTML).document : document;
|
|
284
|
-
|
|
285
|
-
|
|
288
|
+
return scope.querySelector("[data-composition-id]");
|
|
289
|
+
}
|
|
290
|
+
function setSceneFxChain(el, sceneFxChain) {
|
|
291
|
+
if (sceneFxChain) {
|
|
292
|
+
el.setAttribute(HF_AUDIO_FX_ATTR, sceneFxChain);
|
|
293
|
+
} else {
|
|
294
|
+
el.removeAttribute(HF_AUDIO_FX_ATTR);
|
|
295
|
+
}
|
|
286
296
|
}
|
|
287
|
-
function createStandaloneEntryRenderClone(root, host, sceneDuration) {
|
|
297
|
+
function createStandaloneEntryRenderClone(root, host, sceneDuration, sceneFxChain) {
|
|
288
298
|
const hostClone = host.cloneNode(true);
|
|
289
299
|
hostClone.setAttribute("data-start", "0");
|
|
290
|
-
if (root === host)
|
|
300
|
+
if (root === host) {
|
|
301
|
+
setSceneFxChain(hostClone, sceneFxChain);
|
|
291
302
|
return hostClone;
|
|
303
|
+
}
|
|
292
304
|
const rootClone = root.cloneNode(false);
|
|
293
305
|
if (sceneDuration != null) {
|
|
294
306
|
rootClone.setAttribute("data-duration", sceneDuration);
|
|
295
307
|
} else {
|
|
296
308
|
rootClone.removeAttribute("data-duration");
|
|
297
309
|
}
|
|
310
|
+
setSceneFxChain(rootClone, sceneFxChain);
|
|
298
311
|
rootClone.appendChild(hostClone);
|
|
299
312
|
return rootClone;
|
|
300
313
|
}
|
|
@@ -320,8 +333,10 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
|
|
|
320
333
|
const root = Array.from(body.children).find((candidate) => candidate.hasAttribute("data-composition-id")) ?? null;
|
|
321
334
|
if (!root)
|
|
322
335
|
return null;
|
|
323
|
-
const
|
|
324
|
-
const
|
|
336
|
+
const sceneRoot = readSceneRoot(entryHtml);
|
|
337
|
+
const sceneDuration = sceneRoot?.getAttribute("data-duration") ?? host.getAttribute("data-duration");
|
|
338
|
+
const sceneFxChain = sceneRoot?.getAttribute(HF_AUDIO_FX_ATTR) || null;
|
|
339
|
+
const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration, sceneFxChain);
|
|
325
340
|
replaceBodyWithRenderClone(body, renderClone);
|
|
326
341
|
return document.toString();
|
|
327
342
|
}
|
|
@@ -2396,7 +2411,7 @@ function pushRun(runs, scene, chunk) {
|
|
|
2396
2411
|
else
|
|
2397
2412
|
runs.push({ scene, chunks: [chunk] });
|
|
2398
2413
|
}
|
|
2399
|
-
function coalesceHeadStylesAndBodyScripts(document) {
|
|
2414
|
+
function coalesceHeadStylesAndBodyScripts(document, provenance) {
|
|
2400
2415
|
const allHeadStyles = [...document.querySelectorAll("head style")];
|
|
2401
2416
|
const isScenePart = (el) => el.hasAttribute(SCENE_PART_ATTR);
|
|
2402
2417
|
for (const run of allHeadStyles.length > 1 ? headStyleRuns(allHeadStyles, isScenePart) : []) {
|
|
@@ -2414,7 +2429,7 @@ function coalesceHeadStylesAndBodyScripts(document) {
|
|
|
2414
2429
|
const mergedJs = joinJsChunks(members.map((el) => el.textContent || ""));
|
|
2415
2430
|
if (mergedJs && !parsesAsScript(mergedJs)) {
|
|
2416
2431
|
for (const el of members)
|
|
2417
|
-
el.textContent = inlineScriptSource(el.textContent || "");
|
|
2432
|
+
el.textContent = inlineScriptSource(el.textContent || "", provenance);
|
|
2418
2433
|
continue;
|
|
2419
2434
|
}
|
|
2420
2435
|
for (const el of members)
|
|
@@ -2422,7 +2437,7 @@ function coalesceHeadStylesAndBodyScripts(document) {
|
|
|
2422
2437
|
if (!mergedJs)
|
|
2423
2438
|
continue;
|
|
2424
2439
|
const inlineScript = document.createElement("script");
|
|
2425
|
-
inlineScript.textContent = inlineScriptSource(mergedJs);
|
|
2440
|
+
inlineScript.textContent = inlineScriptSource(mergedJs, provenance);
|
|
2426
2441
|
if (anchor)
|
|
2427
2442
|
anchor.before(inlineScript);
|
|
2428
2443
|
else
|
|
@@ -2451,18 +2466,29 @@ function parsesAsScript(source) {
|
|
|
2451
2466
|
return false;
|
|
2452
2467
|
}
|
|
2453
2468
|
}
|
|
2454
|
-
function stripJsCommentsParserSafe(source) {
|
|
2469
|
+
function stripJsCommentsParserSafe(source, provenance) {
|
|
2455
2470
|
if (!source)
|
|
2456
2471
|
return source;
|
|
2457
2472
|
try {
|
|
2458
|
-
const result = transformSync(source, {
|
|
2473
|
+
const result = transformSync(source, {
|
|
2474
|
+
loader: "js",
|
|
2475
|
+
minify: false,
|
|
2476
|
+
legalComments: "none",
|
|
2477
|
+
...provenance ? { sourcemap: "external", sourcefile: "hf-authored-bundle.js" } : {}
|
|
2478
|
+
});
|
|
2479
|
+
if (provenance) {
|
|
2480
|
+
const sourceURL = `hf-inspect-${createHash("sha256").update(source).digest("hex")}.js`;
|
|
2481
|
+
provenance({ input: source, output: result.code.trim(), sourceMap: result.map, sourceURL });
|
|
2482
|
+
return `${result.code.trim()}
|
|
2483
|
+
//# sourceURL=${sourceURL}`;
|
|
2484
|
+
}
|
|
2459
2485
|
return result.code.trim();
|
|
2460
2486
|
} catch {
|
|
2461
2487
|
return source;
|
|
2462
2488
|
}
|
|
2463
2489
|
}
|
|
2464
|
-
function inlineScriptSource(js) {
|
|
2465
|
-
return escapeInlineScriptSource(stripJsCommentsParserSafe(js));
|
|
2490
|
+
function inlineScriptSource(js, provenance) {
|
|
2491
|
+
return escapeInlineScriptSource(stripJsCommentsParserSafe(js, provenance));
|
|
2466
2492
|
}
|
|
2467
2493
|
function preserveLocalScriptIntegrity(doc, src, resolvePath) {
|
|
2468
2494
|
const path = resolvePath(src);
|
|
@@ -2792,7 +2818,7 @@ async function bundleProject(projectDir, options) {
|
|
|
2792
2818
|
const script = document.createElement("script");
|
|
2793
2819
|
if (scene)
|
|
2794
2820
|
script.setAttribute(SCENE_PART_ATTR, scene);
|
|
2795
|
-
script.textContent = skipsRunMerge ? inlineScriptSource(text) : text;
|
|
2821
|
+
script.textContent = skipsRunMerge ? inlineScriptSource(text, options?.scriptProvenance) : text;
|
|
2796
2822
|
document.body.appendChild(script);
|
|
2797
2823
|
}
|
|
2798
2824
|
}
|
|
@@ -2800,10 +2826,10 @@ async function bundleProject(projectDir, options) {
|
|
|
2800
2826
|
emitRootCompositionVariableStyles(document, compVariablesByComp);
|
|
2801
2827
|
enforceCompositionPixelSizing(document);
|
|
2802
2828
|
autoHealMissingCompositionIds(document);
|
|
2803
|
-
coalesceHeadStylesAndBodyScripts(document);
|
|
2829
|
+
coalesceHeadStylesAndBodyScripts(document, options?.scriptProvenance);
|
|
2804
2830
|
for (const el of document.querySelectorAll(`script[${INLINED_FILE_ATTR}]`)) {
|
|
2805
2831
|
const js = el.textContent ?? "";
|
|
2806
|
-
el.textContent = escapeInlineScriptSource(isJavaScriptType(el) ? stripJsCommentsParserSafe(js) : js);
|
|
2832
|
+
el.textContent = escapeInlineScriptSource(isJavaScriptType(el) ? stripJsCommentsParserSafe(js, options?.scriptProvenance) : js);
|
|
2807
2833
|
}
|
|
2808
2834
|
deferScriptsUntilFonts(document, (el) => el.hasAttribute(RUNTIME_BOOTSTRAP_ATTR));
|
|
2809
2835
|
injectTextRenderingRule(document);
|
|
@@ -3056,8 +3082,8 @@ function extractCompiledHtmlParityContract(html) {
|
|
|
3056
3082
|
}
|
|
3057
3083
|
|
|
3058
3084
|
// ../core/dist/compiler/scenePartsManifest.js
|
|
3059
|
-
import { createHash } from "crypto";
|
|
3060
|
-
var hash = (text) =>
|
|
3085
|
+
import { createHash as createHash2 } from "crypto";
|
|
3086
|
+
var hash = (text) => createHash2("sha1").update(text).digest("hex").slice(0, 16);
|
|
3061
3087
|
function addScenePartsManifest(html, ignore = []) {
|
|
3062
3088
|
const doc = parseHTMLContent(html);
|
|
3063
3089
|
const parts = [...doc.querySelectorAll(`[${SCENE_PART_ATTR}]`)];
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YEBKEWKB.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-KVCZKVTE.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-5ETJX6WM.js";
|
|
17
17
|
import {
|
|
18
18
|
runEnvironmentChecks
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-WUUOFMHU.js";
|
|
20
20
|
import {
|
|
21
21
|
getAvailableMemoryMb,
|
|
22
22
|
getFreeDiskMb,
|
|
@@ -32,21 +32,21 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
getUpdateMeta,
|
|
34
34
|
withMeta
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-35PWWBGZ.js";
|
|
36
36
|
import {
|
|
37
37
|
CONFIG_PATH,
|
|
38
38
|
withFileLock
|
|
39
39
|
} from "./chunk-XUXGIA7H.js";
|
|
40
40
|
import {
|
|
41
41
|
VERSION
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-TCWMDCBX.js";
|
|
43
43
|
import {
|
|
44
44
|
OPTIONAL_PACKAGES,
|
|
45
45
|
installedOptionalPackageVersion
|
|
46
46
|
} from "./chunk-3DKN5WKL.js";
|
|
47
47
|
import {
|
|
48
48
|
resolveExtractCacheDir
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-IZPN423R.js";
|
|
50
50
|
import {
|
|
51
51
|
normalizeErrorMessage
|
|
52
52
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -232,7 +232,7 @@ function checkEnvironment() {
|
|
|
232
232
|
return { ok: true, detail: parts.join(" \xB7 ") };
|
|
233
233
|
}
|
|
234
234
|
async function checkWhisper() {
|
|
235
|
-
const { findWhisper, getInstallInstructions } = await import("./manager-
|
|
235
|
+
const { findWhisper, getInstallInstructions } = await import("./manager-X44GKUEL.js");
|
|
236
236
|
const result = findWhisper();
|
|
237
237
|
if (result) {
|
|
238
238
|
return { ok: true, detail: result.executablePath };
|
|
@@ -218,13 +218,20 @@ function renderSetupError(error) {
|
|
|
218
218
|
const reason = failure?.reason ?? error.stderr.trim();
|
|
219
219
|
return reason ? new Error(reason, { cause: error }) : error;
|
|
220
220
|
}
|
|
221
|
+
function tsxLoaderFromCliInstall() {
|
|
222
|
+
try {
|
|
223
|
+
return import.meta.resolve("tsx");
|
|
224
|
+
} catch {
|
|
225
|
+
return "tsx";
|
|
226
|
+
}
|
|
227
|
+
}
|
|
221
228
|
async function runRenderSetupWorker(mode, input, options) {
|
|
222
229
|
const sourceMode = import.meta.url.endsWith(".ts");
|
|
223
230
|
const workerUrl = new URL(
|
|
224
231
|
sourceMode ? "../renderSetupWorker.ts" : "./renderSetupWorker.js",
|
|
225
232
|
import.meta.url
|
|
226
233
|
);
|
|
227
|
-
const execArgv = sourceMode ? ["--import",
|
|
234
|
+
const execArgv = sourceMode && !process.versions.bun ? ["--import", tsxLoaderFromCliInstall()] : [];
|
|
228
235
|
let result;
|
|
229
236
|
try {
|
|
230
237
|
result = await runCancellableProcess(
|