hyperframes 0.8.143 → 0.8.145
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/README.md +3 -2
- package/dist/{add-Q5EYDUAY.js → add-B6OUH46W.js} +12 -12
- package/dist/{animatedGifPrep-H2DUQEZ3.js → animatedGifPrep-MIWRDJIO.js} +7 -7
- package/dist/{asset-C7JBYYX4.js → asset-XJ2B2PU3.js} +2 -2
- package/dist/{assetCataloger-FRO4G6OU.js → assetCataloger-A5ZLSCMZ.js} +3 -3
- package/dist/{auth-FRWLCO36.js → auth-5HOVCZMV.js} +1 -1
- package/dist/{autoUpdate-E4OZXQK6.js → autoUpdate-WVNL5K3D.js} +2 -2
- package/dist/{backgroundChecks-FSUVHN5L.js → backgroundChecks-IGF54SFH.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-4U73BYTU.js → batchRender-T6JEGCQV.js} +4 -4
- package/dist/{beats-U6KJWF35.js → beats-37T6Y6QP.js} +13 -13
- package/dist/{benchmark-5ONT7V7B.js → benchmark-ZVVLOWPP.js} +9 -9
- package/dist/{browser-R4DU46IE.js → browser-4SSJOLH4.js} +39 -55
- package/dist/{bundleWithLocalizedFonts-VH55VOAL.js → bundleWithLocalizedFonts-XWK423QP.js} +2 -2
- package/dist/{capture-OGQAEYKO.js → capture-2SF7YP57.js} +2 -2
- package/dist/{capture-26G2DPSI.js → capture-KZXOPBMO.js} +18 -18
- package/dist/{catalog-RKORTIUE.js → catalog-NLD4A2C6.js} +12 -12
- package/dist/{catch-up-4OBERRQO.js → catch-up-4BSRN6IR.js} +4 -4
- package/dist/{check-P2XDN57S.js → check-IA44QQWM.js} +66 -55
- package/dist/{checkBrowser-NTGJGAEA.js → checkBrowser-VM35KZMW.js} +81 -30
- package/dist/{chunk-LVX6NK36.js → chunk-3IBMBNYY.js} +1 -1
- package/dist/{chunk-6XMFEICO.js → chunk-3KU3PFDW.js} +77 -92
- package/dist/{chunk-PJU63L6W.js → chunk-4ORLNTET.js} +1 -1
- package/dist/{chunk-DF2BHILQ.js → chunk-4QWD6JYN.js} +3 -3
- package/dist/{chunk-BT27OYYX.js → chunk-5NRXZGKK.js} +18 -12
- package/dist/{chunk-UM2GRYM3.js → chunk-5WVW7P23.js} +3 -3
- package/dist/{chunk-I7QGQAZM.js → chunk-6LGNTUZN.js} +7 -7
- package/dist/{chunk-LAOCA3MQ.js → chunk-A4Q7W4LV.js} +13 -8
- package/dist/{chunk-4PFZPP2N.js → chunk-A6S35NYA.js} +54 -16
- package/dist/{chunk-QRKLPWEX.js → chunk-ADF3X6GM.js} +11 -2
- package/dist/chunk-AUWHD7RA.js +3753 -0
- package/dist/{chunk-W35EKBS6.js → chunk-BFACGEII.js} +2 -2
- package/dist/{chunk-HW4AKJ5F.js → chunk-BIAC7IJT.js} +1 -1
- package/dist/{chunk-ZLW2V65P.js → chunk-BSQ7XANM.js} +3 -2
- package/dist/{chunk-LCSMOLGX.js → chunk-BYSBRF24.js} +69 -8
- package/dist/{chunk-2LBBHMKT.js → chunk-CFUXNBWH.js} +1 -1
- package/dist/{chunk-BFDJ63J5.js → chunk-DDIVWXN7.js} +1 -1
- package/dist/{chunk-KOEWEFHK.js → chunk-DIRJ322I.js} +10 -5
- package/dist/{chunk-FVYXDXEV.js → chunk-DWUKJQTO.js} +2 -2
- package/dist/{chunk-POLR33RB.js → chunk-EPE2HRJK.js} +15 -17
- package/dist/{chunk-UICWP23D.js → chunk-FBCULCAL.js} +3 -3
- package/dist/{chunk-F26LCYRY.js → chunk-FDT6KQV4.js} +142 -81
- package/dist/{chunk-P7THMINS.js → chunk-FXJJCPPB.js} +1 -1
- package/dist/{chunk-BYK73CR7.js → chunk-GBGJ7A3D.js} +5 -5
- package/dist/{sherpa-LVIUEAGF.js → chunk-GEMJYBRU.js} +11 -45
- package/dist/{chunk-KO5QBV73.js → chunk-GMAJB2P6.js} +1 -1
- package/dist/{chunk-KQLGTGE5.js → chunk-GRY3PN3K.js} +2 -2
- package/dist/{chunk-7UYBQ6NF.js → chunk-GXJEGZL2.js} +30 -20
- package/dist/{chunk-KJJLA674.js → chunk-GZVP4TWN.js} +1 -46
- package/dist/{chunk-QVYVUCWD.js → chunk-HB7FJOY4.js} +1 -1
- package/dist/{chunk-QFN7NVWM.js → chunk-ICKDMTLA.js} +1 -1
- package/dist/{chunk-XONFUK3M.js → chunk-IEIJRMLZ.js} +47 -35
- package/dist/{chunk-PAGIICKN.js → chunk-IHTRYDFN.js} +1 -1
- package/dist/chunk-IR35BCLK.js +13 -0
- package/dist/{chunk-KDPYVTEU.js → chunk-KBB4RG6F.js} +6 -1
- package/dist/{chunk-ZQQ3SEIE.js → chunk-KIFHYXPB.js} +99 -31
- package/dist/{chunk-TAMQYQGJ.js → chunk-LAFJSYDL.js} +1 -1
- package/dist/{chunk-U3X3TPBW.js → chunk-MAYCCGMQ.js} +11 -2
- package/dist/{chunk-HC7EVDEL.js → chunk-OB5MJR4W.js} +1 -1
- package/dist/{chunk-N3DQEVSI.js → chunk-OTHDVXOJ.js} +8 -5
- package/dist/{chunk-Y6QL2LGO.js → chunk-PLR7Z6TC.js} +1 -1
- package/dist/{chunk-OBXQRJWQ.js → chunk-QATWIE4K.js} +1 -1
- package/dist/{chunk-HLYOEIWM.js → chunk-QLSM7K5S.js} +2 -2
- package/dist/{chunk-LW6HO6U3.js → chunk-R42WWQVB.js} +1 -1
- package/dist/{chunk-HMT2RPZU.js → chunk-U5QY7KTN.js} +13 -9
- package/dist/chunk-UPFUC4DB.js +136 -0
- package/dist/{chunk-33RZPZ4K.js → chunk-UXO2L7HJ.js} +366 -156
- package/dist/{chunk-GNBGPUJ7.js → chunk-VHFEMFYL.js} +3 -3
- package/dist/{chunk-4M4EC7JX.js → chunk-VRW6EBHV.js} +12 -1
- package/dist/{chunk-VIVBA6E6.js → chunk-XBX4QJP7.js} +1 -1
- package/dist/{chunk-CLOH4LIB.js → chunk-XIHCMVMG.js} +2 -2
- package/dist/{chunk-TVCRUG2S.js → chunk-ZEUONDQG.js} +1 -1
- package/dist/{chunk-OSSHSIMD.js → chunk-ZF7SXQJ7.js} +1 -1
- package/dist/{chunk-5FISWJ37.js → chunk-ZIYZ77MR.js} +4 -4
- package/dist/{chunk-3NE7ZYU2.js → chunk-ZSVUAVMT.js} +3 -3
- package/dist/{clean-YHGPY33K.js → clean-RDKJB5FK.js} +18 -18
- package/dist/cli.js +68 -56
- package/dist/{cloud-DOFI5ISR.js → cloud-QVPVVNCW.js} +4 -4
- package/dist/{cloudrun-KTZ4XDHL.js → cloudrun-3RE2UCQG.js} +4 -4
- package/dist/{compare-SMMIZN2C.js → compare-LEDOY7MO.js} +25 -25
- package/dist/{compiler-TEXQWW6N.js → compiler-F54OZZPM.js} +10 -4
- package/dist/{component-B3GCNGSS.js → component-N42M67WY.js} +3 -3
- package/dist/{compositions-OQNZZTKF.js → compositions-VB2J2LZI.js} +11 -11
- package/dist/{delete-EL5LVSEP.js → delete-Q6RWMJ4Z.js} +2 -2
- package/dist/{dist-5UVIRMSM.js → dist-KDJTFJHA.js} +2 -2
- package/dist/{dist-XN234YFQ.js → dist-Q4BI5A73.js} +4 -4
- package/dist/{doctor-UOL3OI2A.js → doctor-JMMUHDRV.js} +13 -13
- package/dist/{events-K2DB2PBC.js → events-6ZBSIBE5.js} +2 -2
- package/dist/{events-NIZBS6S7.js → events-RGUAHIBW.js} +3 -3
- package/dist/{feedback-QMP4E6L7.js → feedback-FIID6MZW.js} +9 -9
- package/dist/{ffmpeg-QIUFEFTY.js → ffmpeg-T5SH2EFJ.js} +3 -2
- package/dist/{figma-2AUJRNVC.js → figma-BL3JJC36.js} +3 -3
- package/dist/fontLocalizeCli.js +9 -9
- package/dist/{get-P5NC7SRM.js → get-P46GS7S6.js} +2 -2
- package/dist/{gpuPolicy-7N5MCE2G.js → gpuPolicy-AQ2BPLBK.js} +11 -9
- package/dist/{grade-compare-HV5AFZ6P.js → grade-compare-GDCWU7ZZ.js} +27 -27
- package/dist/{help-3TSTXBLN.js → help-HJR3RWFG.js} +2 -2
- package/dist/{history-D65XFJ6D.js → history-GGO5AWJB.js} +5 -5
- package/dist/hyperframe-runtime.js +59 -59
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +59 -59
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-TXV7MLFO.js → info-3GFWUBJC.js} +8 -8
- package/dist/{init-OSDMJZJV.js → init-36OPU2ZG.js} +35 -36
- package/dist/{inspect-RQQSAYIJ.js → inspect-F2HEL5ON.js} +26 -26
- package/dist/{installer-CDOB32HE.js → installer-NI6P6GC4.js} +5 -5
- package/dist/{keyframes-V75Q6GRM.js → keyframes-7OY3LMAZ.js} +6 -6
- package/dist/{lambda-RODV4RCX.js → lambda-6GJIWNJ3.js} +5 -5
- package/dist/{layout-IZAI5SFC.js → layout-FTMLNL5A.js} +26 -26
- package/dist/{lint-PLXOXY5R.js → lint-U6POHUON.js} +8 -8
- package/dist/{lintProject-OQ6H6XBR.js → lintProject-UBZ3TDHU.js} +2 -2
- package/dist/{list-BQBPNKDZ.js → list-IP5KI5Q2.js} +2 -2
- package/dist/{login-NP6F4FHC.js → login-4VWTVPHG.js} +4 -4
- package/dist/{manager-CT3D67CG.js → manager-BPSR6D3V.js} +2 -2
- package/dist/{manager-GXYF4AVO.js → manager-YKMHR6LN.js} +8 -5
- package/dist/{media-treatment-PXGMZ4A4.js → media-treatment-XGV44AGV.js} +16 -13
- package/dist/{models-CEZM6XZ7.js → models-UCXB6UR5.js} +59 -19
- package/dist/{motionShot-R4GHYWYM.js → motionShot-WPVNBXKA.js} +21 -22
- package/dist/{normalize-H6KUHHEI.js → normalize-U3SL5VG3.js} +2 -2
- package/dist/{normalize-audio-MQ7NFCOV.js → normalize-audio-TYJ3UEHO.js} +6 -6
- package/dist/{open-AKQTGNXF.js → open-HENOLVB2.js} +4 -4
- package/dist/parakeetRunner-VFQ6WFTD.js +67 -0
- package/dist/{pipeline-SYJYP2RM.js → pipeline-6WPSC3H4.js} +10 -9
- package/dist/{play-NBH4B7PL.js → play-OI53WNUM.js} +19 -19
- package/dist/{preflight-Y5DN5D37.js → preflight-B4AFK3RG.js} +4 -4
- package/dist/{present-XAX55CFS.js → present-NGMEQ4NO.js} +15 -15
- package/dist/{preview-OLANKNFA.js → preview-VT2HWRWZ.js} +19 -19
- package/dist/{producer-Q6YNZZUJ.js → producer-7TYEAUF7.js} +1 -1
- package/dist/{projectConfig-EM26P45P.js → projectConfig-B2AF5DXY.js} +7 -7
- package/dist/{publication-OXWJZKSX.js → publication-2PANQVC6.js} +3 -3
- package/dist/{publish-4VBWP2UB.js → publish-O5OL42BG.js} +11 -11
- package/dist/{remove-background-REB7427G.js → remove-background-T2JM6UVP.js} +11 -10
- package/dist/{render-K25YOG3M.js → render-OLPKOJRU.js} +11 -11
- package/dist/{render-3CVZ2SZG.js → render-W7OFXDOJ.js} +4 -4
- package/dist/{render-TSE75QUL.js → render-Z253WHBK.js} +26 -26
- package/dist/{render-batch-GGUOK3DS.js → render-batch-46IIBFKL.js} +4 -4
- package/dist/{renderCancellation-PZRWB53I.js → renderCancellation-QTZOCDJ2.js} +10 -9
- package/dist/renderSetupWorker.js +32 -44
- package/dist/{resolver-S5VK6UCB.js → resolver-J2PL5FVJ.js} +5 -5
- package/dist/sherpa-ZF42V3RN.js +75 -0
- package/dist/sherpaWorker.js +2 -1
- package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
- package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
- package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
- package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
- package/dist/skills/hyperframes-cli/SKILL.md +2 -0
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
- package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
- package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
- package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
- package/dist/{skills-I65FU5HD.js → skills-ACDOO3PX.js} +7 -7
- package/dist/{skillsUpdateCheck-J57RNNIV.js → skillsUpdateCheck-L5OXVVPU.js} +3 -3
- package/dist/{snapshot-YROOGY22.js → snapshot-UUVNZOW5.js} +28 -28
- package/dist/{src-JO5JOV7Y.js → src-BSLKXEGX.js} +10 -6
- package/dist/{src-X426BZAG.js → src-KS3AWFGT.js} +8 -8
- package/dist/{staticProjectServer-5VMBS262.js → staticProjectServer-2TTVGPQH.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-BXSuksFh.js → hyperframes-player-DZ5JrMDg.js} +3 -3
- package/dist/studio/assets/{index-FgyO_5Kv.js → index-BOs6C0aZ.js} +1 -1
- package/dist/studio/assets/{index-BgOVCqjo.js → index-BqFRhNZa.js} +1 -1
- package/dist/studio/assets/{index-J7jpL4pj.js → index-D8W0a0Z9.js} +149 -149
- package/dist/studio/{chunk-TFLU2MGI.js → chunk-6JY3MTIX.js} +108 -2
- package/dist/studio/{chunk-H2DUOXTF.js → chunk-NZPJUZKT.js} +100 -4
- package/dist/studio/{chunk-UYWON5AX.js → chunk-TP6D3U37.js} +7 -100
- package/dist/studio/{chunk-LOVBLSMR.js → chunk-Y2OHHNM2.js} +35 -19
- package/dist/studio/{domEditingLayers-KBTPQKGA.js → domEditingLayers-PTP2ICGM.js} +3 -3
- package/dist/studio/index.d.ts +8 -5
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +545 -495
- package/dist/studio/player.js +3 -3
- package/dist/studio/ui.d.ts +4 -5
- package/dist/studio/ui.js +1 -1
- package/dist/{studio-api-VRBZUGAE.js → studio-api-WYWF7XRC.js} +9 -9
- package/dist/{studioServer-DBNKZ6I6.js → studioServer-3FG4YTP7.js} +72 -54
- package/dist/{telemetry-CXAX3TO3.js → telemetry-PAOOB4T4.js} +3 -3
- package/dist/{timeline-VQ34WH7J.js → timeline-JIIJKKPC.js} +69 -47
- package/dist/{tokens-62R7VFAZ.js → tokens-3QRAM75Z.js} +2 -2
- package/dist/{transcribe-XOHPPL2O.js → transcribe-QSBP5MUG.js} +115 -51
- package/dist/{transcribe-7KR7IPJA.js → transcribe-SZB6UMXE.js} +14 -12
- package/dist/{tts-MUV42JXT.js → tts-B6AHFQEO.js} +1 -1
- package/dist/{updateCheck-POYNH3B5.js → updateCheck-V3DSB26K.js} +2 -2
- package/dist/{upgrade-NBNOT7J2.js → upgrade-L5GISOEV.js} +2 -2
- package/dist/{urlDownloader-3NS63A7B.js → urlDownloader-52FERT4X.js} +6 -6
- package/dist/{validate-Y2QDHAEP.js → validate-HVVLX7KO.js} +20 -20
- package/dist/{video-SJDMTSTL.js → video-MEOWRMFG.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-6TPZSTCL.js +0 -3681
- package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
- package/dist/studio/chunk-H2DUOXTF.js.map +0 -1
- package/dist/studio/chunk-LOVBLSMR.js.map +0 -1
- package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
- package/dist/studio/chunk-TFLU2MGI.js.map +0 -1
- package/dist/studio/chunk-UYWON5AX.js.map +0 -1
- package/dist/studio/domEditingLayers-KBTPQKGA.js.map +0 -1
- package/dist/studio/index.css.map +0 -1
- package/dist/studio/index.js.map +0 -1
- package/dist/studio/player.js.map +0 -1
- package/dist/studio/styles/tailwind-preset.js.map +0 -1
- package/dist/studio/ui.js.map +0 -1
- package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
- package/dist/{synthesize-C3IWDAXF.js → synthesize-UCI4X5O7.js} +4 -4
|
@@ -16,13 +16,14 @@ import {
|
|
|
16
16
|
EncoderInterruptedError,
|
|
17
17
|
encoderFailureError,
|
|
18
18
|
prepareAnimatedGifInputs
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GRY3PN3K.js";
|
|
20
20
|
import {
|
|
21
21
|
createStudioPositionSeekReapplyScript
|
|
22
22
|
} from "./chunk-KC5XXX3X.js";
|
|
23
23
|
import {
|
|
24
24
|
BROWSER_GPU_NOT_SOFTWARE,
|
|
25
25
|
CaptureFailure,
|
|
26
|
+
DEFAULT_CONFIG,
|
|
26
27
|
DrawElementVerificationError,
|
|
27
28
|
HDR_AUTO_PROMOTION_PIPELINE,
|
|
28
29
|
HF_AUDIO_GROUP_TAG,
|
|
@@ -68,6 +69,7 @@ import {
|
|
|
68
69
|
decodePng,
|
|
69
70
|
decodePngToRgb48le,
|
|
70
71
|
deriveBeginFrameProbeTimeTicks,
|
|
72
|
+
describeFfmpegFailure,
|
|
71
73
|
detectTransfer,
|
|
72
74
|
distributeFrames,
|
|
73
75
|
distributeFramesInterleaved,
|
|
@@ -142,7 +144,7 @@ import {
|
|
|
142
144
|
validateEngineConfigSnapshot,
|
|
143
145
|
verifyDiskDrawElementSamples,
|
|
144
146
|
writeCapturedFrame
|
|
145
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-UXO2L7HJ.js";
|
|
146
148
|
import {
|
|
147
149
|
assignBundledRuntimeCompositionIds,
|
|
148
150
|
buildVariablesByCompScript,
|
|
@@ -150,9 +152,12 @@ import {
|
|
|
150
152
|
emitRootCompositionVariableStyles,
|
|
151
153
|
ensureExternalLinkTag,
|
|
152
154
|
ensureExternalScriptTag,
|
|
155
|
+
extractStandaloneEntryFromIndex,
|
|
153
156
|
inlineSubCompositions,
|
|
157
|
+
isTemplateEntry,
|
|
158
|
+
parsesAsScript,
|
|
154
159
|
prepareFlattenedInnerRoot
|
|
155
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-FDT6KQV4.js";
|
|
156
161
|
import {
|
|
157
162
|
LOW_MEMORY_TOTAL_MB_THRESHOLD,
|
|
158
163
|
getCgroupMemoryLimitMb,
|
|
@@ -173,7 +178,7 @@ import {
|
|
|
173
178
|
resolveAbsoluteMediaStartSeconds,
|
|
174
179
|
resolveAuthoredTimingWindow,
|
|
175
180
|
toFps
|
|
176
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-VRW6EBHV.js";
|
|
177
182
|
import {
|
|
178
183
|
COMPOSITION_SOURCE_URL,
|
|
179
184
|
HF_COLOR_GRADING_ATTR,
|
|
@@ -200,7 +205,7 @@ import {
|
|
|
200
205
|
shouldClampResolvedMediaDuration,
|
|
201
206
|
sourceTimeAt,
|
|
202
207
|
styleElementsFor
|
|
203
|
-
} from "./chunk-
|
|
208
|
+
} from "./chunk-AUWHD7RA.js";
|
|
204
209
|
import {
|
|
205
210
|
MAX_AUDIO_GAIN
|
|
206
211
|
} from "./chunk-YA62XGXS.js";
|
|
@@ -224,7 +229,7 @@ import {
|
|
|
224
229
|
} from "./chunk-TWWSYAKJ.js";
|
|
225
230
|
import {
|
|
226
231
|
lintHyperframeHtml
|
|
227
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-IEIJRMLZ.js";
|
|
228
233
|
import {
|
|
229
234
|
isUnresolvedAssetPlaceholder,
|
|
230
235
|
readProjectFile,
|
|
@@ -240,7 +245,7 @@ import {
|
|
|
240
245
|
rewriteAssetPaths,
|
|
241
246
|
rewriteCssAssetUrls,
|
|
242
247
|
rewriteInlineStyleAssetUrls
|
|
243
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-BSQ7XANM.js";
|
|
244
249
|
import {
|
|
245
250
|
parseHTML
|
|
246
251
|
} from "./chunk-SDYDNHEE.js";
|
|
@@ -5942,8 +5947,8 @@ function coalesceHeadStylesAndBodyScripts(html) {
|
|
|
5942
5947
|
const { document: document2 } = parseHTML(html);
|
|
5943
5948
|
const head = document2.querySelector("head");
|
|
5944
5949
|
const body = document2.querySelector("body");
|
|
5945
|
-
if (!head) return html;
|
|
5946
|
-
const styleEls = Array.from(head.querySelectorAll("style"));
|
|
5950
|
+
if (!head && !body) return html;
|
|
5951
|
+
const styleEls = head ? Array.from(head.querySelectorAll("style")) : [];
|
|
5947
5952
|
const importRe = /@import\s+url\([^)]*\)\s*;|@import\s+["'][^"']+["']\s*;/gi;
|
|
5948
5953
|
for (const run of styleEls.length > 1 ? headStyleRuns(styleEls) : []) {
|
|
5949
5954
|
const imports = [];
|
|
@@ -5973,6 +5978,7 @@ function coalesceHeadStylesAndBodyScripts(html) {
|
|
|
5973
5978
|
Array.from(body.querySelectorAll("script"))
|
|
5974
5979
|
)) {
|
|
5975
5980
|
const mergedJs = members.map((el) => (el.textContent || "").trim()).filter(Boolean).join("\n;\n").trim();
|
|
5981
|
+
if (mergedJs && !parsesAsScript(mergedJs)) continue;
|
|
5976
5982
|
for (const el of members) el.remove();
|
|
5977
5983
|
if (!mergedJs) continue;
|
|
5978
5984
|
const script = document2.createElement("script");
|
|
@@ -6072,9 +6078,12 @@ function inlineSubCompositions2(html, subCompositions, projectDir, variableOverr
|
|
|
6072
6078
|
let pending = variablesByCompScript ? [variablesByCompScript] : [];
|
|
6073
6079
|
const flushInline = () => {
|
|
6074
6080
|
if (!pending.length) return;
|
|
6075
|
-
const
|
|
6076
|
-
|
|
6077
|
-
|
|
6081
|
+
const joined = pending.join("\n;\n");
|
|
6082
|
+
for (const text of parsesAsScript(joined) ? [joined] : pending) {
|
|
6083
|
+
const scriptEl = document2.createElement("script");
|
|
6084
|
+
scriptEl.textContent = text;
|
|
6085
|
+
body.appendChild(scriptEl);
|
|
6086
|
+
}
|
|
6078
6087
|
pending = [];
|
|
6079
6088
|
};
|
|
6080
6089
|
for (const item of result.scriptItems) {
|
|
@@ -7300,7 +7309,8 @@ async function runProbeStage(input) {
|
|
|
7300
7309
|
width,
|
|
7301
7310
|
height,
|
|
7302
7311
|
needsAlpha,
|
|
7303
|
-
deviceScaleFactor
|
|
7312
|
+
deviceScaleFactor,
|
|
7313
|
+
subTimelineWaitMemo
|
|
7304
7314
|
} = input;
|
|
7305
7315
|
let { compiled } = input;
|
|
7306
7316
|
const probeCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
|
|
@@ -7356,7 +7366,8 @@ async function runProbeStage(input) {
|
|
|
7356
7366
|
variables: job.config.variables,
|
|
7357
7367
|
deviceScaleFactor,
|
|
7358
7368
|
motionBlur,
|
|
7359
|
-
requiresWebGpu: compositionRequiresWebGpu(compiled.html)
|
|
7369
|
+
requiresWebGpu: compositionRequiresWebGpu(compiled.html),
|
|
7370
|
+
subTimelineWaitMemo
|
|
7360
7371
|
};
|
|
7361
7372
|
const PROBE_MAX_ATTEMPTS = 2;
|
|
7362
7373
|
for (let attempt = 1; attempt <= PROBE_MAX_ATTEMPTS; attempt++) {
|
|
@@ -9929,8 +9940,9 @@ function sanitizeProbeFailure(reason, paths) {
|
|
|
9929
9940
|
async function padOrTrimAudioToVideoFrameCount(input) {
|
|
9930
9941
|
const probeVideo = input.probeVideoFrameInfo ?? ((videoPath) => defaultProbeVideoFrameInfo(videoPath, input.signal));
|
|
9931
9942
|
const probeAudio = input.probeAudioInfo ?? defaultProbeAudioInfo;
|
|
9932
|
-
const
|
|
9933
|
-
const
|
|
9943
|
+
const timeoutMs = input.timeoutMs ?? DEFAULT_CONFIG.ffmpegProcessTimeout;
|
|
9944
|
+
const runner = input.runFfmpeg ?? ((args) => defaultRunFfmpeg(args, timeoutMs, input.signal));
|
|
9945
|
+
const probeTruePeak = input.probeAudioTruePeakDbfs ?? (input.runFfmpeg ? void 0 : (audioPath, signal) => defaultProbeAudioTruePeakDbfs(audioPath, timeoutMs, signal));
|
|
9934
9946
|
const [videoResult, audioResult] = await Promise.allSettled([
|
|
9935
9947
|
probeVideo(input.videoPath),
|
|
9936
9948
|
probeAudio(input.audioPath, input.signal)
|
|
@@ -10166,13 +10178,13 @@ async function defaultProbeAudioInfo(audioPath, signal) {
|
|
|
10166
10178
|
audioCodec: metadata.audioCodec
|
|
10167
10179
|
};
|
|
10168
10180
|
}
|
|
10169
|
-
async function defaultProbeAudioTruePeakDbfs(audioPath, signal) {
|
|
10181
|
+
async function defaultProbeAudioTruePeakDbfs(audioPath, timeoutMs, signal) {
|
|
10170
10182
|
const result = await runFfmpeg(
|
|
10171
10183
|
["-i", audioPath, "-map", "0:a:0", "-vn", "-af", "ebur128=peak=true", "-f", "null", "-"],
|
|
10172
|
-
{ signal }
|
|
10184
|
+
{ signal, timeout: timeoutMs }
|
|
10173
10185
|
);
|
|
10174
10186
|
if (!result.success) {
|
|
10175
|
-
throw new Error(`[audioPadTrim] ${
|
|
10187
|
+
throw new Error(`[audioPadTrim] ${describeFfmpegFailure(result, timeoutMs)}`);
|
|
10176
10188
|
}
|
|
10177
10189
|
const matches = [...result.stderr.matchAll(/^\s*Peak:\s*([+-]?(?:[\d.]+|inf)) dBFS$/gim)];
|
|
10178
10190
|
const token = matches.at(-1)?.[1]?.toLowerCase();
|
|
@@ -10182,12 +10194,12 @@ async function defaultProbeAudioTruePeakDbfs(audioPath, signal) {
|
|
|
10182
10194
|
}
|
|
10183
10195
|
return value;
|
|
10184
10196
|
}
|
|
10185
|
-
async function defaultRunFfmpeg(args, signal) {
|
|
10186
|
-
const result = await runFfmpeg(args, { signal });
|
|
10197
|
+
async function defaultRunFfmpeg(args, timeoutMs, signal) {
|
|
10198
|
+
const result = await runFfmpeg(args, { signal, timeout: timeoutMs });
|
|
10187
10199
|
if (result.success) return { success: true };
|
|
10188
10200
|
return {
|
|
10189
10201
|
success: false,
|
|
10190
|
-
error: `[audioPadTrim] ${
|
|
10202
|
+
error: `[audioPadTrim] ${describeFfmpegFailure(result, timeoutMs)}`,
|
|
10191
10203
|
failureReason: result.failureReason
|
|
10192
10204
|
};
|
|
10193
10205
|
}
|
|
@@ -10260,6 +10272,7 @@ async function assembleOutput(input, onSecondsWritten) {
|
|
|
10260
10272
|
outputPath,
|
|
10261
10273
|
hasAudio,
|
|
10262
10274
|
format,
|
|
10275
|
+
ffmpegProcessTimeout,
|
|
10263
10276
|
abortSignal,
|
|
10264
10277
|
assertNotAborted
|
|
10265
10278
|
} = input;
|
|
@@ -10273,7 +10286,8 @@ async function assembleOutput(input, onSecondsWritten) {
|
|
|
10273
10286
|
videoPath: videoOnlyPath,
|
|
10274
10287
|
audioPath: audioOutputPath,
|
|
10275
10288
|
outputPath: normalizedAudioPath,
|
|
10276
|
-
signal: abortSignal
|
|
10289
|
+
signal: abortSignal,
|
|
10290
|
+
timeoutMs: ffmpegProcessTimeout
|
|
10277
10291
|
});
|
|
10278
10292
|
assertNotAborted();
|
|
10279
10293
|
if (!normalizeResult.success) {
|
|
@@ -10289,7 +10303,8 @@ async function assembleOutput(input, onSecondsWritten) {
|
|
|
10289
10303
|
outputPath,
|
|
10290
10304
|
abortSignal,
|
|
10291
10305
|
{
|
|
10292
|
-
audioCodec: "aac"
|
|
10306
|
+
audioCodec: "aac",
|
|
10307
|
+
ffmpegProcessTimeout
|
|
10293
10308
|
},
|
|
10294
10309
|
job.config.fps,
|
|
10295
10310
|
onSecondsWritten
|
|
@@ -10306,7 +10321,7 @@ async function assembleOutput(input, onSecondsWritten) {
|
|
|
10306
10321
|
videoOnlyPath,
|
|
10307
10322
|
outputPath,
|
|
10308
10323
|
abortSignal,
|
|
10309
|
-
|
|
10324
|
+
{ ffmpegProcessTimeout },
|
|
10310
10325
|
job.config.fps,
|
|
10311
10326
|
onSecondsWritten
|
|
10312
10327
|
);
|
|
@@ -10324,7 +10339,8 @@ async function runHlsPackaging(input, normalizedAudioPath) {
|
|
|
10324
10339
|
input.outputPath,
|
|
10325
10340
|
{
|
|
10326
10341
|
segmentSeconds: input.hlsSegmentSeconds ?? DEFAULT_HLS_SEGMENT_SECONDS,
|
|
10327
|
-
signal: input.abortSignal
|
|
10342
|
+
signal: input.abortSignal,
|
|
10343
|
+
ffmpegProcessTimeout: input.ffmpegProcessTimeout
|
|
10328
10344
|
}
|
|
10329
10345
|
);
|
|
10330
10346
|
input.assertNotAborted();
|
|
@@ -10786,36 +10802,6 @@ function createRenderJob(config) {
|
|
|
10786
10802
|
warnings: []
|
|
10787
10803
|
};
|
|
10788
10804
|
}
|
|
10789
|
-
function normalizeCompositionSrcPath(srcPath) {
|
|
10790
|
-
return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
10791
|
-
}
|
|
10792
|
-
function readSceneRootDuration(entryHtml) {
|
|
10793
|
-
if (!entryHtml) return null;
|
|
10794
|
-
const { document: document2 } = parseHTML(entryHtml);
|
|
10795
|
-
const template = document2.querySelector("template");
|
|
10796
|
-
const scope = template ? parseHTML(template.innerHTML).document : document2;
|
|
10797
|
-
const root = scope.querySelector("[data-composition-id]");
|
|
10798
|
-
return root?.getAttribute("data-duration") ?? null;
|
|
10799
|
-
}
|
|
10800
|
-
function createStandaloneEntryRenderClone(root, host, sceneDuration) {
|
|
10801
|
-
const hostClone = host.cloneNode(true);
|
|
10802
|
-
hostClone.setAttribute("data-start", "0");
|
|
10803
|
-
if (root === host) return hostClone;
|
|
10804
|
-
const rootClone = root.cloneNode(false);
|
|
10805
|
-
if (sceneDuration != null) {
|
|
10806
|
-
rootClone.setAttribute("data-duration", sceneDuration);
|
|
10807
|
-
} else {
|
|
10808
|
-
rootClone.removeAttribute("data-duration");
|
|
10809
|
-
}
|
|
10810
|
-
rootClone.appendChild(hostClone);
|
|
10811
|
-
return rootClone;
|
|
10812
|
-
}
|
|
10813
|
-
function replaceBodyWithRenderClone(body, renderClone) {
|
|
10814
|
-
while (body.firstChild) {
|
|
10815
|
-
body.removeChild(body.firstChild);
|
|
10816
|
-
}
|
|
10817
|
-
body.appendChild(renderClone);
|
|
10818
|
-
}
|
|
10819
10805
|
function explainStreamingEncodeGate(cfg, outputFormat, workerCount, durationSeconds, forceParallelStream = false) {
|
|
10820
10806
|
if (!cfg.enableStreamingEncode) return { enabled: false, reason: "disabled_by_config" };
|
|
10821
10807
|
if (outputFormat === "png-sequence" || outputFormat === "gif") {
|
|
@@ -11212,25 +11198,6 @@ function resolveCaptureForceScreenshotForPageSideCompositing(args) {
|
|
|
11212
11198
|
function shouldDiscardProbeSessionForPageSideCompositing(args) {
|
|
11213
11199
|
return args.hasProbeSession && args.usePageSideCompositing;
|
|
11214
11200
|
}
|
|
11215
|
-
function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
|
|
11216
|
-
const normalizedEntryFile = normalizeCompositionSrcPath(entryFile);
|
|
11217
|
-
const { document: document2 } = parseHTML(indexHtml);
|
|
11218
|
-
const body = document2.querySelector("body");
|
|
11219
|
-
if (!body) return null;
|
|
11220
|
-
const hosts = Array.from(document2.querySelectorAll("[data-composition-src]"));
|
|
11221
|
-
const host = hosts.find(
|
|
11222
|
-
(candidate) => normalizeCompositionSrcPath(candidate.getAttribute("data-composition-src") || "") === normalizedEntryFile
|
|
11223
|
-
);
|
|
11224
|
-
if (!host) return null;
|
|
11225
|
-
const root = Array.from(body.children).find(
|
|
11226
|
-
(candidate) => candidate.hasAttribute("data-composition-id")
|
|
11227
|
-
) ?? null;
|
|
11228
|
-
if (!root) return null;
|
|
11229
|
-
const sceneDuration = readSceneRootDuration(entryHtml) ?? host.getAttribute("data-duration");
|
|
11230
|
-
const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration);
|
|
11231
|
-
replaceBodyWithRenderClone(body, renderClone);
|
|
11232
|
-
return document2.toString();
|
|
11233
|
-
}
|
|
11234
11201
|
function deVerifyFallbackTelemetry(err) {
|
|
11235
11202
|
const details = getDrawElementVerificationDetails(err);
|
|
11236
11203
|
return {
|
|
@@ -11415,7 +11382,7 @@ async function executeRenderPipeline(input) {
|
|
|
11415
11382
|
}
|
|
11416
11383
|
assertNotAborted();
|
|
11417
11384
|
const rawEntry = readFileSync7(htmlPath, "utf-8");
|
|
11418
|
-
if (entryFile !== "index.html" && rawEntry
|
|
11385
|
+
if (entryFile !== "index.html" && isTemplateEntry(rawEntry)) {
|
|
11419
11386
|
const wrapperPath = join25(workDir, "standalone-entry.html");
|
|
11420
11387
|
const projectIndexPath = join25(projectDir, "index.html");
|
|
11421
11388
|
if (!existsSync15(projectIndexPath)) {
|
|
@@ -11519,6 +11486,7 @@ async function executeRenderPipeline(input) {
|
|
|
11519
11486
|
cfg.protocolTimeout = scaledProtocolTimeout;
|
|
11520
11487
|
updateCaptureObservability({ protocolTimeoutMs: scaledProtocolTimeout });
|
|
11521
11488
|
}
|
|
11489
|
+
const subTimelineWaitMemo = {};
|
|
11522
11490
|
const probeResult = await observeRenderStage(
|
|
11523
11491
|
observability,
|
|
11524
11492
|
"browser_probe",
|
|
@@ -11537,7 +11505,8 @@ async function executeRenderPipeline(input) {
|
|
|
11537
11505
|
width,
|
|
11538
11506
|
height,
|
|
11539
11507
|
needsAlpha,
|
|
11540
|
-
deviceScaleFactor
|
|
11508
|
+
deviceScaleFactor,
|
|
11509
|
+
subTimelineWaitMemo
|
|
11541
11510
|
}),
|
|
11542
11511
|
// Browser probe is pre-capture; report `browser calibrating` so a
|
|
11543
11512
|
// slow probe (~64s SwiftShader warm-up on Windows was the reported
|
|
@@ -11767,6 +11736,7 @@ async function executeRenderPipeline(input) {
|
|
|
11767
11736
|
...captureOptions,
|
|
11768
11737
|
videoMetadataHints,
|
|
11769
11738
|
skipReadinessVideoIds: videoReadinessSkipIds,
|
|
11739
|
+
subTimelineWaitMemo,
|
|
11770
11740
|
// Probe-resolved duration: drawElement self-verification derives its
|
|
11771
11741
|
// sample frame indices from this so they land inside the drained range.
|
|
11772
11742
|
compositionDurationSeconds: job.duration,
|
|
@@ -12830,6 +12800,7 @@ async function executeRenderPipeline(input) {
|
|
|
12830
12800
|
hasAudio,
|
|
12831
12801
|
format: outputFormat,
|
|
12832
12802
|
hlsSegmentSeconds,
|
|
12803
|
+
ffmpegProcessTimeout: cfg.ffmpegProcessTimeout,
|
|
12833
12804
|
abortSignal: executionSignal,
|
|
12834
12805
|
assertNotAborted,
|
|
12835
12806
|
onProgress
|
|
@@ -13631,7 +13602,10 @@ function prepareHyperframeLintBody(body) {
|
|
|
13631
13602
|
return { error: "Missing lint source: provide projectDir, files, or html" };
|
|
13632
13603
|
}
|
|
13633
13604
|
async function runHyperframeLint(prepared) {
|
|
13634
|
-
return lintHyperframeHtml(prepared.html, {
|
|
13605
|
+
return lintHyperframeHtml(prepared.html, {
|
|
13606
|
+
filePath: prepared.entryFile,
|
|
13607
|
+
compSrcPath: prepared.entryFile
|
|
13608
|
+
});
|
|
13635
13609
|
}
|
|
13636
13610
|
|
|
13637
13611
|
// ../producer/src/services/healthWorker.ts
|
|
@@ -14326,7 +14300,7 @@ function startServer(options = {}) {
|
|
|
14326
14300
|
});
|
|
14327
14301
|
async function shutdown(signal) {
|
|
14328
14302
|
log.info(`Received ${signal}, shutting down`);
|
|
14329
|
-
const { drainBrowserPool } = await import("./src-
|
|
14303
|
+
const { drainBrowserPool } = await import("./src-BSLKXEGX.js");
|
|
14330
14304
|
await drainBrowserPool().catch(() => {
|
|
14331
14305
|
});
|
|
14332
14306
|
const handle = await Promise.race([
|
|
@@ -15496,7 +15470,8 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
|
|
|
15496
15470
|
width,
|
|
15497
15471
|
height,
|
|
15498
15472
|
needsAlpha,
|
|
15499
|
-
deviceScaleFactor
|
|
15473
|
+
deviceScaleFactor,
|
|
15474
|
+
subTimelineWaitMemo: {}
|
|
15500
15475
|
});
|
|
15501
15476
|
compiled = probeResult.compiled;
|
|
15502
15477
|
job.duration = probeResult.duration;
|
|
@@ -15510,7 +15485,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
|
|
|
15510
15485
|
if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
|
|
15511
15486
|
if (probeResult.probeSession) {
|
|
15512
15487
|
try {
|
|
15513
|
-
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-
|
|
15488
|
+
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-BSLKXEGX.js");
|
|
15514
15489
|
await closeCaptureSession2(probeResult.probeSession);
|
|
15515
15490
|
} catch (err) {
|
|
15516
15491
|
log.warn("[plan] probe session close failed", {
|
|
@@ -16532,6 +16507,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16532
16507
|
const log = options?.logger ?? defaultLogger;
|
|
16533
16508
|
const abortSignal = options?.abortSignal;
|
|
16534
16509
|
const cfr = options?.cfr === true;
|
|
16510
|
+
const { ffmpegProcessTimeout } = resolveConfig();
|
|
16535
16511
|
const planJsonPath = join36(planDir, "plan.json");
|
|
16536
16512
|
const chunksJsonPath = join36(planDir, "meta", "chunks.json");
|
|
16537
16513
|
if (!existsSync24(planJsonPath)) {
|
|
@@ -16571,10 +16547,13 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16571
16547
|
const remuxArgs = ["-i", chunkPaths[0], "-c", "copy", "-r", fpsArg];
|
|
16572
16548
|
appendRenderProvenanceArgs(remuxArgs, concatOutputPath);
|
|
16573
16549
|
remuxArgs.push("-y", concatOutputPath);
|
|
16574
|
-
const remuxResult = await runFfmpeg(remuxArgs, {
|
|
16550
|
+
const remuxResult = await runFfmpeg(remuxArgs, {
|
|
16551
|
+
signal: abortSignal,
|
|
16552
|
+
timeout: ffmpegProcessTimeout
|
|
16553
|
+
});
|
|
16575
16554
|
if (!remuxResult.success) {
|
|
16576
16555
|
throw encoderFailureError("[assemble] ffmpeg single-chunk remux failed", {
|
|
16577
|
-
error:
|
|
16556
|
+
error: describeFfmpegFailure(remuxResult, ffmpegProcessTimeout),
|
|
16578
16557
|
failureReason: remuxResult.failureReason
|
|
16579
16558
|
});
|
|
16580
16559
|
}
|
|
@@ -16597,10 +16576,13 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16597
16576
|
];
|
|
16598
16577
|
appendRenderProvenanceArgs(concatArgs, concatOutputPath);
|
|
16599
16578
|
concatArgs.push("-y", concatOutputPath);
|
|
16600
|
-
const concatResult = await runFfmpeg(concatArgs, {
|
|
16579
|
+
const concatResult = await runFfmpeg(concatArgs, {
|
|
16580
|
+
signal: abortSignal,
|
|
16581
|
+
timeout: ffmpegProcessTimeout
|
|
16582
|
+
});
|
|
16601
16583
|
if (!concatResult.success) {
|
|
16602
16584
|
throw encoderFailureError("[assemble] ffmpeg concat-copy failed", {
|
|
16603
|
-
error:
|
|
16585
|
+
error: describeFfmpegFailure(concatResult, ffmpegProcessTimeout),
|
|
16604
16586
|
failureReason: concatResult.failureReason
|
|
16605
16587
|
});
|
|
16606
16588
|
}
|
|
@@ -16641,10 +16623,13 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16641
16623
|
];
|
|
16642
16624
|
appendRenderProvenanceArgs(cfrArgs, cfrOutputPath);
|
|
16643
16625
|
cfrArgs.push("-y", cfrOutputPath);
|
|
16644
|
-
const cfrResult = await runFfmpeg(cfrArgs, {
|
|
16626
|
+
const cfrResult = await runFfmpeg(cfrArgs, {
|
|
16627
|
+
signal: abortSignal,
|
|
16628
|
+
timeout: ffmpegProcessTimeout
|
|
16629
|
+
});
|
|
16645
16630
|
if (!cfrResult.success) {
|
|
16646
16631
|
throw encoderFailureError("[assemble] ffmpeg cfr re-encode failed", {
|
|
16647
|
-
error:
|
|
16632
|
+
error: describeFfmpegFailure(cfrResult, ffmpegProcessTimeout),
|
|
16648
16633
|
failureReason: cfrResult.failureReason
|
|
16649
16634
|
});
|
|
16650
16635
|
}
|
|
@@ -16662,7 +16647,8 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16662
16647
|
videoPath: postConcatPath,
|
|
16663
16648
|
audioPath,
|
|
16664
16649
|
outputPath: paddedAudioPath,
|
|
16665
|
-
signal: abortSignal
|
|
16650
|
+
signal: abortSignal,
|
|
16651
|
+
timeoutMs: ffmpegProcessTimeout
|
|
16666
16652
|
});
|
|
16667
16653
|
if (!padTrimResult.success) {
|
|
16668
16654
|
throw encoderFailureError("[assemble] audio pad/trim failed", padTrimResult);
|
|
@@ -16681,9 +16667,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16681
16667
|
normalizedAudioPath,
|
|
16682
16668
|
muxOutputPath,
|
|
16683
16669
|
abortSignal,
|
|
16684
|
-
{
|
|
16685
|
-
audioCodec: "aac"
|
|
16686
|
-
},
|
|
16670
|
+
{ audioCodec: "aac", ffmpegProcessTimeout },
|
|
16687
16671
|
{ num: plan2.dimensions.fpsNum, den: plan2.dimensions.fpsDen }
|
|
16688
16672
|
);
|
|
16689
16673
|
if (!muxResult.success) {
|
|
@@ -16694,7 +16678,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
16694
16678
|
muxOutputPath,
|
|
16695
16679
|
outputPath,
|
|
16696
16680
|
abortSignal,
|
|
16697
|
-
|
|
16681
|
+
{ ffmpegProcessTimeout },
|
|
16698
16682
|
{
|
|
16699
16683
|
num: plan2.dimensions.fpsNum,
|
|
16700
16684
|
den: plan2.dimensions.fpsDen
|
|
@@ -17150,6 +17134,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
17150
17134
|
// declare `data-composition-variables` leave this undefined and the
|
|
17151
17135
|
// engine skips the `evaluateOnNewDocument` injection.
|
|
17152
17136
|
variables: encoder.variables,
|
|
17137
|
+
subTimelineWaitMemo: {},
|
|
17153
17138
|
...videoCaptureBeyondViewport !== void 0 ? { captureBeyondViewport: videoCaptureBeyondViewport } : {},
|
|
17154
17139
|
// lock the BeginFrame warmup loop to a fixed iteration count so
|
|
17155
17140
|
// `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
resolveCaptureBrowserGpuMode
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ADF3X6GM.js";
|
|
10
10
|
import {
|
|
11
11
|
requestCliExit
|
|
12
12
|
} from "./chunk-PBN6GBJE.js";
|
|
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
trackLintReport,
|
|
9
9
|
trackLintRuleStreak
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ICKDMTLA.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZF7SXQJ7.js";
|
|
14
14
|
import {
|
|
15
15
|
LINT_RULE_COUNT,
|
|
16
16
|
LINT_RULE_GROUP_COUNTS
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-IEIJRMLZ.js";
|
|
18
18
|
|
|
19
19
|
// src/telemetry/lintStreaks.ts
|
|
20
20
|
import { createHash } from "crypto";
|
|
@@ -6,24 +6,24 @@ 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-ZIYZ77MR.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveProject
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XBX4QJP7.js";
|
|
13
13
|
import {
|
|
14
14
|
AUDIT_SEEK_OPTIONS,
|
|
15
15
|
installPageFunctionGuard,
|
|
16
16
|
seekCompositionTimeline,
|
|
17
17
|
waitForCompositionFonts,
|
|
18
18
|
waitForRuntimeReady
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-U5QY7KTN.js";
|
|
20
20
|
import {
|
|
21
21
|
launchManagedBrowser,
|
|
22
22
|
resolveManagedGpuMode
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-4ORLNTET.js";
|
|
24
24
|
import {
|
|
25
25
|
resolveDiagnosticNavigationTimeoutMs
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FXJJCPPB.js";
|
|
27
27
|
import {
|
|
28
28
|
defineCommand
|
|
29
29
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
printDeprecationNotice,
|
|
36
36
|
withMeta
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-PLR7Z6TC.js";
|
|
38
38
|
import {
|
|
39
39
|
normalizeErrorMessage
|
|
40
40
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -707,7 +707,7 @@ async function collectTweenBoundaries(page) {
|
|
|
707
707
|
});
|
|
708
708
|
}
|
|
709
709
|
async function bundleProjectHtml(projectDir) {
|
|
710
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
710
|
+
const { bundleToSingleHtml } = await import("./compiler-F54OZZPM.js");
|
|
711
711
|
return bundleToSingleHtml(projectDir);
|
|
712
712
|
}
|
|
713
713
|
async function alignViewportToComposition(page, url) {
|
|
@@ -727,10 +727,15 @@ async function alignViewportToComposition(page, url) {
|
|
|
727
727
|
});
|
|
728
728
|
}
|
|
729
729
|
async function runLayoutAudit(projectDir, opts) {
|
|
730
|
-
const { ensureBrowser } = await import("./manager-
|
|
730
|
+
const { ensureBrowser } = await import("./manager-BPSR6D3V.js");
|
|
731
731
|
const puppeteer = await import("puppeteer-core");
|
|
732
|
-
const { buildChromeArgs } = await import("./src-
|
|
733
|
-
const {
|
|
732
|
+
const { buildChromeArgs } = await import("./src-BSLKXEGX.js");
|
|
733
|
+
const {
|
|
734
|
+
assertWebGpuAdapterAvailable,
|
|
735
|
+
compositionRequiresWebGpu,
|
|
736
|
+
resolveLocalBrowserGpuMode,
|
|
737
|
+
resolveLocalWebGpu
|
|
738
|
+
} = await import("./gpuPolicy-AQ2BPLBK.js");
|
|
734
739
|
const html = await bundleProjectHtml(projectDir);
|
|
735
740
|
const server = await serveStaticProjectHtml(
|
|
736
741
|
projectDir,
|
|
@@ -743,12 +748,13 @@ async function runLayoutAudit(projectDir, opts) {
|
|
|
743
748
|
const requestedGpuMode = resolveLocalBrowserGpuMode();
|
|
744
749
|
const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
|
|
745
750
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
751
|
+
const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
|
|
746
752
|
chromeBrowser = await launchManagedBrowser(puppeteer.default, {
|
|
747
753
|
headless: true,
|
|
748
754
|
executablePath: browser.executablePath,
|
|
749
755
|
args: buildChromeArgs(
|
|
750
756
|
{ width: 1920, height: 1080, captureMode: "screenshot", requiresWebGpu },
|
|
751
|
-
|
|
757
|
+
gpuConfig
|
|
752
758
|
)
|
|
753
759
|
});
|
|
754
760
|
const page = await chromeBrowser.newPage();
|
|
@@ -758,7 +764,7 @@ async function runLayoutAudit(projectDir, opts) {
|
|
|
758
764
|
waitUntil: "domcontentloaded",
|
|
759
765
|
timeout: resolveDiagnosticNavigationTimeoutMs()
|
|
760
766
|
});
|
|
761
|
-
await assertWebGpuAdapterAvailable(page, requiresWebGpu);
|
|
767
|
+
await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
|
|
762
768
|
await alignViewportToComposition(page, server.url);
|
|
763
769
|
await waitForRuntimeReady(page, opts.timeout);
|
|
764
770
|
await waitForCompositionFonts(page, 750);
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
isAllowedHtmlAttribute,
|
|
15
15
|
isSafeAttributeValue,
|
|
16
16
|
sanitizeRichTextChildren
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VRW6EBHV.js";
|
|
18
18
|
import {
|
|
19
19
|
decodedUrlPath,
|
|
20
20
|
removeElementWithGsapCascade
|
|
21
21
|
} from "./chunk-MQZVBHEY.js";
|
|
22
22
|
import {
|
|
23
23
|
require_dist
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-IEIJRMLZ.js";
|
|
25
25
|
import {
|
|
26
26
|
readClipTiming,
|
|
27
27
|
writeClipTiming
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
readMediaOffsetSeconds,
|
|
31
31
|
readPlaybackRate
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BSQ7XANM.js";
|
|
33
33
|
import {
|
|
34
34
|
parseHTML
|
|
35
35
|
} from "./chunk-SDYDNHEE.js";
|
|
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GMAJB2P6.js";
|
|
11
11
|
import {
|
|
12
12
|
DEFAULT_PROJECT_CONFIG,
|
|
13
13
|
createProjectConfig,
|
|
14
14
|
loadProjectConfig,
|
|
15
15
|
projectConfigPath,
|
|
16
16
|
recordProjectRegistryItems
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-CFUXNBWH.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveItemWithDependencies,
|
|
20
20
|
resolveItemsByTag
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-BIAC7IJT.js";
|
|
22
22
|
import {
|
|
23
23
|
InvalidVariableValuesError,
|
|
24
24
|
prepareItem,
|
|
25
25
|
publishItem
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-XIHCMVMG.js";
|
|
27
27
|
import {
|
|
28
28
|
DEFAULT_REGISTRY_URL
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-LAFJSYDL.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-ICKDMTLA.js";
|
|
33
33
|
import {
|
|
34
34
|
defineCommand
|
|
35
35
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
} from "./chunk-PBN6GBJE.js";
|
|
39
39
|
import {
|
|
40
40
|
ITEM_TYPE_DIRS
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-VRW6EBHV.js";
|
|
42
42
|
import {
|
|
43
43
|
isProjectRootMissing,
|
|
44
44
|
realpath
|