hyperframes 0.8.112 → 0.8.114
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-NIVC2YMT.js → add-KCBOVKEU.js} +15 -15
- package/dist/{animatedGifPrep-NWAJKCHG.js → animatedGifPrep-U7FMC7DB.js} +6 -6
- package/dist/{asset-O6JJKF3Z.js → asset-AJ4ZZE3K.js} +2 -2
- package/dist/{assetCataloger-DJSPW3RL.js → assetCataloger-5LCGR5XU.js} +2 -2
- package/dist/{auth-6XRZQQQS.js → auth-PSEHAWSA.js} +2 -2
- package/dist/{autoUpdate-GZHLQBLS.js → autoUpdate-E32YLKFZ.js} +2 -2
- package/dist/{backgroundChecks-4QQRGJ5S.js → backgroundChecks-FNHBA7YI.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-PJGNXN7F.js → batchRender-QVJ7NEUH.js} +3 -3
- package/dist/{beats-VYR6B4UB.js → beats-F67KZC3V.js} +11 -11
- package/dist/{benchmark-CGP2NKIP.js → benchmark-CGD6CPRK.js} +12 -12
- package/dist/{browser-ZWD4ETXK.js → browser-FPX3Z2AR.js} +11 -11
- package/dist/{bundleWithLocalizedFonts-JWHKLSZM.js → bundleWithLocalizedFonts-4CVITCYK.js} +2 -2
- package/dist/{capture-C4MPRLJV.js → capture-F2Y7TIHU.js} +8 -8
- package/dist/{capture-IQ7AUK6M.js → capture-GLHK4ST7.js} +2 -2
- package/dist/{catalog-RZ7PWQMS.js → catalog-4BZX7MQQ.js} +15 -15
- package/dist/{check-7UU4SSO6.js → check-IO3HWLLU.js} +32 -32
- package/dist/{checkBrowser-6KYNYIU7.js → checkBrowser-JTQ7ABCL.js} +29 -29
- package/dist/{chunk-OWN3ZIIK.js → chunk-3IUSKIZW.js} +1 -1
- package/dist/{chunk-UTXMQVB2.js → chunk-3SH322X7.js} +10 -10
- package/dist/{chunk-YQ5MFXWG.js → chunk-4KGMIOMY.js} +5 -5
- package/dist/{chunk-N34BYX3E.js → chunk-4PFZPP2N.js} +54 -30
- package/dist/{chunk-2GXKCB7J.js → chunk-6U3K3U62.js} +1 -1
- package/dist/{chunk-7G25WGTA.js → chunk-752X6G7T.js} +2 -2
- package/dist/{chunk-KQ3VNA6R.js → chunk-7543YIMQ.js} +1 -1
- package/dist/{chunk-GODQ5XA4.js → chunk-7ZR25WGW.js} +8 -16
- package/dist/{chunk-OXZO4WQI.js → chunk-BORVRAHJ.js} +9 -9
- package/dist/{chunk-H3WFEPV2.js → chunk-BOUDTDBQ.js} +1 -1
- package/dist/chunk-C6AIZOQN.js +3541 -0
- package/dist/{chunk-QXERSWXX.js → chunk-DQBY7FRR.js} +123 -3
- package/dist/{chunk-36XLW2TP.js → chunk-DR7QW6C5.js} +2 -2
- package/dist/{chunk-VW6CVKVA.js → chunk-E52XEEAA.js} +2 -2
- package/dist/{chunk-5SDXALUQ.js → chunk-ENHAGQEP.js} +1 -1
- package/dist/{chunk-C4JINRJK.js → chunk-FCEFKWPM.js} +1 -1
- package/dist/{chunk-P74PW7KR.js → chunk-G2T2X6FZ.js} +3 -3
- package/dist/{chunk-CS4IE5G7.js → chunk-GDJ74GHW.js} +4 -3
- package/dist/{chunk-KS5HFREQ.js → chunk-HGMKPPGD.js} +4 -4
- package/dist/{chunk-VHRHI3CU.js → chunk-HTQR7SUZ.js} +1 -1
- package/dist/{chunk-M4RYK5OF.js → chunk-IP3XINRB.js} +1 -1
- package/dist/{chunk-E664L6K3.js → chunk-IPXPSCWV.js} +3 -3
- package/dist/{chunk-LYBFDHXD.js → chunk-JH7ZJRDL.js} +3 -3
- package/dist/chunk-K4WKGXRC.js +18 -0
- package/dist/{chunk-JRULOVZK.js → chunk-L5QASNBN.js} +1 -1
- package/dist/{chunk-NOOBRCMC.js → chunk-LDSWUYZB.js} +3 -3
- package/dist/{chunk-TSZU5JMC.js → chunk-LMC46FK5.js} +2 -2
- package/dist/{chunk-P3AQVFY2.js → chunk-LSSIYIXI.js} +3 -3
- package/dist/{chunk-TXVN43SX.js → chunk-LYNBNESS.js} +80 -13
- package/dist/{chunk-BD3MHTSR.js → chunk-MLLBZR2U.js} +2 -2
- package/dist/{chunk-Q7U7QRC7.js → chunk-MR6BQLGM.js} +2 -2
- package/dist/{chunk-POEGJGEA.js → chunk-MST5JBOR.js} +1 -1
- package/dist/{chunk-J2S4MY2M.js → chunk-OCNCK5FQ.js} +2 -2
- package/dist/{chunk-BSBIG74E.js → chunk-P3FGUSFK.js} +8 -8
- package/dist/{chunk-4BXTKKRD.js → chunk-QPR4N2D4.js} +1 -1
- package/dist/{chunk-EA4LCCJI.js → chunk-RKSRXPKV.js} +5 -5
- package/dist/{chunk-KIIKVKHB.js → chunk-SIN32SJB.js} +2 -2
- package/dist/{chunk-PRETPA7Z.js → chunk-SSM2TJYE.js} +1 -1
- package/dist/{chunk-BLI5XATY.js → chunk-SYQOD3W7.js} +1 -1
- package/dist/{chunk-KPSRL2NB.js → chunk-T3NMEYGM.js} +1 -1
- package/dist/{chunk-3Q7HXIXZ.js → chunk-VFCKXTBB.js} +5 -2
- package/dist/{chunk-7VIXEM6Q.js → chunk-VLC7JS4K.js} +1 -1
- package/dist/{chunk-A6GVXZZ3.js → chunk-WAS5VEA4.js} +1 -1
- package/dist/{chunk-BZGWHPRW.js → chunk-XFJXFNJF.js} +3 -3
- package/dist/{chunk-7OJSZTJK.js → chunk-XXKBPGPJ.js} +2 -2
- package/dist/{chunk-YAFO7V4A.js → chunk-YJEGT5L6.js} +1 -1
- package/dist/{chunk-2BEOCUAG.js → chunk-ZMMSMDCA.js} +1 -1
- package/dist/{clean-263PH5CR.js → clean-MCL76KQH.js} +16 -16
- package/dist/cli.js +122 -54
- package/dist/{cloud-STLYEQNN.js → cloud-444K6HIK.js} +4 -4
- package/dist/{cloudrun-7ZVNB6FY.js → cloudrun-BML6ZG7K.js} +3 -3
- package/dist/{compare-33JLJ52D.js → compare-CGNTCOR2.js} +24 -24
- package/dist/{compiler-H3QAMMC2.js → compiler-ZHVIEP26.js} +3 -3
- package/dist/{component-O5JLM26B.js → component-HTXLOIHR.js} +3 -3
- package/dist/{compositions-CN4ZVT5G.js → compositions-KK46F5AC.js} +11 -11
- package/dist/{delete-Z23A45R3.js → delete-SSRZKKWQ.js} +2 -2
- package/dist/{deploy-PJLSZMUH.js → deploy-MX76RZ36.js} +1 -1
- package/dist/{destroy-IPUDK6YN.js → destroy-H2TZBYHH.js} +1 -1
- package/dist/{dist-ICXYT7XK.js → dist-HRBNHR4M.js} +1 -1
- package/dist/{dist-7VEVT4NT.js → dist-OKRUIHYU.js} +2 -2
- package/dist/{doctor-6QLXSGPK.js → doctor-IIOX25KM.js} +11 -11
- package/dist/{events-UA4DJUO2.js → events-DCUZBRW6.js} +9 -9
- package/dist/{events-EAAIWITP.js → events-TYMMAKHX.js} +8 -8
- package/dist/{feedback-2CIRCBHY.js → feedback-RIAGW6LG.js} +10 -10
- package/dist/{figma-DFCCII66.js → figma-VBOUGJNX.js} +3 -3
- package/dist/fontLocalizeCli.js +8 -8
- package/dist/{get-UQ2AAXWM.js → get-LT6NUGNR.js} +2 -2
- package/dist/{gpuPolicy-CPCLBMS5.js → gpuPolicy-LRMOZXFU.js} +6 -6
- package/dist/{grade-compare-THUUFHO3.js → grade-compare-WWYQSQUM.js} +24 -24
- package/dist/{help-SR2MRL3U.js → help-55ZV2M5U.js} +1 -1
- package/dist/{history-WLI7KFXB.js → history-QCY7CO4P.js} +16 -17
- package/dist/hyperframe-runtime.js +52 -52
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +52 -52
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-DFJM3YRJ.js → info-ROTXHRAH.js} +11 -11
- package/dist/{init-HEAMOTGH.js → init-5XFOWGGN.js} +25 -24
- package/dist/{inspect-TO2EXJNK.js → inspect-3UF4VLTM.js} +25 -25
- package/dist/{installer-REA7ZASD.js → installer-DGYYDGWJ.js} +4 -4
- package/dist/{keyframes-XHEBAJY7.js → keyframes-OFZ6XNMC.js} +12 -12
- package/dist/{lambda-MSWYKDNT.js → lambda-OQBFCEFA.js} +6 -6
- package/dist/{layout-UQXCTFFV.js → layout-B4XF2734.js} +25 -25
- package/dist/{lint-BSMZ526C.js → lint-3YIJITTC.js} +12 -12
- package/dist/{lintProject-VNE322A7.js → lintProject-TOLC6HDS.js} +1 -1
- package/dist/{list-RNP5EMTX.js → list-276FF3QE.js} +2 -2
- package/dist/{login-S6V75HG5.js → login-SA3MCAIS.js} +4 -4
- package/dist/{manager-NEVLEZK3.js → manager-CT3D67CG.js} +1 -1
- package/dist/{media-treatment-IHEEEDUQ.js → media-treatment-ICA5DWHS.js} +12 -12
- package/dist/{models-OQEBKNJI.js → models-JF5OOZ5A.js} +7 -7
- package/dist/{motionShot-EAIFVJ2I.js → motionShot-TQBDZZ4M.js} +12 -12
- package/dist/{normalize-audio-4ACUR6W6.js → normalize-audio-URNASKUV.js} +11 -11
- package/dist/{pipeline-SOQHD5YN.js → pipeline-IWPF5ZMK.js} +6 -6
- package/dist/{play-3WJPS3FE.js → play-JYBAII35.js} +20 -20
- package/dist/{preflight-ZUADCOLZ.js → preflight-2GH2Z4GZ.js} +8 -8
- package/dist/{present-MU23WZZA.js → present-WIEZRZET.js} +16 -16
- package/dist/{preview-VOTNRX67.js → preview-YUPU646E.js} +171 -93
- package/dist/{producer-HKRMTCPU.js → producer-SL66UNEP.js} +1 -1
- package/dist/{projectConfig-H37MQGE6.js → projectConfig-7AKXZNNR.js} +6 -6
- package/dist/{publication-QVDKMAKD.js → publication-B2OERUY7.js} +2 -2
- package/dist/{publish-54IPKU5O.js → publish-ZGKT7KED.js} +8 -8
- package/dist/{remove-background-KQQ2WPKP.js → remove-background-4LRTT6YL.js} +7 -7
- package/dist/{render-HJQ44SEI.js → render-AX77WC3C.js} +12 -12
- package/dist/{render-P7727PLY.js → render-F3QVCKKA.js} +23 -23
- package/dist/{render-S2T3SLI4.js → render-TGCDBKMP.js} +3 -3
- package/dist/{render-batch-DUFAHD6F.js → render-batch-WRQFW4UC.js} +3 -3
- package/dist/{renderCancellation-BSVXXGZM.js → renderCancellation-BFCQYGVV.js} +6 -6
- package/dist/renderSetupWorker.js +2 -2
- package/dist/{resolver-PHWKDEH2.js → resolver-37UOGAMT.js} +4 -4
- package/dist/{sherpa-GHQOWXFV.js → sherpa-SDVKYXCX.js} +7 -7
- package/dist/{skills-SOCMD66Y.js → skills-M6ETUUH5.js} +11 -11
- package/dist/{skillsUpdateCheck-PONPICQM.js → skillsUpdateCheck-UTX5LT5C.js} +3 -3
- package/dist/{snapshot-ECXEZ4TY.js → snapshot-HMDAENTY.js} +143 -54
- package/dist/{src-LVBNYMJW.js → src-PJJ6NISA.js} +5 -5
- package/dist/{src-RQE5HXZK.js → src-PLWCT745.js} +7 -7
- package/dist/{staticProjectServer-TQYP44CW.js → staticProjectServer-XDH5SQV6.js} +14 -14
- package/dist/{status-HVI7QZHE.js → status-LENRPQS5.js} +6 -6
- package/dist/studio/assets/{hyperframes-player-CBpg41JM.js → hyperframes-player-aXNJKiIg.js} +1 -1
- package/dist/studio/assets/index-BYnsJnJV.css +1 -0
- package/dist/studio/assets/{index-BFitquwi.js → index-Bn2RJNTJ.js} +1 -1
- package/dist/studio/assets/{index-CZfrSyU9.js → index-C9N-DGjC.js} +1 -1
- package/dist/studio/assets/{index-BKy_birQ.js → index-Dz7doz9l.js} +199 -199
- package/dist/studio/index.d.ts +3 -3
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +1605 -1536
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/styles.css +1 -1
- package/dist/{studio-api-EKF6TFDB.js → studio-api-E5WFZ7YK.js} +8 -8
- package/dist/{studioSelectionClient-A6JCWRRW.js → studioSelectionClient-IUUPKUHZ.js} +1 -2
- package/dist/{studioServer-BSNDGK63.js → studioServer-C7GTHTRY.js} +43 -43
- package/dist/{system-NLNIE7PO.js → system-4KRSV2B7.js} +6 -6
- package/dist/{telemetry-XNDAM6JU.js → telemetry-XH6D37RL.js} +9 -9
- package/dist/{timeline-IKWTTCNY.js → timeline-4RR7O6QW.js} +15 -15
- package/dist/{tokens-KOTFKBAK.js → tokens-MVTK3RPO.js} +2 -2
- package/dist/{transcribe-ELJHKA5B.js → transcribe-3UXXEDXX.js} +7 -7
- package/dist/{transcribe-STEYOXIO.js → transcribe-I6WDPH7E.js} +12 -12
- package/dist/{tts-DO2W6NLB.js → tts-P3LIPIL5.js} +13 -6
- package/dist/{updateCheck-OJMEQUST.js → updateCheck-ELMPFCBF.js} +2 -2
- package/dist/{upgrade-NIS32YR6.js → upgrade-6UAOGP4D.js} +2 -2
- package/dist/{urlDownloader-KJSQAFN7.js → urlDownloader-4KNER64L.js} +5 -5
- package/dist/{validate-7MCKNH5K.js → validate-ZMMGUMBD.js} +15 -15
- package/dist/{video-TUXP3VGQ.js → video-GINAMW5I.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-S6TH5G6Z.js +0 -3541
- package/dist/chunk-VWA4HODG.js +0 -129
- package/dist/studio/assets/index-DbfKVTId.css +0 -1
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
} from "./chunk-KZI44OPA.js";
|
|
10
10
|
import {
|
|
11
11
|
serveStaticProjectHtml
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LDSWUYZB.js";
|
|
13
13
|
import "./chunk-XUHOIDKG.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-752X6G7T.js";
|
|
15
15
|
import "./chunk-X7MTZ4T2.js";
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_ZOOM_SCALE,
|
|
@@ -21,48 +21,49 @@ import {
|
|
|
21
21
|
resolveCropRegion,
|
|
22
22
|
runFfmpegOnce,
|
|
23
23
|
seekCompositionTimeline
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-4KGMIOMY.js";
|
|
25
25
|
import "./chunk-5Z63TBTX.js";
|
|
26
26
|
import "./chunk-262C25DQ.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-3IUSKIZW.js";
|
|
28
28
|
import "./chunk-YEIFI443.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-LYNBNESS.js";
|
|
30
|
+
import "./chunk-XFJXFNJF.js";
|
|
31
31
|
import "./chunk-WEATBQTR.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-GDJ74GHW.js";
|
|
33
|
+
import "./chunk-LMC46FK5.js";
|
|
34
34
|
import {
|
|
35
35
|
resolveProject
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-WAS5VEA4.js";
|
|
37
37
|
import {
|
|
38
38
|
formatLintFindings
|
|
39
39
|
} from "./chunk-6CSYCFQV.js";
|
|
40
40
|
import "./chunk-IHFUKJOR.js";
|
|
41
|
+
import {
|
|
42
|
+
resolveLocalBrowserGpuMode
|
|
43
|
+
} from "./chunk-T3NMEYGM.js";
|
|
41
44
|
import "./chunk-PFCFR3KZ.js";
|
|
42
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-BOUDTDBQ.js";
|
|
43
46
|
import "./chunk-XT7X6QCP.js";
|
|
44
47
|
import "./chunk-4YYJOFKS.js";
|
|
45
48
|
import "./chunk-HVW7ABXD.js";
|
|
46
|
-
import
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
import "./chunk-5SDXALUQ.js";
|
|
50
|
-
import "./chunk-36XLW2TP.js";
|
|
51
|
-
import "./chunk-M4RYK5OF.js";
|
|
49
|
+
import "./chunk-ENHAGQEP.js";
|
|
50
|
+
import "./chunk-DR7QW6C5.js";
|
|
51
|
+
import "./chunk-IP3XINRB.js";
|
|
52
52
|
import "./chunk-AWDFDFI3.js";
|
|
53
53
|
import "./chunk-GMECXFAN.js";
|
|
54
54
|
import {
|
|
55
55
|
findFFmpeg,
|
|
56
|
+
findFFprobe,
|
|
56
57
|
getFFmpegInstallHint
|
|
57
58
|
} from "./chunk-TVCRUG2S.js";
|
|
58
59
|
import "./chunk-RDMAU7AJ.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-JH7ZJRDL.js";
|
|
61
|
+
import "./chunk-IPXPSCWV.js";
|
|
61
62
|
import "./chunk-VWG7OQKU.js";
|
|
62
63
|
import {
|
|
63
64
|
c
|
|
64
65
|
} from "./chunk-ZTZA4UWZ.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
+
import "./chunk-L5QASNBN.js";
|
|
66
67
|
import "./chunk-AMKC3AXA.js";
|
|
67
68
|
import {
|
|
68
69
|
defineCommand
|
|
@@ -73,30 +74,32 @@ import {
|
|
|
73
74
|
} from "./chunk-PBN6GBJE.js";
|
|
74
75
|
import "./chunk-KC5XXX3X.js";
|
|
75
76
|
import "./chunk-TJSTGSAW.js";
|
|
76
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-G2T2X6FZ.js";
|
|
77
78
|
import {
|
|
78
79
|
isClipVisibleAt,
|
|
79
80
|
isInClipWindow
|
|
80
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-FCEFKWPM.js";
|
|
81
82
|
import "./chunk-UUDQD62L.js";
|
|
82
83
|
import "./chunk-DPVXBVLL.js";
|
|
83
|
-
import "./chunk-
|
|
84
|
+
import "./chunk-OCNCK5FQ.js";
|
|
84
85
|
import {
|
|
85
86
|
readElementRateSpec,
|
|
86
87
|
sourceTimeAt,
|
|
87
88
|
timeAtSourceTime
|
|
88
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-C6AIZOQN.js";
|
|
89
90
|
import "./chunk-VC76R6W2.js";
|
|
90
91
|
import "./chunk-OFQWTKPW.js";
|
|
91
92
|
import {
|
|
92
93
|
definitiveEntryMismatchComposition,
|
|
93
94
|
hasDefinitiveEntryMismatch
|
|
94
95
|
} from "./chunk-Q5X2B5WT.js";
|
|
95
|
-
import
|
|
96
|
+
import {
|
|
97
|
+
runCancellableProcess
|
|
98
|
+
} from "./chunk-LCSMOLGX.js";
|
|
96
99
|
import "./chunk-TWWSYAKJ.js";
|
|
97
100
|
import {
|
|
98
101
|
lintProject
|
|
99
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-YJEGT5L6.js";
|
|
100
103
|
import "./chunk-HBBJFK6I.js";
|
|
101
104
|
import "./chunk-PJ3HDUCY.js";
|
|
102
105
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -106,7 +109,7 @@ import "./chunk-K4WIOZFP.js";
|
|
|
106
109
|
import "./chunk-XUXGIA7H.js";
|
|
107
110
|
import "./chunk-WERLJGIC.js";
|
|
108
111
|
import "./chunk-ISN5GRYI.js";
|
|
109
|
-
import "./chunk-
|
|
112
|
+
import "./chunk-MLLBZR2U.js";
|
|
110
113
|
import {
|
|
111
114
|
normalizeErrorMessage
|
|
112
115
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -195,35 +198,121 @@ async function recaptureSnapshotComposite(page) {
|
|
|
195
198
|
});
|
|
196
199
|
}
|
|
197
200
|
}
|
|
198
|
-
|
|
201
|
+
function containingSourceFrameIndex(timestamps, time) {
|
|
202
|
+
if (!Number.isFinite(time)) return -1;
|
|
203
|
+
const tolerance = 16 * Number.EPSILON * Math.max(1, Math.abs(time));
|
|
204
|
+
let index = -1;
|
|
205
|
+
for (const [i, timestamp] of timestamps.entries()) {
|
|
206
|
+
if (timestamp > time + tolerance) break;
|
|
207
|
+
index = i;
|
|
208
|
+
}
|
|
209
|
+
return index;
|
|
210
|
+
}
|
|
211
|
+
async function probeContainingSourceFrameSeek(videoPath, time, holdLastFrame) {
|
|
212
|
+
const ffprobe = findFFprobe();
|
|
213
|
+
if (!ffprobe) return { seek: time };
|
|
214
|
+
const probe = async (readIntervals, entries) => {
|
|
215
|
+
try {
|
|
216
|
+
const { stdout } = await runCancellableProcess(
|
|
217
|
+
ffprobe,
|
|
218
|
+
[
|
|
219
|
+
...["-v", "error", "-select_streams", "v:0", "-read_intervals", readIntervals],
|
|
220
|
+
...["-show_entries", entries, "-of", "json", "--", videoPath]
|
|
221
|
+
],
|
|
222
|
+
{ timeoutMs: FFMPEG_EXTRACT_TIMEOUT_MS, maxBufferBytes: 32 * 1024 * 1024 }
|
|
223
|
+
);
|
|
224
|
+
const parsed = JSON.parse(stdout);
|
|
225
|
+
return typeof parsed === "object" && parsed !== null ? parsed : null;
|
|
226
|
+
} catch {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
const data = await probe("%+#1", "stream=time_base,start_pts:format=start_time,duration");
|
|
231
|
+
if (data === null || !Array.isArray(data.streams)) return null;
|
|
232
|
+
const stream = data.streams[0];
|
|
233
|
+
if (typeof stream !== "object" || stream === null || !("time_base" in stream) || typeof stream.time_base !== "string")
|
|
234
|
+
return null;
|
|
235
|
+
const [numerator, denominator] = stream.time_base.split("/");
|
|
236
|
+
const timeBase = Number(numerator) / Number(denominator);
|
|
237
|
+
if (!Number.isFinite(timeBase) || timeBase <= 0) return null;
|
|
238
|
+
const format = "format" in data ? data.format : null;
|
|
239
|
+
const start = typeof format === "object" && format !== null && "start_time" in format ? Number(format.start_time) : 0;
|
|
240
|
+
const duration = typeof format === "object" && format !== null && "duration" in format ? Number(format.duration) : NaN;
|
|
241
|
+
if (!holdLastFrame && Number.isFinite(duration) && time >= duration) return null;
|
|
242
|
+
const formatStart = Number.isFinite(start) ? start : 0;
|
|
243
|
+
const startPts = "start_pts" in stream && typeof stream.start_pts === "number" ? stream.start_pts : NaN;
|
|
244
|
+
const startTicks = Math.abs(startPts * timeBase - formatStart) <= 1e-6 ? startPts : formatStart / timeBase;
|
|
245
|
+
const packetData = await probe(`%${startTicks * timeBase + time + 1}`, "packet=pts,dts,flags");
|
|
246
|
+
if (packetData === null || !Array.isArray(packetData.packets)) return null;
|
|
247
|
+
const packets = [];
|
|
248
|
+
for (const packet of packetData.packets) {
|
|
249
|
+
if (typeof packet !== "object" || packet === null) return null;
|
|
250
|
+
const pts = "pts" in packet ? packet.pts : "dts" in packet ? packet.dts : void 0;
|
|
251
|
+
if (typeof pts !== "number") return null;
|
|
252
|
+
const dts = "dts" in packet && typeof packet.dts === "number" ? packet.dts : pts;
|
|
253
|
+
const key = "flags" in packet && typeof packet.flags === "string" && packet.flags.includes("K");
|
|
254
|
+
packets.push({ pts: (pts - startTicks) * timeBase, dts: (dts - startTicks) * timeBase, key });
|
|
255
|
+
}
|
|
256
|
+
const timestamps = packets.map((packet) => packet.pts).sort((a, b) => a - b);
|
|
257
|
+
const index = Math.max(0, containingSourceFrameIndex(timestamps, time));
|
|
258
|
+
if (timestamps.length === 0 || !Number.isFinite(time)) return null;
|
|
259
|
+
const frame = timestamps[index];
|
|
260
|
+
const previous = timestamps[index - 1] ?? frame - 1e-3;
|
|
261
|
+
const mid = (previous + frame) / 2;
|
|
262
|
+
const ffmpeg = findFFmpeg();
|
|
263
|
+
const landing = async (seek) => {
|
|
264
|
+
const raw = ffmpeg ? await probeSeekLanding(ffmpeg, videoPath, seek) : null;
|
|
265
|
+
return raw === null ? null : raw - startTicks * timeBase;
|
|
266
|
+
};
|
|
267
|
+
const candidates = packets.filter(
|
|
268
|
+
(packet) => packet.key && packet.pts > 0 && packet.pts <= frame
|
|
269
|
+
);
|
|
270
|
+
for (const candidate of candidates.reverse().slice(0, 3)) {
|
|
271
|
+
const landed = await landing(candidate.pts);
|
|
272
|
+
if (landed === null) break;
|
|
273
|
+
if (landed <= 0 || landed > frame) continue;
|
|
274
|
+
const again = Math.abs(landed - candidate.pts) < 1e-6 ? landed : await landing(landed);
|
|
275
|
+
if (again !== null && Math.abs(again - landed) < 1e-6)
|
|
276
|
+
return { seek: landed, select: mid - landed };
|
|
277
|
+
}
|
|
278
|
+
return { select: mid - (timestamps.find((t) => t >= 0) ?? frame) };
|
|
279
|
+
}
|
|
280
|
+
async function probeSeekLanding(ffmpeg, videoPath, seek) {
|
|
281
|
+
try {
|
|
282
|
+
const { stdout } = await runCancellableProcess(
|
|
283
|
+
ffmpeg,
|
|
284
|
+
[
|
|
285
|
+
...["-v", "error", "-copyts", "-noaccurate_seek", "-ss", String(seek), "-i", videoPath],
|
|
286
|
+
...["-map", "0:v:0", "-c", "copy", "-frames:v", "1", "-f", "framecrc", "-"]
|
|
287
|
+
],
|
|
288
|
+
{ timeoutMs: FFMPEG_EXTRACT_TIMEOUT_MS, maxBufferBytes: 1024 * 1024 }
|
|
289
|
+
);
|
|
290
|
+
const base = /^#tb 0: (\d+)\/(\d+)/m.exec(stdout);
|
|
291
|
+
const row = /^0,\s*-?\d+,\s*(-?\d+),/m.exec(stdout);
|
|
292
|
+
if (!base || !row) return null;
|
|
293
|
+
return Number(row[1]) * Number(base[1]) / Number(base[2]);
|
|
294
|
+
} catch {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false, holdLastFrame = false) {
|
|
199
299
|
const tmp = mkdtempSync(join(tmpdir(), "hf-snapshot-frame-"));
|
|
200
300
|
const outPath = join(tmp, "frame.png");
|
|
201
301
|
try {
|
|
202
302
|
const ffmpegPath = requireSnapshotFfmpeg(findFFmpeg());
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const decoderArgs = [...args];
|
|
208
|
-
const seek = ["-ss", String(Math.max(0, timeSeconds))];
|
|
209
|
-
args.push(
|
|
210
|
-
...accurateSeek ? ["-i", videoPath, ...seek] : [...seek, "-i", videoPath],
|
|
211
|
-
"-frames:v",
|
|
212
|
-
"1",
|
|
213
|
-
"-q:v",
|
|
214
|
-
"2",
|
|
215
|
-
"-y",
|
|
216
|
-
outPath
|
|
303
|
+
const seek = await probeContainingSourceFrameSeek(
|
|
304
|
+
videoPath,
|
|
305
|
+
Math.max(0, timeSeconds),
|
|
306
|
+
holdLastFrame
|
|
217
307
|
);
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
308
|
+
if (seek === null) return null;
|
|
309
|
+
const args = ["-hide_banner", "-loglevel", "error"];
|
|
310
|
+
if (useVp9AlphaDecoder) args.push("-c:v", "libvpx-vp9");
|
|
311
|
+
if (seek.seek !== void 0) args.push("-ss", String(seek.seek));
|
|
312
|
+
args.push("-i", videoPath, "-map", "0:v:0");
|
|
313
|
+
if (seek.select !== void 0) args.push("-vf", `select=gte(t-start_t\\,${seek.select})`);
|
|
314
|
+
args.push("-frames:v", "1", "-q:v", "2", "-y", outPath);
|
|
315
|
+
const result = await runFfmpegOnce(ffmpegPath, args, FFMPEG_EXTRACT_TIMEOUT_MS);
|
|
227
316
|
if (result.code !== 0 || result.timedOut || !existsSync(outPath)) return null;
|
|
228
317
|
return readFileSync(outPath);
|
|
229
318
|
} finally {
|
|
@@ -273,7 +362,7 @@ function computeSnapshotTimes(duration, opts) {
|
|
|
273
362
|
return { times: times.map(round), appendedTail: false };
|
|
274
363
|
}
|
|
275
364
|
async function captureSnapshots(projectDir, opts) {
|
|
276
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
365
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-4CVITCYK.js");
|
|
277
366
|
const numFrames = opts.frames ?? 5;
|
|
278
367
|
const html = await bundleWithLocalizedFonts(projectDir);
|
|
279
368
|
const server = await serveStaticProjectHtml(projectDir, html, void 0, [], opts.autoProxy);
|
|
@@ -346,7 +435,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
346
435
|
let syncVideoFrameVisibility = null;
|
|
347
436
|
let extractMediaMetadata = null;
|
|
348
437
|
try {
|
|
349
|
-
const engine = await import("./src-
|
|
438
|
+
const engine = await import("./src-PJJ6NISA.js");
|
|
350
439
|
injectVideoFramesBatch = engine.injectVideoFramesBatch;
|
|
351
440
|
syncVideoFrameVisibility = engine.syncVideoFrameVisibility;
|
|
352
441
|
extractMediaMetadata = engine.extractMediaMetadata;
|
|
@@ -443,7 +532,6 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
443
532
|
ffmpegInput,
|
|
444
533
|
Math.max(0, v.relTime),
|
|
445
534
|
useVp9AlphaDecoder,
|
|
446
|
-
false,
|
|
447
535
|
v.srcDuration > 0 && v.relTime >= v.srcDuration - 1
|
|
448
536
|
);
|
|
449
537
|
if (!png) continue;
|
|
@@ -499,7 +587,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
499
587
|
await page.screenshot({ path: framePath, type: "png", omitBackground: true });
|
|
500
588
|
}
|
|
501
589
|
if (opts.against) {
|
|
502
|
-
const refPng = await extractVideoFrameToBuffer(opts.against, time
|
|
590
|
+
const refPng = await extractVideoFrameToBuffer(opts.against, time);
|
|
503
591
|
if (!refPng) {
|
|
504
592
|
console.error(
|
|
505
593
|
` ${c.warn("\u26A0")} --against has no frame at ${timeLabel} \u2014 reference pair skipped`
|
|
@@ -771,6 +859,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
|
|
|
771
859
|
});
|
|
772
860
|
export {
|
|
773
861
|
computeSnapshotTimes,
|
|
862
|
+
containingSourceFrameIndex,
|
|
774
863
|
snapshot_default as default,
|
|
775
864
|
examples,
|
|
776
865
|
extractVideoFrameToBuffer,
|
|
@@ -212,15 +212,15 @@ import {
|
|
|
212
212
|
verifyGpuParity,
|
|
213
213
|
writeCapturedFrame,
|
|
214
214
|
writeUrlDownloadTelemetry
|
|
215
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-G2T2X6FZ.js";
|
|
216
216
|
import {
|
|
217
217
|
MEDIA_VISUAL_STYLE_PROPERTIES,
|
|
218
218
|
quantizeTimeToFrame
|
|
219
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-FCEFKWPM.js";
|
|
220
220
|
import "./chunk-UUDQD62L.js";
|
|
221
221
|
import "./chunk-DPVXBVLL.js";
|
|
222
|
-
import "./chunk-
|
|
223
|
-
import "./chunk-
|
|
222
|
+
import "./chunk-OCNCK5FQ.js";
|
|
223
|
+
import "./chunk-C6AIZOQN.js";
|
|
224
224
|
import "./chunk-VC76R6W2.js";
|
|
225
225
|
import "./chunk-OFQWTKPW.js";
|
|
226
226
|
import {
|
|
@@ -228,7 +228,7 @@ import {
|
|
|
228
228
|
} from "./chunk-TWWSYAKJ.js";
|
|
229
229
|
import {
|
|
230
230
|
resolveProjectRelativeSrc
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-YJEGT5L6.js";
|
|
232
232
|
import "./chunk-HBBJFK6I.js";
|
|
233
233
|
import {
|
|
234
234
|
FFMPEG_PATH_ENV,
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
serializeRenderRequest,
|
|
68
68
|
startServer,
|
|
69
69
|
validatePlanV2MaterializedTarget
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-P3FGUSFK.js";
|
|
71
71
|
import {
|
|
72
72
|
FONT_FETCH_FAILED,
|
|
73
73
|
FONT_FETCH_UNAVAILABLE,
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
defaultLogger,
|
|
78
78
|
injectDeterministicFontFaces
|
|
79
79
|
} from "./chunk-XMAL2A7Y.js";
|
|
80
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-XXKBPGPJ.js";
|
|
81
81
|
import "./chunk-KC5XXX3X.js";
|
|
82
82
|
import "./chunk-TJSTGSAW.js";
|
|
83
83
|
import "./chunk-BZ56MTDX.js";
|
|
@@ -96,18 +96,18 @@ import {
|
|
|
96
96
|
isTransientBrowserError,
|
|
97
97
|
prepareCaptureSessionForReuse,
|
|
98
98
|
resolveConfig
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-G2T2X6FZ.js";
|
|
100
100
|
import {
|
|
101
101
|
quantizeTimeToFrame
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-FCEFKWPM.js";
|
|
103
103
|
import "./chunk-UUDQD62L.js";
|
|
104
104
|
import "./chunk-DPVXBVLL.js";
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-OCNCK5FQ.js";
|
|
106
|
+
import "./chunk-C6AIZOQN.js";
|
|
107
107
|
import "./chunk-VC76R6W2.js";
|
|
108
108
|
import "./chunk-OFQWTKPW.js";
|
|
109
109
|
import "./chunk-TWWSYAKJ.js";
|
|
110
|
-
import "./chunk-
|
|
110
|
+
import "./chunk-YJEGT5L6.js";
|
|
111
111
|
import "./chunk-HBBJFK6I.js";
|
|
112
112
|
import "./chunk-PJ3HDUCY.js";
|
|
113
113
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -6,35 +6,35 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
serveStaticProjectHtml
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LDSWUYZB.js";
|
|
10
10
|
import "./chunk-XUHOIDKG.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-752X6G7T.js";
|
|
12
12
|
import "./chunk-X7MTZ4T2.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-LYNBNESS.js";
|
|
14
|
+
import "./chunk-XFJXFNJF.js";
|
|
15
15
|
import "./chunk-WEATBQTR.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-GDJ74GHW.js";
|
|
17
|
+
import "./chunk-LMC46FK5.js";
|
|
18
|
+
import "./chunk-BOUDTDBQ.js";
|
|
19
19
|
import "./chunk-XT7X6QCP.js";
|
|
20
20
|
import "./chunk-4YYJOFKS.js";
|
|
21
21
|
import "./chunk-HVW7ABXD.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-ENHAGQEP.js";
|
|
23
|
+
import "./chunk-DR7QW6C5.js";
|
|
24
|
+
import "./chunk-IP3XINRB.js";
|
|
25
25
|
import "./chunk-AWDFDFI3.js";
|
|
26
26
|
import "./chunk-GMECXFAN.js";
|
|
27
27
|
import "./chunk-RDMAU7AJ.js";
|
|
28
28
|
import "./chunk-KC5XXX3X.js";
|
|
29
29
|
import "./chunk-TJSTGSAW.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-FCEFKWPM.js";
|
|
31
31
|
import "./chunk-UUDQD62L.js";
|
|
32
32
|
import "./chunk-DPVXBVLL.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-OCNCK5FQ.js";
|
|
34
|
+
import "./chunk-C6AIZOQN.js";
|
|
35
35
|
import "./chunk-VC76R6W2.js";
|
|
36
36
|
import "./chunk-OFQWTKPW.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-YJEGT5L6.js";
|
|
38
38
|
import "./chunk-HBBJFK6I.js";
|
|
39
39
|
import "./chunk-PJ3HDUCY.js";
|
|
40
40
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from "./chunk-ZTZA4UWZ.js";
|
|
25
25
|
import {
|
|
26
26
|
getSystemMeta
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-L5QASNBN.js";
|
|
28
28
|
import "./chunk-AMKC3AXA.js";
|
|
29
29
|
import {
|
|
30
30
|
defineCommand
|
|
@@ -33,16 +33,16 @@ import {
|
|
|
33
33
|
failCommand,
|
|
34
34
|
setCommandExitCode
|
|
35
35
|
} from "./chunk-PBN6GBJE.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-G2T2X6FZ.js";
|
|
37
|
+
import "./chunk-FCEFKWPM.js";
|
|
38
38
|
import "./chunk-UUDQD62L.js";
|
|
39
39
|
import "./chunk-DPVXBVLL.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-OCNCK5FQ.js";
|
|
41
|
+
import "./chunk-C6AIZOQN.js";
|
|
42
42
|
import "./chunk-VC76R6W2.js";
|
|
43
43
|
import "./chunk-OFQWTKPW.js";
|
|
44
44
|
import "./chunk-TWWSYAKJ.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-YJEGT5L6.js";
|
|
46
46
|
import "./chunk-HBBJFK6I.js";
|
|
47
47
|
import "./chunk-PJ3HDUCY.js";
|
|
48
48
|
import "./chunk-TQFG7HTI.js";
|
package/dist/studio/assets/{hyperframes-player-CBpg41JM.js → hyperframes-player-aXNJKiIg.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var xe=Object.defineProperty;var ke=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var h=(r,i,e)=>ke(r,typeof i!="symbol"?i+"":i,e);import{r as fe,i as Ie,a as w,b as _e,p as Oe,c as Ne,d as Fe,s as Ve,e as ge,F as ye}from"./index-
|
|
1
|
+
var xe=Object.defineProperty;var ke=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var h=(r,i,e)=>ke(r,typeof i!="symbol"?i+"":i,e);import{r as fe,i as Ie,a as w,b as _e,p as Oe,c as Ne,d as Fe,s as Ve,e as ge,F as ye}from"./index-Dz7doz9l.js";function He(r){return r.hasRuntime||r.runtimeInjected?!1:!!(r.hasNestedCompositions||r.hasTimelines&&r.attempts>=5)}function z(r){return typeof r=="object"&&r!==null}function Ue(r){return z(r)&&typeof r.getDuration=="function"}function We(r){return z(r)&&typeof r.duration=="function"&&typeof r.time=="function"&&typeof r.seek=="function"&&typeof r.play=="function"&&typeof r.pause=="function"}function ze(r){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(r))throw new Error(`Invalid HyperFrames runtime version: ${r}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${r}/dist/hyperframe.runtime.iife.js`}const U=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:ze("0.0.0-dev");function $(r){if(r===null)return null;const i=Number.parseInt(r,10);return Number.isFinite(i)&&i>0?i:null}function $e(r){const i=(r==null?void 0:r.querySelector("[data-composition-id][data-width][data-height]"))??(r==null?void 0:r.querySelector("[data-width][data-height]"));if(!i)return null;const e=$(i.getAttribute("data-width")),t=$(i.getAttribute("data-height"));return e!==null&&t!==null?{width:e,height:t}:null}class je{constructor(i,e){h(this,"_interval",null);h(this,"_runtimeInjected",!1);this._iframe=i,this._callbacks=e}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let i=0;this._interval=setInterval(()=>{var e;i++;try{const t=this._iframe.contentWindow;if(!t)return;const s=!!(t.__hf||t.__player),n=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!((e=this._iframe.contentDocument)!=null&&e.querySelector("[data-composition-src]"));if(He({hasRuntime:s,hasTimelines:n,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:i})){this._injectRuntime();return}if(this._runtimeInjected&&!s)return;const a=this._resolvePlaybackDurationAdapter(t);if(a&&a.getDuration()>0){this.stop();const c=$e(this._iframe.contentDocument);this._callbacks.onReady({duration:a.getDuration(),adapter:a,compositionSize:c});return}}catch{}i>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const i=this._iframe.contentWindow;return i?this._resolveDirectTimelineAdapterFromWindow(i):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(i){return this._resolveDirectTimelineAdapterFromWindow(i)}hasRuntimeBridge(i){return Reflect.get(i,"__hf")!==void 0||z(Reflect.get(i,"__player"))}_injectRuntime(){var i,e;this._runtimeInjected=!0;try{const t=this._iframe.contentDocument;if(!t)return;const s=t.createElement("script");s.src=U,(t.head||t.documentElement).appendChild(s),(e=(i=this._callbacks).onRuntimeInjected)==null||e.call(i)}catch{}}_resolveDirectTimelineAdapterFromWindow(i){var a,c;if(this.hasRuntimeBridge(i))return null;const e=Reflect.get(i,"__timelines");if(!z(e))return null;const t=Object.keys(e);if(t.length===0)return null;const s=(c=(a=this._iframe.contentDocument)==null?void 0:a.querySelector("[data-composition-id]"))==null?void 0:c.getAttribute("data-composition-id"),n=s&&s in e?s:t[t.length-1],o=e[n];return We(o)?o:null}_resolvePlaybackDurationAdapter(i){const e=Reflect.get(i,"__player");if(Ue(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const t=this._resolveDirectTimelineAdapterFromWindow(i);return t?{kind:"direct-timeline",timeline:t,getDuration:()=>t.duration()}:null}}const Be=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|