hyperframes 0.8.137 → 0.8.138
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-RUYRFHHN.js → add-IZQPSHT5.js} +15 -15
- package/dist/{animatedGifPrep-VMLA2P45.js → animatedGifPrep-MQF3GRFW.js} +6 -6
- package/dist/appHistory-TH3TL6N6.js +31 -0
- package/dist/{asset-DHOG5RFW.js → asset-RNZX4ISG.js} +2 -2
- package/dist/{assetCataloger-7XIMSAPT.js → assetCataloger-5YRUY3PJ.js} +2 -2
- package/dist/{auth-FUBCZVUH.js → auth-LUELYGJ4.js} +2 -2
- package/dist/{autoUpdate-LHVP2DWF.js → autoUpdate-ECMQWUU5.js} +2 -2
- package/dist/{backgroundChecks-JO3KP5QE.js → backgroundChecks-PBEJMSA3.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-PBCQ3R2Y.js → batchRender-2GXKBPFQ.js} +3 -3
- package/dist/{beats-AF7C54FH.js → beats-AAAZVDOY.js} +14 -14
- package/dist/{benchmark-QST66S5G.js → benchmark-EI767IB4.js} +12 -12
- package/dist/{browser-NBKY3N66.js → browser-KAA2VXYH.js} +9 -9
- package/dist/{bundleWithLocalizedFonts-ZYZHO7IV.js → bundleWithLocalizedFonts-MWDYAPGB.js} +2 -2
- package/dist/{capture-6GM7SIH5.js → capture-IRRHK6BT.js} +2 -2
- package/dist/{capture-MGC5AO5D.js → capture-VYT5NQQI.js} +13 -13
- package/dist/{catalog-IT2TP2YE.js → catalog-FYTZ2ET6.js} +21 -21
- package/dist/catch-up-XH3OAKQR.js +123 -0
- package/dist/{check-HNTSVBUV.js → check-MUMIOK5K.js} +38 -38
- package/dist/{checkBrowser-XH446M7L.js → checkBrowser-LKSZFOU6.js} +36 -36
- package/dist/{chunk-XT5P4QMO.js → chunk-3DKN5WKL.js} +31 -11
- package/dist/{chunk-DRYF6HV2.js → chunk-3F6YLT72.js} +11 -11
- package/dist/{chunk-ZBAC7334.js → chunk-5K33TNUJ.js} +2 -2
- package/dist/{chunk-OUKLD6D2.js → chunk-7OLMGFDN.js} +3 -3
- package/dist/{chunk-TTBOUHWT.js → chunk-7Y5SMPRV.js} +3 -3
- package/dist/{chunk-FAID56IK.js → chunk-APMG37MX.js} +1 -1
- package/dist/{chunk-MOBLZWAK.js → chunk-ASPTQ6DT.js} +1 -1
- package/dist/chunk-DCAI5DBR.js +218 -0
- package/dist/{chunk-E6WZHX7J.js → chunk-DJMXTKKK.js} +1 -1
- package/dist/{chunk-5ORPW6RH.js → chunk-DXHYACUC.js} +3 -3
- package/dist/{chunk-GULOKZLI.js → chunk-EDUBJPGL.js} +14 -9
- package/dist/{chunk-MBSFY6Y5.js → chunk-FSSMOTMS.js} +1 -1
- package/dist/{chunk-6XCIGLRQ.js → chunk-GJGVYREG.js} +57 -224
- package/dist/{chunk-WFNNUWFN.js → chunk-GNHJ4ONK.js} +2 -2
- package/dist/{chunk-GR7YLWXS.js → chunk-HUZYBV2Z.js} +1 -1
- package/dist/{chunk-BVOGEPHM.js → chunk-HXXX6N2G.js} +2 -2
- package/dist/{chunk-GYVUR4XC.js → chunk-I3BRUEKD.js} +1 -1
- package/dist/{chunk-VYGC4AJL.js → chunk-IC5L6L7K.js} +1 -1
- package/dist/{chunk-4LBBWEEH.js → chunk-IRYC5BRO.js} +4 -4
- package/dist/{chunk-JVJQL42J.js → chunk-JCRJBB4E.js} +9 -9
- package/dist/{chunk-7MF7FTFV.js → chunk-JOUVZO7M.js} +1 -1
- package/dist/{chunk-4HWOEWMH.js → chunk-KBUUCAIZ.js} +5 -5
- package/dist/{chunk-NSLSFVFN.js → chunk-KRLYIT22.js} +1 -1
- package/dist/{chunk-J6BHZVM3.js → chunk-L5E5ZN6G.js} +1 -1
- package/dist/{chunk-OEJQAXS3.js → chunk-MIOBYUXT.js} +1 -1
- package/dist/{chunk-N4Y4KZFV.js → chunk-MKVKVMUH.js} +7 -7
- package/dist/{chunk-6IEDWKFR.js → chunk-OBC75KXL.js} +1 -1
- package/dist/{chunk-HUV6BP7O.js → chunk-P5WDMFBB.js} +405 -205
- package/dist/{chunk-WYX6L7AV.js → chunk-P75OFLZN.js} +2 -2
- package/dist/{chunk-ZBKSKJ37.js → chunk-PHRWQQOJ.js} +1 -1
- package/dist/{chunk-YDCEBBEL.js → chunk-PHXBLIKK.js} +10 -10
- package/dist/{chunk-DKYXU4F4.js → chunk-QPOK6I32.js} +2 -2
- package/dist/{chunk-LSLJIVWV.js → chunk-R6C6URKB.js} +3 -3
- package/dist/{chunk-VU7RRQNA.js → chunk-RH5VML6E.js} +12 -12
- package/dist/{chunk-SCCJUPPX.js → chunk-RLNB3JCY.js} +1 -1
- package/dist/{chunk-R2MFCLGW.js → chunk-SDRKEYZV.js} +5 -5
- package/dist/{chunk-E2C5SLHT.js → chunk-SIMYRD5P.js} +1 -1
- package/dist/{chunk-VDQCNWQI.js → chunk-STA43FMY.js} +1 -1
- package/dist/{chunk-SMGQFCBC.js → chunk-SZITAGRK.js} +1 -1
- package/dist/chunk-UINDCCO7.js +3742 -0
- package/dist/{chunk-ADXD2HP4.js → chunk-UUMK6VME.js} +1 -1
- package/dist/{chunk-X2GKNLHE.js → chunk-VR5UQWGV.js} +3 -3
- package/dist/{chunk-J4AOOISS.js → chunk-W3KQCJVP.js} +217 -6
- package/dist/{chunk-WTGGSKAJ.js → chunk-WH6PRFNX.js} +3 -3
- package/dist/{chunk-7LAWNKVY.js → chunk-XQODEVF3.js} +1 -1
- package/dist/{chunk-RQLZL5KC.js → chunk-YGXLBX3N.js} +1 -1
- package/dist/{chunk-2DQ356HE.js → chunk-YNBXJWSD.js} +1 -1
- package/dist/{clean-OWDWVJBN.js → clean-LZPDOAV4.js} +21 -21
- package/dist/cli.js +62 -52
- package/dist/{cloud-S3MPN5VF.js → cloud-RVAH5NNL.js} +4 -4
- package/dist/{cloudrun-TLB7DEIN.js → cloudrun-NFGM6TRT.js} +3 -3
- package/dist/{compare-YRR6E22F.js → compare-S3M5OAL2.js} +29 -29
- package/dist/{compiler-ENHZ73DN.js → compiler-SZ4GTYFB.js} +3 -3
- package/dist/{component-EIJRLMDN.js → component-PR2WZTQ4.js} +3 -3
- package/dist/{compositions-5CBYWP55.js → compositions-6RYXH2UA.js} +11 -11
- package/dist/{delete-3U5L6XFA.js → delete-EO7C3LQ6.js} +3 -3
- package/dist/{deterministicFonts-U2EXY2KQ.js → deterministicFonts-GTITFRSJ.js} +2 -2
- package/dist/{dist-QS5WEGBE.js → dist-OJTEVNJR.js} +1 -1
- package/dist/{dist-7Y5HTID7.js → dist-RVC3JTID.js} +2 -2
- package/dist/{doctor-IZQZRMWC.js → doctor-UTCCMN32.js} +12 -12
- package/dist/{events-6BYBCUBA.js → events-RCGWL4LI.js} +9 -9
- package/dist/{events-BYDKYSIJ.js → events-RE3OR6KY.js} +8 -8
- package/dist/{feedback-I4YN55BC.js → feedback-V7C64JIR.js} +12 -12
- package/dist/{figma-A3FAM3JT.js → figma-26LOX5PV.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-PIFWLOAB.js → get-E2K2JRTV.js} +3 -3
- package/dist/{gpuPolicy-26BEFD3H.js → gpuPolicy-Z3PQN6ZK.js} +6 -6
- package/dist/{grade-compare-H2OKE5QQ.js → grade-compare-OTZDU463.js} +26 -26
- package/dist/{help-AXK7X72W.js → help-IRSQLNI5.js} +3 -2
- package/dist/{history-KUS6IXSL.js → history-G44U6762.js} +18 -18
- package/dist/hyperframe-runtime.js +64 -182
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +64 -182
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-DRASLTTJ.js → info-KXQ2TAHX.js} +11 -11
- package/dist/{init-3BZKVTW5.js → init-7SXMLHJE.js} +22 -22
- package/dist/{inspect-ROKMT5V7.js → inspect-7JTINR25.js} +27 -27
- package/dist/{installer-ERYE2UVI.js → installer-RH4E6WXT.js} +4 -4
- package/dist/{keyframes-PXGT4QQ5.js → keyframes-PIV573S6.js} +12 -12
- package/dist/{lambda-EQAPNZDT.js → lambda-GO5HAA4S.js} +4 -4
- package/dist/{layout-PMFNU7NB.js → layout-N2736OO3.js} +27 -27
- package/dist/{lint-G26WF3YE.js → lint-WUXZ5WWZ.js} +14 -14
- package/dist/{lintProject-EPVG2EFE.js → lintProject-ANMPLBIT.js} +1 -1
- package/dist/{list-WIPSPI6M.js → list-QF7AMX5F.js} +3 -3
- package/dist/{login-3CPZGZKC.js → login-6RGSXHQJ.js} +4 -4
- package/dist/{media-treatment-MGAQ5DQJ.js → media-treatment-T4KDEDYW.js} +14 -14
- package/dist/{models-QHS7P3NJ.js → models-6JMNK3XI.js} +18 -11
- package/dist/{motionShot-OLA4DIP7.js → motionShot-74WM7KF6.js} +12 -12
- package/dist/{normalize-audio-PAPIKX2Y.js → normalize-audio-ZZU36ZMD.js} +14 -14
- package/dist/{open-D5INI7M6.js → open-G523K45B.js} +20 -13
- package/dist/{pipeline-IWP6BVSS.js → pipeline-AKDGCWRE.js} +8 -8
- package/dist/{play-O2WTUH6O.js → play-SHIGXVON.js} +30 -30
- package/dist/{preflight-EUCDEHR5.js → preflight-6ERLORWK.js} +7 -7
- package/dist/{present-YDJZIRYD.js → present-QOYYNZCE.js} +19 -19
- package/dist/{preview-AS6S5EKV.js → preview-KUXTDJL3.js} +26 -24
- package/dist/{producer-S77FHAAG.js → producer-CH33JXHK.js} +1 -1
- package/dist/{projectConfig-6XCGW6KX.js → projectConfig-NKIPRWAE.js} +6 -6
- package/dist/{publication-E46VH7XO.js → publication-4RBVVR5Z.js} +2 -2
- package/dist/{publish-GQXWU7NF.js → publish-OLHR4Z4U.js} +12 -11
- package/dist/{remove-background-JPPYOSD2.js → remove-background-NPKZSIPY.js} +9 -9
- package/dist/{render-IPOSWART.js → render-GYYGWYQC.js} +17 -17
- package/dist/{render-HQJEYV6Q.js → render-P4NWFUS7.js} +29 -27
- package/dist/{render-XC3O77AK.js → render-UOKPAJNH.js} +3 -3
- package/dist/{render-batch-FX5TZDGW.js → render-batch-ZDG3EXSD.js} +3 -3
- package/dist/{renderCancellation-66SZW2VF.js → renderCancellation-QYQLWHZY.js} +6 -6
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-JU3VRG4K.js → resolver-CWH3VVB7.js} +4 -4
- package/dist/{sherpa-I5YSMJNV.js → sherpa-WEQE23S5.js} +112 -43
- package/dist/sherpaWorker.js +3 -7
- package/dist/skills/hyperframes/SKILL.md +2 -0
- package/dist/skills/hyperframes-cli/SKILL.md +1 -1
- package/dist/{skills-SLCG4D3C.js → skills-BVONI6TC.js} +14 -14
- package/dist/{skillsUpdateCheck-KJBSMNG3.js → skillsUpdateCheck-KKDPTFM7.js} +3 -3
- package/dist/{snapshot-WOPONARS.js → snapshot-PWZFJEDR.js} +36 -36
- package/dist/{src-EDXJKFXO.js → src-HH4C5GZV.js} +9 -9
- package/dist/{src-A7PS67DT.js → src-YO7MAWGD.js} +5 -5
- package/dist/{staticProjectServer-XUCQPVTF.js → staticProjectServer-PR5INXSA.js} +14 -14
- package/dist/{status-Z23IJMWJ.js → status-AK67DTED.js} +6 -6
- package/dist/studio/assets/{hyperframes-player-D_Mh6hbx.js → hyperframes-player-B30apksz.js} +1 -1
- package/dist/studio/assets/{index-B3lJsA-e.js → index-BdjA0CLD.js} +137 -137
- package/dist/studio/assets/{index-CC_E-Cbl.css → index-CVd4O6eH.css} +1 -1
- package/dist/studio/assets/{index-CHEctGzc.js → index-DIJuIBwI.js} +1 -1
- package/dist/studio/assets/{index-rtccfg9b.js → index-DXVvWfQG.js} +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +21 -30
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/styles.css +1 -1
- package/dist/{studio-api-SAZ65ULH.js → studio-api-NFJMFAB7.js} +11 -11
- package/dist/{studioServer-525NV45Z.js → studioServer-TQZVCIEL.js} +51 -50
- package/dist/{system-SXBUUXBG.js → system-ZWIBWWE6.js} +6 -6
- package/dist/{telemetry-MUWYEQ42.js → telemetry-63L2ORO3.js} +9 -9
- package/dist/templates/_shared/AGENTS.md +2 -0
- package/dist/templates/_shared/CLAUDE.md +2 -0
- package/dist/{timeline-BUCFPNP6.js → timeline-QKZQL5DJ.js} +18 -18
- package/dist/{tokens-OOJBPXYD.js → tokens-ELK62U4A.js} +2 -2
- package/dist/{transcribe-JAADNKL7.js → transcribe-OSK7HEOJ.js} +7 -7
- package/dist/{transcribe-GCVTFFIF.js → transcribe-VKSXTM7K.js} +12 -12
- package/dist/{tts-XGVL5UHX.js → tts-FU35O6YB.js} +1 -1
- package/dist/{updateCheck-AVUIJNVC.js → updateCheck-PM4FEI7P.js} +2 -2
- package/dist/{upgrade-DV6IVILG.js → upgrade-G635QCNO.js} +2 -2
- package/dist/{urlDownloader-N7LDOVHK.js → urlDownloader-MVYQTP73.js} +5 -5
- package/dist/{validate-22IQFLYH.js → validate-AZTMI3HR.js} +16 -16
- package/dist/{video-22M7YBQT.js → video-H56FK33V.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-P7GAS5DG.js +0 -3742
- package/dist/{chunk-WJFCDDP7.js → chunk-R4QIE6UY.js} +3 -3
- package/dist/{synthesize-4RPDY46T.js → synthesize-77PTU6C5.js} +4 -4
|
@@ -21,20 +21,14 @@ import {
|
|
|
21
21
|
splitElementInHtml,
|
|
22
22
|
unwrapElementsFromHtml,
|
|
23
23
|
wrapElementsInHtml
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import {
|
|
26
|
-
atomicTempPath,
|
|
27
|
-
createFileAtomically,
|
|
28
|
-
isAtomicTempPath,
|
|
29
|
-
replaceFileAtomically
|
|
30
|
-
} from "./chunk-EOVYQ3IG.js";
|
|
24
|
+
} from "./chunk-R6C6URKB.js";
|
|
31
25
|
import {
|
|
32
26
|
DEFAULT_TARGET_LUFS,
|
|
33
27
|
absoluteLoudnessPlan,
|
|
34
28
|
measureAudio,
|
|
35
29
|
requiredFfmpeg,
|
|
36
30
|
resolveLocalAudioPath
|
|
37
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-ASPTQ6DT.js";
|
|
38
32
|
import {
|
|
39
33
|
PROXY_PARAMS_VERSION,
|
|
40
34
|
PROXY_PENDING_RETRY_AFTER_SECONDS,
|
|
@@ -42,9 +36,13 @@ import {
|
|
|
42
36
|
ProxyCapacityError,
|
|
43
37
|
ProxyTranscodeError,
|
|
44
38
|
ProxyWaitTimeoutError,
|
|
39
|
+
STUDIO_MOTION_PATH,
|
|
45
40
|
createMediaCodecProbeCache,
|
|
41
|
+
createStudioMotionRenderBodyScript,
|
|
46
42
|
decideMediaProxyEligibility,
|
|
47
43
|
isInHiddenOrVendorDir,
|
|
44
|
+
isPrivateProjectFile,
|
|
45
|
+
isPrivateProjectPath,
|
|
48
46
|
isProxyVariantRequest,
|
|
49
47
|
pinWithinProject,
|
|
50
48
|
probeAssetCodec,
|
|
@@ -56,11 +54,18 @@ import {
|
|
|
56
54
|
recordProxyRequest,
|
|
57
55
|
resolveProxy,
|
|
58
56
|
resolveProxyVariantRequest,
|
|
57
|
+
resolveWithinProject,
|
|
59
58
|
scanProjectMediaCodecMap,
|
|
60
59
|
shouldPrewarmProxy,
|
|
61
60
|
waitForProxy,
|
|
62
61
|
walkDir
|
|
63
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-W3KQCJVP.js";
|
|
63
|
+
import {
|
|
64
|
+
atomicTempPath,
|
|
65
|
+
createFileAtomically,
|
|
66
|
+
isAtomicTempPath,
|
|
67
|
+
replaceFileAtomically
|
|
68
|
+
} from "./chunk-EOVYQ3IG.js";
|
|
64
69
|
import {
|
|
65
70
|
findTimelineScript,
|
|
66
71
|
parseGsapScriptAcorn
|
|
@@ -81,7 +86,7 @@ import {
|
|
|
81
86
|
motionPathPluginUrl,
|
|
82
87
|
parseFps,
|
|
83
88
|
sameInstant
|
|
84
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-RLNB3JCY.js";
|
|
85
90
|
import {
|
|
86
91
|
MagicString,
|
|
87
92
|
VALID_CANVAS_RESOLUTIONS,
|
|
@@ -90,7 +95,7 @@ import {
|
|
|
90
95
|
import {
|
|
91
96
|
addScenePartsManifest,
|
|
92
97
|
ensureHfIds
|
|
93
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-P5WDMFBB.js";
|
|
94
99
|
import {
|
|
95
100
|
AFTER_FONTS_SCRIPT_TYPE,
|
|
96
101
|
RUNTIME_BOOTSTRAP_ATTR,
|
|
@@ -104,20 +109,19 @@ import {
|
|
|
104
109
|
resolveRateSpec,
|
|
105
110
|
sourceTimeAt,
|
|
106
111
|
stripEmbeddedRuntimeScripts
|
|
107
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-UINDCCO7.js";
|
|
108
113
|
import {
|
|
109
114
|
ProjectRootMissingError,
|
|
110
115
|
folderGone,
|
|
111
116
|
isProjectRootMissing,
|
|
112
117
|
isSafePath,
|
|
113
118
|
mkdirWithinProject,
|
|
114
|
-
realpath
|
|
115
|
-
resolveWithinProject
|
|
119
|
+
realpath
|
|
116
120
|
} from "./chunk-OFQWTKPW.js";
|
|
117
121
|
import {
|
|
118
122
|
isWithinProjectRoot,
|
|
119
123
|
readProjectFile
|
|
120
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-STA43FMY.js";
|
|
121
125
|
import {
|
|
122
126
|
FFPROBE_PATH_ENV,
|
|
123
127
|
findFfBinary
|
|
@@ -138,7 +142,7 @@ import {
|
|
|
138
142
|
simple
|
|
139
143
|
} from "./chunk-2PSPARWP.js";
|
|
140
144
|
|
|
141
|
-
// ../studio-server/dist/chunk-
|
|
145
|
+
// ../studio-server/dist/chunk-DG2VOIGR.js
|
|
142
146
|
import { createHash } from "crypto";
|
|
143
147
|
import { closeSync, constants, fstatSync, openSync, readFileSync, writeFileSync } from "fs";
|
|
144
148
|
import { dirname, join } from "path";
|
|
@@ -222,7 +226,7 @@ function stampFileHfIds(filePath) {
|
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
|
|
225
|
-
// ../studio-server/dist/chunk-
|
|
229
|
+
// ../studio-server/dist/chunk-K3H6HTVC.js
|
|
226
230
|
import { randomUUID as randomUUID6 } from "crypto";
|
|
227
231
|
import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, writeFile } from "fs/promises";
|
|
228
232
|
import {
|
|
@@ -1963,7 +1967,7 @@ function clearElementScreenshotIsolation() {
|
|
|
1963
1967
|
page.__hfThumbnailFaded = [];
|
|
1964
1968
|
}
|
|
1965
1969
|
|
|
1966
|
-
// ../studio-server/dist/chunk-
|
|
1970
|
+
// ../studio-server/dist/chunk-G7FEKQ32.js
|
|
1967
1971
|
import { resolve as resolve4 } from "path";
|
|
1968
1972
|
function isAutoProxyEnabled(adapter) {
|
|
1969
1973
|
return adapter.autoProxy !== false;
|
|
@@ -2008,193 +2012,6 @@ async function injectMediaCodecMap(html, adapter, projectDir, compSrcPath, probe
|
|
|
2008
2012
|
return injectMediaCodecMapIntoHtml(html, projectDir, [{ html, compSrcPath }], probeCache);
|
|
2009
2013
|
}
|
|
2010
2014
|
|
|
2011
|
-
// ../studio-server/dist/chunk-4ETS2LXI.js
|
|
2012
|
-
var STUDIO_MOTION_PATH = ".hyperframes/studio-motion.json";
|
|
2013
|
-
function hasStudioMotionEntries(manifestContent) {
|
|
2014
|
-
try {
|
|
2015
|
-
const parsed = JSON.parse(manifestContent);
|
|
2016
|
-
return Array.isArray(parsed.motions) && parsed.motions.length > 0;
|
|
2017
|
-
} catch {
|
|
2018
|
-
return false;
|
|
2019
|
-
}
|
|
2020
|
-
}
|
|
2021
|
-
function createStudioMotionRenderBodyScript(manifestContent, options = {}) {
|
|
2022
|
-
if (!manifestContent.trim() || !hasStudioMotionEntries(manifestContent)) return null;
|
|
2023
|
-
return `(${studioMotionRenderRuntime.toString()})(${JSON.stringify(manifestContent)}, ${JSON.stringify(options.activeCompositionPath ?? null)});`;
|
|
2024
|
-
}
|
|
2025
|
-
function studioMotionRenderRuntime(manifestContent, activeCompositionPath) {
|
|
2026
|
-
const STUDIO_MOTION_TIMELINE_ID = "studio-motion";
|
|
2027
|
-
const STUDIO_MOTION_ATTR = "data-hf-studio-motion";
|
|
2028
|
-
const ORIGINAL_TRANSFORM_ATTR = "data-hf-studio-motion-original-transform";
|
|
2029
|
-
const ORIGINAL_OPACITY_ATTR = "data-hf-studio-motion-original-opacity";
|
|
2030
|
-
const ORIGINAL_VISIBILITY_ATTR = "data-hf-studio-motion-original-visibility";
|
|
2031
|
-
const objectRecord = (value) => value && typeof value === "object" ? value : null;
|
|
2032
|
-
const finiteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
2033
|
-
const runtimeWindow = window;
|
|
2034
|
-
const parseMotionValues = (value) => {
|
|
2035
|
-
const record = objectRecord(value);
|
|
2036
|
-
if (!record) return null;
|
|
2037
|
-
const parsed = {};
|
|
2038
|
-
for (const key of ["x", "y", "scale", "rotation", "opacity", "autoAlpha"]) {
|
|
2039
|
-
const next = finiteNumber(record[key]);
|
|
2040
|
-
if (next != null) parsed[key] = next;
|
|
2041
|
-
}
|
|
2042
|
-
return Object.keys(parsed).length > 0 ? parsed : null;
|
|
2043
|
-
};
|
|
2044
|
-
const parseCustomEase = (value) => {
|
|
2045
|
-
const record = objectRecord(value);
|
|
2046
|
-
if (!record) return null;
|
|
2047
|
-
const id = typeof record.id === "string" ? record.id.trim() : "";
|
|
2048
|
-
const data = typeof record.data === "string" ? record.data.trim() : "";
|
|
2049
|
-
if (!id || !data) return null;
|
|
2050
|
-
return { id, data };
|
|
2051
|
-
};
|
|
2052
|
-
const parsedManifest = (() => {
|
|
2053
|
-
try {
|
|
2054
|
-
return objectRecord(JSON.parse(manifestContent));
|
|
2055
|
-
} catch {
|
|
2056
|
-
return null;
|
|
2057
|
-
}
|
|
2058
|
-
})();
|
|
2059
|
-
const manifestMotions = Array.isArray(parsedManifest?.motions) ? parsedManifest.motions : [];
|
|
2060
|
-
const sourceFileForElement = (element) => {
|
|
2061
|
-
let current = element;
|
|
2062
|
-
while (current) {
|
|
2063
|
-
const sourceFile = current.getAttribute("data-composition-file") ?? current.getAttribute("data-composition-src");
|
|
2064
|
-
if (sourceFile) return sourceFile;
|
|
2065
|
-
current = current.parentElement;
|
|
2066
|
-
}
|
|
2067
|
-
return activeCompositionPath ?? "index.html";
|
|
2068
|
-
};
|
|
2069
|
-
const elementMatchesSourceFile = (element, sourceFile) => sourceFileForElement(element) === sourceFile;
|
|
2070
|
-
const isHTMLElement2 = (element) => element instanceof HTMLElement;
|
|
2071
|
-
const querySelectorCandidates = (selector) => {
|
|
2072
|
-
const className = selector.match(/^\.([A-Za-z0-9_-]+)$/)?.[1];
|
|
2073
|
-
if (className) {
|
|
2074
|
-
return Array.from(document.getElementsByTagName("*")).filter(
|
|
2075
|
-
(element) => isHTMLElement2(element) && element.classList.contains(className)
|
|
2076
|
-
);
|
|
2077
|
-
}
|
|
2078
|
-
if (/^[A-Za-z][A-Za-z0-9-]*$/.test(selector)) {
|
|
2079
|
-
return Array.from(document.getElementsByTagName(selector)).filter(isHTMLElement2);
|
|
2080
|
-
}
|
|
2081
|
-
return Array.from(document.querySelectorAll(selector)).filter(isHTMLElement2);
|
|
2082
|
-
};
|
|
2083
|
-
const resolveTarget = (targetRecord) => {
|
|
2084
|
-
const sourceFile = typeof targetRecord.sourceFile === "string" ? targetRecord.sourceFile : "";
|
|
2085
|
-
if (!sourceFile) return null;
|
|
2086
|
-
const id = typeof targetRecord.id === "string" ? targetRecord.id : "";
|
|
2087
|
-
if (id) {
|
|
2088
|
-
const byId = document.getElementById(id);
|
|
2089
|
-
if (isHTMLElement2(byId) && elementMatchesSourceFile(byId, sourceFile)) return byId;
|
|
2090
|
-
}
|
|
2091
|
-
const selector = typeof targetRecord.selector === "string" ? targetRecord.selector : "";
|
|
2092
|
-
if (!selector) return null;
|
|
2093
|
-
try {
|
|
2094
|
-
const selectorIndex = Math.max(0, Math.floor(finiteNumber(targetRecord.selectorIndex) ?? 0));
|
|
2095
|
-
return querySelectorCandidates(selector).filter(
|
|
2096
|
-
(element) => elementMatchesSourceFile(element, sourceFile)
|
|
2097
|
-
)[selectorIndex] ?? null;
|
|
2098
|
-
} catch {
|
|
2099
|
-
return null;
|
|
2100
|
-
}
|
|
2101
|
-
};
|
|
2102
|
-
const restoreElement = (element) => {
|
|
2103
|
-
runtimeWindow.gsap?.set?.(element, { clearProps: "transform,opacity,visibility" });
|
|
2104
|
-
element.style.transform = element.getAttribute(ORIGINAL_TRANSFORM_ATTR) ?? "";
|
|
2105
|
-
element.style.opacity = element.getAttribute(ORIGINAL_OPACITY_ATTR) ?? "";
|
|
2106
|
-
element.style.visibility = element.getAttribute(ORIGINAL_VISIBILITY_ATTR) ?? "";
|
|
2107
|
-
element.removeAttribute(STUDIO_MOTION_ATTR);
|
|
2108
|
-
element.removeAttribute(ORIGINAL_TRANSFORM_ATTR);
|
|
2109
|
-
element.removeAttribute(ORIGINAL_OPACITY_ATTR);
|
|
2110
|
-
element.removeAttribute(ORIGINAL_VISIBILITY_ATTR);
|
|
2111
|
-
};
|
|
2112
|
-
const restoreStudioMotionElements = () => {
|
|
2113
|
-
for (const element of Array.from(document.querySelectorAll(`[${STUDIO_MOTION_ATTR}]`))) {
|
|
2114
|
-
if (isHTMLElement2(element)) restoreElement(element);
|
|
2115
|
-
}
|
|
2116
|
-
};
|
|
2117
|
-
const readCurrentTime = () => {
|
|
2118
|
-
try {
|
|
2119
|
-
const playerTime = runtimeWindow.__player?.getTime?.();
|
|
2120
|
-
if (typeof playerTime === "number" && Number.isFinite(playerTime)) {
|
|
2121
|
-
return Math.max(0, playerTime);
|
|
2122
|
-
}
|
|
2123
|
-
} catch {
|
|
2124
|
-
}
|
|
2125
|
-
try {
|
|
2126
|
-
const timelineTime = runtimeWindow.__timeline?.time?.();
|
|
2127
|
-
if (typeof timelineTime === "number" && Number.isFinite(timelineTime)) {
|
|
2128
|
-
return Math.max(0, timelineTime);
|
|
2129
|
-
}
|
|
2130
|
-
} catch {
|
|
2131
|
-
}
|
|
2132
|
-
return 0;
|
|
2133
|
-
};
|
|
2134
|
-
const resolveEase = (motion) => {
|
|
2135
|
-
const fallback = typeof motion.ease === "string" && motion.ease.trim() ? motion.ease.trim() : "none";
|
|
2136
|
-
const customEase = parseCustomEase(motion.customEase);
|
|
2137
|
-
const customEasePlugin = runtimeWindow.CustomEase;
|
|
2138
|
-
if (!customEase || typeof customEasePlugin?.create !== "function") return fallback;
|
|
2139
|
-
try {
|
|
2140
|
-
runtimeWindow.gsap?.registerPlugin?.(customEasePlugin);
|
|
2141
|
-
customEasePlugin.create(customEase.id, customEase.data);
|
|
2142
|
-
return customEase.id;
|
|
2143
|
-
} catch {
|
|
2144
|
-
return fallback;
|
|
2145
|
-
}
|
|
2146
|
-
};
|
|
2147
|
-
const applyManifest = () => {
|
|
2148
|
-
runtimeWindow.__timelines = runtimeWindow.__timelines ?? {};
|
|
2149
|
-
runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID]?.kill?.();
|
|
2150
|
-
delete runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID];
|
|
2151
|
-
restoreStudioMotionElements();
|
|
2152
|
-
const gsap = runtimeWindow.gsap;
|
|
2153
|
-
if (!gsap?.timeline || manifestMotions.length === 0) return 0;
|
|
2154
|
-
const timeline = gsap.timeline({ paused: true, defaults: { overwrite: "auto" } });
|
|
2155
|
-
let applied = 0;
|
|
2156
|
-
for (const motionValue of manifestMotions) {
|
|
2157
|
-
const motion = objectRecord(motionValue);
|
|
2158
|
-
if (!motion || motion.kind !== "gsap-motion") continue;
|
|
2159
|
-
const targetRecord = objectRecord(motion.target);
|
|
2160
|
-
if (!targetRecord) continue;
|
|
2161
|
-
const target = resolveTarget(targetRecord);
|
|
2162
|
-
if (!target || typeof timeline.fromTo !== "function") continue;
|
|
2163
|
-
const start = finiteNumber(motion.start);
|
|
2164
|
-
const duration = finiteNumber(motion.duration);
|
|
2165
|
-
if (start == null || duration == null || start < 0 || duration <= 0) continue;
|
|
2166
|
-
const from = parseMotionValues(motion.from);
|
|
2167
|
-
const to = parseMotionValues(motion.to);
|
|
2168
|
-
if (!from || !to) continue;
|
|
2169
|
-
if (!target.hasAttribute(STUDIO_MOTION_ATTR)) {
|
|
2170
|
-
target.setAttribute(ORIGINAL_TRANSFORM_ATTR, target.style.transform);
|
|
2171
|
-
target.setAttribute(ORIGINAL_OPACITY_ATTR, target.style.opacity);
|
|
2172
|
-
target.setAttribute(ORIGINAL_VISIBILITY_ATTR, target.style.visibility);
|
|
2173
|
-
}
|
|
2174
|
-
target.setAttribute(STUDIO_MOTION_ATTR, "true");
|
|
2175
|
-
timeline.fromTo(
|
|
2176
|
-
target,
|
|
2177
|
-
from,
|
|
2178
|
-
{ ...to, duration, ease: resolveEase(motion), overwrite: "auto", immediateRender: false },
|
|
2179
|
-
start
|
|
2180
|
-
);
|
|
2181
|
-
applied += 1;
|
|
2182
|
-
}
|
|
2183
|
-
if (applied === 0) {
|
|
2184
|
-
timeline.kill?.();
|
|
2185
|
-
return 0;
|
|
2186
|
-
}
|
|
2187
|
-
runtimeWindow.__timelines[STUDIO_MOTION_TIMELINE_ID] = timeline;
|
|
2188
|
-
timeline.pause?.();
|
|
2189
|
-
const currentTime = readCurrentTime();
|
|
2190
|
-
if (typeof timeline.totalTime === "function") timeline.totalTime(currentTime, false);
|
|
2191
|
-
else timeline.time?.(currentTime);
|
|
2192
|
-
return applied;
|
|
2193
|
-
};
|
|
2194
|
-
runtimeWindow.__hfStudioMotionApply = applyManifest;
|
|
2195
|
-
applyManifest();
|
|
2196
|
-
}
|
|
2197
|
-
|
|
2198
2015
|
// ../studio-server/dist/chunk-X62ASOGO.js
|
|
2199
2016
|
function findUnsafeMutationValues(value, path = "body", options = {}) {
|
|
2200
2017
|
if (value === null) {
|
|
@@ -5439,6 +5256,7 @@ import { createHash as createHash23 } from "crypto";
|
|
|
5439
5256
|
// ../core/dist/studioPreviewMark.js
|
|
5440
5257
|
var STUDIO_PREVIEW_MARK_META = "hyperframes-studio-preview";
|
|
5441
5258
|
var STUDIO_PREVIEW_LAZY_ATTR = "data-hf-preview-lazy";
|
|
5259
|
+
var STUDIO_PREVIEW_ERRORS = "__hfPreviewErrors";
|
|
5442
5260
|
|
|
5443
5261
|
// ../studio-server/dist/index.js
|
|
5444
5262
|
import { readlinkSync as readlinkSync2 } from "fs";
|
|
@@ -5446,7 +5264,7 @@ import { dirname as dirname42, join as join7, parse as parse2, relative as relat
|
|
|
5446
5264
|
import { readFileSync as readFileSync72 } from "fs";
|
|
5447
5265
|
import { join as join9 } from "path";
|
|
5448
5266
|
import { streamSSE } from "hono/streaming";
|
|
5449
|
-
import { existsSync as existsSync6, readFileSync as readFileSync8, unlinkSync as unlinkSync3, readdirSync as readdirSync32, statSync as statSync5 } from "fs";
|
|
5267
|
+
import { existsSync as existsSync6, lstatSync as lstatSync32, readFileSync as readFileSync8, unlinkSync as unlinkSync3, readdirSync as readdirSync32, statSync as statSync5 } from "fs";
|
|
5450
5268
|
import { join as join10 } from "path";
|
|
5451
5269
|
import { HTTPException } from "hono/http-exception";
|
|
5452
5270
|
import { open, stat as stat2 } from "fs/promises";
|
|
@@ -5522,7 +5340,7 @@ function registerProjectRoutes(api, adapter) {
|
|
|
5522
5340
|
api.get("/projects/:id", async (c) => {
|
|
5523
5341
|
const project = await adapter.resolveProject(c.req.param("id"));
|
|
5524
5342
|
if (!project) return c.json({ error: "not found" }, 404);
|
|
5525
|
-
const files = walkDir(project.dir);
|
|
5343
|
+
const files = walkDir(project.dir).filter((file) => !isPrivateProjectPath(file));
|
|
5526
5344
|
const compositions = await filterCompositionFiles(project.dir, files);
|
|
5527
5345
|
return c.json({ id: project.id, dir: project.dir, title: project.title, files, compositions });
|
|
5528
5346
|
});
|
|
@@ -6805,7 +6623,7 @@ function updateReferences(projectDir, oldPath, newPath, isDirectory) {
|
|
|
6805
6623
|
const rewrite = referenceRewriter(oldPath, newPath, isDirectory, projectPaths(projectDir));
|
|
6806
6624
|
let updatedCount = 0;
|
|
6807
6625
|
for (const file of textFiles) {
|
|
6808
|
-
if (!isSafePath(projectDir, file)) continue;
|
|
6626
|
+
if (!isSafePath(projectDir, file) || isPrivateProjectFile(projectDir, file)) continue;
|
|
6809
6627
|
const content = readableText(file);
|
|
6810
6628
|
if (content === null) continue;
|
|
6811
6629
|
const updated = rewrite(content);
|
|
@@ -7097,7 +6915,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
|
|
|
7097
6915
|
let block = extractGsapScriptBlock(html);
|
|
7098
6916
|
if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
|
|
7099
6917
|
const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
|
|
7100
|
-
const { GSAP_CDN } = await import("./dist-
|
|
6918
|
+
const { GSAP_CDN } = await import("./dist-RVC3JTID.js");
|
|
7101
6919
|
const bootstrap = [
|
|
7102
6920
|
`<script src="${GSAP_CDN}"></script>`,
|
|
7103
6921
|
"<script>",
|
|
@@ -7949,7 +7767,7 @@ async function processUploadedFiles(formData, targetDir, projectDir) {
|
|
|
7949
7767
|
finalName = `${base} (${n})${ext}`;
|
|
7950
7768
|
finalPath = resolve22(targetDir, finalName);
|
|
7951
7769
|
}
|
|
7952
|
-
if (!isSafePath(projectDir, finalPath)) continue;
|
|
7770
|
+
if (!isSafePath(projectDir, finalPath) || isPrivateProjectFile(projectDir, finalPath)) continue;
|
|
7953
7771
|
const buffer = Buffer.from(await value.arrayBuffer());
|
|
7954
7772
|
const validation = validateUploadedMediaBuffer(finalName, buffer);
|
|
7955
7773
|
if (!validation.ok) {
|
|
@@ -9101,15 +8919,17 @@ var GSAP_CDN_FALLBACK_SCRIPT = `<script ${GSAP_FALLBACK_ATTR}>
|
|
|
9101
8919
|
if(loaded[file])return loaded[file];
|
|
9102
8920
|
return loaded[file]=new Promise(function(ok,fail){
|
|
9103
8921
|
var s=document.createElement("script");
|
|
9104
|
-
s.src=cdnBase+file;s.onload=ok;s.onerror=fail;
|
|
8922
|
+
s.src=cdnBase+file;s.hfGsapFallback=true;s.onload=ok;s.onerror=fail;
|
|
9105
8923
|
document.head.appendChild(s);
|
|
9106
8924
|
});
|
|
9107
8925
|
}
|
|
9108
8926
|
document.addEventListener("error",function(e){
|
|
9109
8927
|
var t=e.target;
|
|
9110
|
-
if(!t||t.tagName!=="SCRIPT"||!t.src)return;
|
|
8928
|
+
if(!t||t.tagName!=="SCRIPT"||!t.src||t.hfGsapFallback)return;
|
|
9111
8929
|
var m=t.src.match(/gsap[^/]*\\/dist\\/(.+\\.js)/);
|
|
9112
|
-
if(m)loadFallback(m[1])
|
|
8930
|
+
if(m)loadFallback(m[1]).catch(function(){
|
|
8931
|
+
reportError(new Error("GSAP could not load from "+t.src+" or "+cdnBase+m[1]+", so this preview's animations will not play."));
|
|
8932
|
+
});
|
|
9113
8933
|
},true);
|
|
9114
8934
|
})();
|
|
9115
8935
|
</script>`;
|
|
@@ -9141,8 +8961,13 @@ function previewVariablesFromRequest(rawVariables) {
|
|
|
9141
8961
|
return { raw: rawVariables, values: parse22.values };
|
|
9142
8962
|
}
|
|
9143
8963
|
var PREVIEW_CAPTURE_PARAM = "hf-capture";
|
|
8964
|
+
var EARLY_ERRORS_SCRIPT = `<script>(function(){var seen=window.${STUDIO_PREVIEW_ERRORS}=[];
|
|
8965
|
+
addEventListener("error",function(e){seen.push(e.message||String(e))});})();</script>`;
|
|
9144
8966
|
function injectStudioPreviewAugmentations(html, adapter, projectDir, activeCompositionPath, capture) {
|
|
9145
|
-
const marked = capture ? html : injectTagsAtHeadStart(
|
|
8967
|
+
const marked = capture ? html : injectTagsAtHeadStart(
|
|
8968
|
+
lazyPreviewImages(html),
|
|
8969
|
+
`<meta name="${STUDIO_PREVIEW_MARK_META}">${EARLY_ERRORS_SCRIPT}`
|
|
8970
|
+
);
|
|
9146
8971
|
return injectStudioMotionScript(
|
|
9147
8972
|
injectMotionPathPluginIfNeeded(
|
|
9148
8973
|
injectGsapCdnFallback(
|
|
@@ -9363,7 +9188,7 @@ ${etag}`;
|
|
|
9363
9188
|
const subPath = requestSubPath(c.req.url, "projects/:id/preview");
|
|
9364
9189
|
const candidate = resolve42(project.dir, subPath);
|
|
9365
9190
|
const file = isWithinProjectRoot(project.dir, candidate) ? candidate : null;
|
|
9366
|
-
if (!file) {
|
|
9191
|
+
if (!file || isPrivateProjectFile(project.dir, file)) {
|
|
9367
9192
|
return c.text("not found", 404);
|
|
9368
9193
|
}
|
|
9369
9194
|
recordPreviewRead(project.dir, file);
|
|
@@ -9634,6 +9459,13 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9634
9459
|
".mov": "video/quicktime"
|
|
9635
9460
|
};
|
|
9636
9461
|
const RENDER_EXTENSIONS = Object.keys(RENDER_MIME);
|
|
9462
|
+
const isPlainFile = (path) => {
|
|
9463
|
+
try {
|
|
9464
|
+
return lstatSync32(path).isFile();
|
|
9465
|
+
} catch {
|
|
9466
|
+
return false;
|
|
9467
|
+
}
|
|
9468
|
+
};
|
|
9637
9469
|
function renderContentType(filePath) {
|
|
9638
9470
|
const ext = RENDER_EXTENSIONS.find((e) => filePath.endsWith(e));
|
|
9639
9471
|
return (ext && RENDER_MIME[ext]) ?? "video/mp4";
|
|
@@ -9641,7 +9473,7 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9641
9473
|
api.get("/render/:jobId/view", (c) => {
|
|
9642
9474
|
const { jobId } = c.req.param();
|
|
9643
9475
|
const job = renderJobs.get(jobId);
|
|
9644
|
-
if (!job?.outputPath || !
|
|
9476
|
+
if (!job?.outputPath || !isPlainFile(job.outputPath)) {
|
|
9645
9477
|
return c.json({ error: "not found" }, 404);
|
|
9646
9478
|
}
|
|
9647
9479
|
const contentType = renderContentType(job.outputPath);
|
|
@@ -9659,7 +9491,7 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9659
9491
|
api.get("/render/:jobId/download", (c) => {
|
|
9660
9492
|
const { jobId } = c.req.param();
|
|
9661
9493
|
const job = renderJobs.get(jobId);
|
|
9662
|
-
if (!job?.outputPath || !
|
|
9494
|
+
if (!job?.outputPath || !isPlainFile(job.outputPath)) {
|
|
9663
9495
|
return c.json({ error: "not found" }, 404);
|
|
9664
9496
|
}
|
|
9665
9497
|
const contentType = renderContentType(job.outputPath);
|
|
@@ -9694,7 +9526,7 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9694
9526
|
if (!filename) return c.json({ error: "missing filename" }, 400);
|
|
9695
9527
|
const rendersDir = adapter.rendersDir(project);
|
|
9696
9528
|
const fp = resolveWithinProject(rendersDir, filename);
|
|
9697
|
-
if (!fp) return c.json({ error: "forbidden" }, 403);
|
|
9529
|
+
if (!fp || isPrivateProjectFile(project.dir, fp)) return c.json({ error: "forbidden" }, 403);
|
|
9698
9530
|
if (!existsSync6(fp)) return c.json({ error: "not found" }, 404);
|
|
9699
9531
|
const contentType = renderContentType(fp);
|
|
9700
9532
|
const content = readFileSync8(fp);
|
|
@@ -9712,8 +9544,10 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9712
9544
|
if (!project) return c.json({ error: "not found" }, 404);
|
|
9713
9545
|
const rendersDir = adapter.rendersDir(project);
|
|
9714
9546
|
if (!existsSync6(rendersDir)) return c.json({ renders: [] });
|
|
9715
|
-
const files = readdirSync32(rendersDir).filter((f) => f.endsWith(".mp4") || f.endsWith(".webm") || f.endsWith(".mov")).
|
|
9716
|
-
const fp =
|
|
9547
|
+
const files = readdirSync32(rendersDir).filter((f) => f.endsWith(".mp4") || f.endsWith(".webm") || f.endsWith(".mov")).flatMap((f) => {
|
|
9548
|
+
const fp = resolveWithinProject(rendersDir, f);
|
|
9549
|
+
return fp && !isPrivateProjectFile(project.dir, fp) ? [{ f, fp }] : [];
|
|
9550
|
+
}).map(({ f, fp }) => {
|
|
9717
9551
|
const stat22 = statSync5(fp);
|
|
9718
9552
|
const rid = f.replace(/\.(mp4|webm|mov)$/, "");
|
|
9719
9553
|
const metaPath = join10(rendersDir, `${rid}.meta.json`);
|
|
@@ -9732,6 +9566,7 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9732
9566
|
return {
|
|
9733
9567
|
id: rid,
|
|
9734
9568
|
filename: f,
|
|
9569
|
+
path: fp,
|
|
9735
9570
|
size: stat22.size,
|
|
9736
9571
|
createdAt: stat22.mtimeMs,
|
|
9737
9572
|
status,
|
|
@@ -9745,12 +9580,12 @@ function registerRenderRoutes(api, adapter) {
|
|
|
9745
9580
|
id: file.id,
|
|
9746
9581
|
status: file.status,
|
|
9747
9582
|
progress: 100,
|
|
9748
|
-
outputPath:
|
|
9583
|
+
outputPath: file.path,
|
|
9749
9584
|
createdAt: file.createdAt
|
|
9750
9585
|
});
|
|
9751
9586
|
}
|
|
9752
9587
|
}
|
|
9753
|
-
return c.json({ renders: files });
|
|
9588
|
+
return c.json({ renders: files.map(({ path: _path, ...render }) => render) });
|
|
9754
9589
|
});
|
|
9755
9590
|
}
|
|
9756
9591
|
var ThumbnailGenerationCoordinator = class {
|
|
@@ -11527,8 +11362,6 @@ export {
|
|
|
11527
11362
|
getElementScreenshotClip,
|
|
11528
11363
|
clearElementScreenshotIsolation,
|
|
11529
11364
|
injectMediaCodecMapIntoHtml,
|
|
11530
|
-
STUDIO_MOTION_PATH,
|
|
11531
|
-
createStudioMotionRenderBodyScript,
|
|
11532
11365
|
MIME_TYPES,
|
|
11533
11366
|
getMimeType,
|
|
11534
11367
|
buildSubCompositionHtml,
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
DEFAULT_VP9_CPU_USED,
|
|
9
9
|
isHttpUrl,
|
|
10
10
|
runFfmpeg
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7Y5SMPRV.js";
|
|
12
12
|
import {
|
|
13
13
|
parseAnimatedGifMetadata
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-RLNB3JCY.js";
|
|
15
15
|
import {
|
|
16
16
|
parseHTML
|
|
17
17
|
} from "./chunk-GK4AIFIH.js";
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
VERSION
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-P75OFLZN.js";
|
|
10
10
|
|
|
11
11
|
// src/registry/compatibility.ts
|
|
12
12
|
import { compareVersions } from "compare-versions";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-XQODEVF3.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -221,7 +221,7 @@ var asset_default = defineCommand({
|
|
|
221
221
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
222
222
|
);
|
|
223
223
|
}
|
|
224
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
224
|
+
const { trackFigmaImport } = await import("./telemetry-63L2ORO3.js");
|
|
225
225
|
trackFigmaImport({
|
|
226
226
|
phase: "asset",
|
|
227
227
|
reused: results.every((r) => r.reused),
|
|
@@ -7,16 +7,16 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
parseFeedbackRating,
|
|
9
9
|
trackRenderFeedback
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WH6PRFNX.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-VR5UQWGV.js";
|
|
14
14
|
import {
|
|
15
15
|
c
|
|
16
16
|
} from "./chunk-ZTZA4UWZ.js";
|
|
17
17
|
import {
|
|
18
18
|
detectAgentRuntime
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-MIOBYUXT.js";
|
|
20
20
|
import {
|
|
21
21
|
readConfig,
|
|
22
22
|
writeConfig
|
|
@@ -83,7 +83,7 @@ async function maybePromptRenderFeedback(opts) {
|
|
|
83
83
|
async function getDoctorSummary() {
|
|
84
84
|
try {
|
|
85
85
|
const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
|
|
86
|
-
import("./system-
|
|
86
|
+
import("./system-ZWIBWWE6.js"),
|
|
87
87
|
import("./ffmpeg-QIUFEFTY.js")
|
|
88
88
|
]);
|
|
89
89
|
const sys = getSystemMeta();
|
|
@@ -14,9 +14,13 @@ import {
|
|
|
14
14
|
describeRejectedPythonOverride,
|
|
15
15
|
hasPythonModules
|
|
16
16
|
} from "./chunk-5ETJX6WM.js";
|
|
17
|
+
import {
|
|
18
|
+
OPTIONAL_PACKAGES,
|
|
19
|
+
installedOptionalPackageVersion
|
|
20
|
+
} from "./chunk-3DKN5WKL.js";
|
|
17
21
|
import {
|
|
18
22
|
runEnvironmentChecks
|
|
19
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-UUMK6VME.js";
|
|
20
24
|
import {
|
|
21
25
|
c
|
|
22
26
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -25,31 +29,27 @@ import {
|
|
|
25
29
|
getFreeDiskMb,
|
|
26
30
|
getShmSizeMb,
|
|
27
31
|
getSystemMeta
|
|
28
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-MIOBYUXT.js";
|
|
29
33
|
import {
|
|
30
34
|
defineCommand
|
|
31
35
|
} from "./chunk-S3S4TGEH.js";
|
|
32
36
|
import {
|
|
33
37
|
resolveExtractCacheDir
|
|
34
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-7Y5SMPRV.js";
|
|
35
39
|
import {
|
|
36
40
|
getUpdateMeta,
|
|
37
41
|
withMeta
|
|
38
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-YNBXJWSD.js";
|
|
39
43
|
import {
|
|
40
44
|
CONFIG_PATH,
|
|
41
45
|
withFileLock
|
|
42
46
|
} from "./chunk-XUXGIA7H.js";
|
|
43
47
|
import {
|
|
44
48
|
VERSION
|
|
45
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-P75OFLZN.js";
|
|
46
50
|
import {
|
|
47
51
|
normalizeErrorMessage
|
|
48
52
|
} from "./chunk-KNU5COPB.js";
|
|
49
|
-
import {
|
|
50
|
-
OPTIONAL_PACKAGES,
|
|
51
|
-
installedOptionalPackageVersion
|
|
52
|
-
} from "./chunk-XT5P4QMO.js";
|
|
53
53
|
|
|
54
54
|
// src/commands/doctor.ts
|
|
55
55
|
import { execFileSync, execSync } from "child_process";
|
|
@@ -4,6 +4,9 @@ import { dirname as __hf_dirname } from "node:path";
|
|
|
4
4
|
var require = __hf_createRequire(import.meta.url);
|
|
5
5
|
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
loadOptionalPackage
|
|
9
|
+
} from "./chunk-3DKN5WKL.js";
|
|
7
10
|
import {
|
|
8
11
|
ensureModel,
|
|
9
12
|
selectProviders
|
|
@@ -16,10 +19,7 @@ import {
|
|
|
16
19
|
import {
|
|
17
20
|
DEFAULT_VP9_CPU_USED,
|
|
18
21
|
renderProvenanceArgs
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
loadOptionalPackage
|
|
22
|
-
} from "./chunk-XT5P4QMO.js";
|
|
22
|
+
} from "./chunk-7Y5SMPRV.js";
|
|
23
23
|
|
|
24
24
|
// src/background-removal/pipeline.ts
|
|
25
25
|
import { spawn } from "child_process";
|
|
@@ -202,7 +202,7 @@ function inferInputKind(inputPath) {
|
|
|
202
202
|
}
|
|
203
203
|
async function probeMedia(inputPath) {
|
|
204
204
|
const isImage = inferInputKind(inputPath) === "image";
|
|
205
|
-
const engine = await import("./src-
|
|
205
|
+
const engine = await import("./src-YO7MAWGD.js");
|
|
206
206
|
const meta = await engine.extractMediaMetadata(inputPath);
|
|
207
207
|
if (isImage) {
|
|
208
208
|
return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
|