hyperframes 0.8.150 → 0.8.152
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-3ZIFEN2U.js → add-SA33REHW.js} +14 -14
- package/dist/{animatedGifPrep-77LPFLKJ.js → animatedGifPrep-3YXJQZ7L.js} +9 -9
- package/dist/api.js +19 -19
- package/dist/{asset-EYSZEHM6.js → asset-PUVPTWPD.js} +2 -2
- package/dist/{assetCataloger-KX3HD7ZI.js → assetCataloger-VWE2PLBX.js} +4 -4
- package/dist/{auth-L6IWNRXY.js → auth-PS3M6AI7.js} +1 -1
- package/dist/{autoUpdate-2O3HZB65.js → autoUpdate-CMO4SHWU.js} +2 -2
- package/dist/{backgroundChecks-BH2LMJYE.js → backgroundChecks-EDZ2A55J.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-ZBKAYLWU.js → batchRender-7PLJISCN.js} +5 -5
- package/dist/{beats-IVLF2566.js → beats-2MDSIOE7.js} +15 -15
- package/dist/{benchmark-SYZFW2G7.js → benchmark-KBBXAPI4.js} +10 -10
- package/dist/{browser-OSW3L25S.js → browser-OMWKZRSW.js} +5 -5
- package/dist/{bundleWithLocalizedFonts-I4CWOXLK.js → bundleWithLocalizedFonts-76DMCRIW.js} +2 -2
- package/dist/{capture-AZOQ57TM.js → capture-LRUUXH5Q.js} +2 -2
- package/dist/{capture-V5ICGSVJ.js → capture-YGDC7GN3.js} +13 -13
- package/dist/{catalog-VBJOA2Y5.js → catalog-SMEBKEVO.js} +14 -14
- package/dist/{catch-up-TKSEDNJK.js → catch-up-OMILX3WE.js} +4 -4
- package/dist/{check-3HFISKDB.js → check-NUZ62LIW.js} +288 -64
- package/dist/{checkBrowser-MXBDNZJB.js → checkBrowser-MSTVEL4V.js} +181 -38
- package/dist/{chunk-73RBX2E7.js → chunk-3DZBQ7MH.js} +3 -3
- package/dist/{chunk-6QB7F2II.js → chunk-3E4OCOC5.js} +1 -1
- package/dist/{chunk-OQ7XMM3S.js → chunk-3HPJM5IQ.js} +1 -1
- package/dist/{chunk-UJB7356Y.js → chunk-3LO7BBJX.js} +3 -3
- package/dist/{chunk-APDLWWFG.js → chunk-3VGU2SH7.js} +1 -1
- package/dist/{chunk-DUUFDLC4.js → chunk-4MLYMDQ4.js} +1 -1
- package/dist/{chunk-AXPNVC3N.js → chunk-4UMKAUZI.js} +1 -1
- package/dist/{chunk-XPQSL5VS.js → chunk-54DMWFQZ.js} +8 -1
- package/dist/chunk-57GN6KWT.js +179 -0
- package/dist/{chunk-374QQGBQ.js → chunk-5CS4T6C6.js} +63 -12
- package/dist/{chunk-PCWOSS7G.js → chunk-5ERVRJMV.js} +3 -3
- package/dist/{chunk-TZPZE5PS.js → chunk-5VMSUW4Z.js} +6 -3
- package/dist/{chunk-M6UDJ2E7.js → chunk-6Z4YJ5Q3.js} +3 -3
- package/dist/{chunk-FJWEYVEM.js → chunk-7FYFEXD2.js} +658 -198
- package/dist/{chunk-UQYQ7TBA.js → chunk-7NPSXBIN.js} +2 -2
- package/dist/chunk-7TASSBN2.js +215 -0
- package/dist/{chunk-F2RLIE7P.js → chunk-ANS56TPS.js} +11 -11
- package/dist/{chunk-DOVJRUFM.js → chunk-BQK3J7XO.js} +1 -1
- package/dist/{chunk-FPAT5HTI.js → chunk-BYJYQWEX.js} +10 -10
- package/dist/{chunk-XXPYZBZ3.js → chunk-C6TPGUWD.js} +2 -2
- package/dist/{chunk-XQMEGSHG.js → chunk-D6RJXQLD.js} +1 -1
- package/dist/{chunk-RW7NLGPD.js → chunk-DFXK7KUO.js} +25 -17
- package/dist/{chunk-6SFPQ2RZ.js → chunk-E6EYZ33P.js} +2 -2
- package/dist/{chunk-AKYQGZLU.js → chunk-EVTHG34H.js} +2 -2
- package/dist/{chunk-5NAYNDBT.js → chunk-EXH6L2XZ.js} +6 -2
- package/dist/{chunk-AIJS74LG.js → chunk-FFDC5OWV.js} +8 -2
- package/dist/{chunk-4WFNTWKZ.js → chunk-FNN5QINS.js} +2 -2
- package/dist/{chunk-DMKI64EZ.js → chunk-FSZAFCU7.js} +1 -1
- package/dist/{chunk-S5F26DUL.js → chunk-GQETH4PE.js} +3 -3
- package/dist/{chunk-3UAIVF4L.js → chunk-H2SGM2V2.js} +1 -1
- package/dist/{chunk-O4DC5CHF.js → chunk-H7FXBK3Q.js} +1 -1
- package/dist/{chunk-UVVI2NJQ.js → chunk-HBCRRCTX.js} +109 -31
- package/dist/{chunk-NFQY7EIC.js → chunk-IBYC3VUA.js} +1 -1
- package/dist/{chunk-2KAL22B5.js → chunk-IEDT4EXE.js} +1 -1
- package/dist/{chunk-I6DATIHC.js → chunk-IZIRIDJH.js} +2 -2
- package/dist/{chunk-Z6WZDGCS.js → chunk-IZKXUYZE.js} +2 -2
- package/dist/chunk-KCFF4ENE.js +24 -0
- package/dist/{chunk-6KWA3XPS.js → chunk-KZ3L3W4Q.js} +1 -1
- package/dist/{chunk-7IEGPJ4P.js → chunk-LBT4AMSF.js} +1 -1
- package/dist/{chunk-7JTFPUMA.js → chunk-LECTCGGS.js} +1 -1
- package/dist/{chunk-7E4VHPKJ.js → chunk-LVPSWUS6.js} +5 -5
- package/dist/{chunk-6NPFJ255.js → chunk-MNHPG2UO.js} +1 -1
- package/dist/{chunk-FN6KAS7A.js → chunk-NHAG2KCE.js} +7 -7
- package/dist/{chunk-423DJVX2.js → chunk-PKO2EWO7.js} +1 -1
- package/dist/{chunk-ZNHAJCEA.js → chunk-PRXAOZWZ.js} +28 -13
- package/dist/{chunk-VQ7YIURZ.js → chunk-PTXZDSW5.js} +5 -5
- package/dist/{chunk-XANZ4R4P.js → chunk-QECEOV6W.js} +3 -3
- package/dist/{chunk-BLRJKBKP.js → chunk-QESSGUKX.js} +1 -1
- package/dist/{chunk-WLIUULZQ.js → chunk-RN5I2DP5.js} +29 -15
- package/dist/chunk-S3RCK56N.js +3795 -0
- package/dist/{chunk-UAIUVPZE.js → chunk-SWCSL6WS.js} +6 -6
- package/dist/{chunk-2PSPARWP.js → chunk-TYXH3EKP.js} +4 -0
- package/dist/{chunk-FMNVTKX2.js → chunk-U3BCDVZO.js} +1 -1
- package/dist/{chunk-LW5VFBSY.js → chunk-VS732BUG.js} +1 -1
- package/dist/{chunk-LFNQDTSH.js → chunk-VYKPBRCB.js} +63 -12
- package/dist/{chunk-M5B42RL5.js → chunk-WUUOFMHU.js} +3 -3
- package/dist/{chunk-A6ZO4BX7.js → chunk-XEFFJRYX.js} +2 -2
- package/dist/{chunk-EL5QVJEG.js → chunk-XINGD6MS.js} +4 -4
- package/dist/chunk-XSEGMQYA.js +30 -0
- package/dist/{chunk-CZQLCBWY.js → chunk-YG2Y55KF.js} +1 -1
- package/dist/{chunk-B3XLIBFL.js → chunk-YIJMVFEJ.js} +1 -1
- package/dist/{chunk-JDB65PPT.js → chunk-YOEGUBBY.js} +13 -12
- package/dist/{chunk-AFRXL75S.js → chunk-YYEYOFHW.js} +1 -1
- package/dist/{chunk-R5A7454P.js → chunk-ZTM3RMAD.js} +2 -2
- package/dist/{clean-7HU7S7DT.js → clean-F75G45BI.js} +56 -35
- package/dist/cli.js +53 -53
- package/dist/{cloud-HAXHBO25.js → cloud-KVJAOUWH.js} +4 -4
- package/dist/{cloudrun-A3PIJ6DX.js → cloudrun-Q7Q7O4GY.js} +6 -6
- package/dist/{compare-6IPSQMSM.js → compare-DGUJ4QWU.js} +30 -30
- package/dist/{compiler-UQP2VXN6.js → compiler-NCN6PTVH.js} +6 -6
- package/dist/{component-FF3AU24M.js → component-PSYGT3JV.js} +3 -3
- package/dist/{compositions-JSH4MZXB.js → compositions-J3GAETIC.js} +13 -13
- package/dist/{delete-G763SW64.js → delete-MR7LRGRP.js} +2 -2
- package/dist/{deterministicFonts-C5JQLCTS.js → deterministicFonts-EOMDR6ZF.js} +3 -3
- package/dist/{dist-HUMFCJ6T.js → dist-2YYJYYPY.js} +3 -3
- package/dist/{dist-Z7Q3JS7K.js → dist-3MHXG6EJ.js} +4 -4
- package/dist/{doctor-WZB6WMBY.js → doctor-JOUGR5UK.js} +15 -15
- package/dist/{events-T4YFQC5G.js → events-63BKDWVO.js} +3 -3
- package/dist/{events-MUWJJCC7.js → events-FZFBJCIH.js} +2 -2
- package/dist/{feedback-AUTHQNN2.js → feedback-QLKWUDXR.js} +8 -8
- package/dist/{ffmpeg-TZB5WAYE.js → ffmpeg-MJFMBBSF.js} +2 -2
- package/dist/{figma-NBG6WBI7.js → figma-YJ7HGVQC.js} +3 -3
- package/dist/fontLocalizeCli.js +12 -12
- package/dist/{get-OXBJLKLV.js → get-54MUUXMR.js} +2 -2
- package/dist/{gpuPolicy-HBCCEQUS.js → gpuPolicy-5OVNR75D.js} +9 -9
- package/dist/{grade-compare-2LX4FDH7.js → grade-compare-7IDUF673.js} +32 -32
- package/dist/{gsapParserAcorn-VXZ3ZIF2.js → gsapParserAcorn-7NCK2LVT.js} +2 -2
- package/dist/{help-LJI46EDO.js → help-GQFYO5LU.js} +1 -1
- package/dist/{history-MFKAQEHU.js → history-UI3O7CSO.js} +77 -205
- package/dist/hyperframe-runtime.js +54 -54
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +54 -54
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-D6Y5O2QE.js → info-VQV3APEX.js} +9 -9
- package/dist/{init-47NZPEBI.js → init-2UBFV5D7.js} +31 -31
- package/dist/{inspect-U5UXJK5D.js → inspect-36ACJ3CO.js} +31 -31
- package/dist/{installer-AW7VFVTQ.js → installer-GDUZDJG4.js} +7 -7
- package/dist/{keyframes-5G334NWB.js → keyframes-GPBU34BG.js} +227 -82
- package/dist/{lambda-GASGXN3A.js → lambda-CBJVLTHY.js} +7 -7
- package/dist/{layout-OXAQFLJS.js → layout-2IHFV6EI.js} +31 -31
- package/dist/{lint-F36QFSNF.js → lint-IR6IYCEO.js} +9 -9
- package/dist/{lintProject-SSEXWCH6.js → lintProject-XQWXJYSC.js} +3 -3
- package/dist/{list-TR6QCI53.js → list-UAGKWARH.js} +2 -2
- package/dist/{login-6LA2RWTC.js → login-2GYCNCZF.js} +4 -4
- package/dist/{manager-ES2UFT4X.js → manager-X44GKUEL.js} +3 -3
- package/dist/{manager-GWU5J6RJ.js → manager-ZLJD3EAY.js} +2 -2
- package/dist/{media-treatment-BOHYDWVY.js → media-treatment-Z553F7XI.js} +14 -14
- package/dist/{models-6GW5Q3IW.js → models-6AZTNNSO.js} +15 -15
- package/dist/{motionShot-O7AOMPUN.js → motionShot-ARRL7WXT.js} +29 -16
- package/dist/{normalize-audio-UO5B4O76.js → normalize-audio-CME4NUB6.js} +6 -6
- package/dist/{open-JV2EHVKM.js → open-HU2VXUFD.js} +4 -4
- package/dist/{parakeetRunner-23DZUF6G.js → parakeetRunner-X5MKFMCB.js} +16 -16
- package/dist/{pipeline-KTICSIK7.js → pipeline-MNFTEBJU.js} +11 -11
- package/dist/{play-CMUYPXBC.js → play-2BBJDDAZ.js} +24 -24
- package/dist/{preflight-JOD4OXGC.js → preflight-JYOX64YP.js} +4 -4
- package/dist/{present-ZDT5FM2H.js → present-OE2WL2NY.js} +20 -20
- package/dist/{preview-ASHLGKDD.js → preview-RYSCCAWJ.js} +21 -21
- package/dist/{producer-FFH2KUAZ.js → producer-SQWNRO66.js} +1 -1
- package/dist/{projectConfig-FHIAOPKW.js → projectConfig-B55Z7YKQ.js} +9 -9
- package/dist/{publication-WO5ZXURT.js → publication-MDZCOBJP.js} +4 -4
- package/dist/{publish-QWO2W7FB.js → publish-AILV36BO.js} +12 -12
- package/dist/{remove-background-BO5MQR25.js → remove-background-6F72LKHG.js} +12 -12
- package/dist/{render-XTJKGT3G.js → render-2MZKU3L5.js} +10 -10
- package/dist/{render-SDHFXL3Y.js → render-5EREH6YD.js} +95 -37
- package/dist/{render-HS3YOLSD.js → render-6GH5FSXU.js} +5 -5
- package/dist/{render-batch-J64AJHQY.js → render-batch-UMBUQWWS.js} +5 -5
- package/dist/renderSetupWorker.js +6 -6
- package/dist/{resolver-IHNWMDJA.js → resolver-KO6WWO5P.js} +6 -6
- package/dist/{sherpa-FXBBYMDR.js → sherpa-DADGYWNR.js} +15 -15
- package/dist/skills/hyperframes/references/frame-worker-core.md +11 -9
- package/dist/skills/hyperframes/references/subagent-dispatch.md +1 -1
- package/dist/skills/hyperframes-cli/SKILL.md +3 -0
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +5 -1
- package/dist/skills/media-use/audio/scripts/lib/tts.cleanup.test.mjs +175 -0
- package/dist/skills/media-use/audio/scripts/lib/tts.mjs +24 -19
- package/dist/skills/media-use/references/grading.md +1 -2
- package/dist/skills/media-use/references/meta.md +17 -17
- package/dist/skills/media-use/references/operations.md +6 -6
- package/dist/skills/media-use/references/setup-providers.md +3 -4
- package/dist/skills/media-use/scripts/lib/cutlist.mjs +9 -2
- package/dist/skills/media-use/scripts/lib/cutlist.test.mjs +12 -0
- package/dist/skills/media-use/scripts/lib/telemetry.mjs +4 -1
- package/dist/skills/media-use/scripts/lib/telemetry.test.mjs +20 -0
- package/dist/skills/media-use/scripts/transcript-cut.mjs +23 -4
- package/dist/skills/media-use/scripts/transcript-cut.test.mjs +224 -0
- package/dist/{skills-ALLSN7TB.js → skills-QLKSNU4Y.js} +5 -5
- package/dist/{skillsUpdateCheck-EIT5NWM6.js → skillsUpdateCheck-Z2QQGF2W.js} +3 -3
- package/dist/{snapshot-Y3I76OIZ.js → snapshot-D5BBFXOS.js} +342 -154
- package/dist/{src-7V6LBC56.js → src-AVQBAECC.js} +10 -8
- package/dist/{src-S5IZVJUX.js → src-V7263E47.js} +11 -11
- package/dist/{staticProjectServer-QLWWGHZE.js → staticProjectServer-HNWSVEWN.js} +20 -20
- package/dist/studio/assets/{hyperframes-player-kup62bDR.js → hyperframes-player-0BY7-PK7.js} +1 -1
- package/dist/studio/assets/{index-B8BBYY8L.js → index-COrWdzlj.js} +1 -1
- package/dist/studio/assets/{index-CS_m0TkX.js → index-p-VXwuJ2.js} +132 -132
- package/dist/studio/assets/{index-DQ5jGodF.js → index-rmD5k_ES.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-UBFLZ3DA.js → studio-api-UXKTDWLT.js} +30 -16
- package/dist/{studioServer-REOVCIFP.js → studioServer-JOVR24O3.js} +51 -51
- package/dist/{synthesize-22B7L5GX.js → synthesize-MBDVUSH3.js} +2 -1
- package/dist/{telemetry-C3GDIXHO.js → telemetry-UW7XAM5W.js} +3 -3
- package/dist/{timeline-H42EGLMT.js → timeline-JSGTZ3AN.js} +73 -20
- package/dist/{tokens-2K7ISTKV.js → tokens-ADDBGTQ7.js} +2 -2
- package/dist/{transcribe-NUPASAUP.js → transcribe-FEHOK626.js} +14 -14
- package/dist/{transcribe-DVM7UFZZ.js → transcribe-P6MJGSZJ.js} +20 -20
- package/dist/{tts-QSAQZVEZ.js → tts-POI553RG.js} +1 -1
- package/dist/{updateCheck-3RWFSEZD.js → updateCheck-IBWMLXQ4.js} +2 -2
- package/dist/{upgrade-YKKL36N7.js → upgrade-NHZ7AYPO.js} +2 -2
- package/dist/{urlDownloader-6JNJYLPN.js → urlDownloader-ULDRBWS5.js} +8 -8
- package/dist/{validate-Z7KQT7GO.js → validate-NVWNXNBV.js} +25 -25
- package/dist/{video-EXL2JDSL.js → video-74DRD2DN.js} +9 -9
- package/package.json +1 -1
- package/dist/chunk-CEND6BLF.js +0 -3795
- package/dist/chunk-WBLXWOYK.js +0 -15
|
@@ -6,15 +6,19 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
maybePromptRenderFeedback
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3LO7BBJX.js";
|
|
10
|
+
import {
|
|
11
|
+
captureArtifactRevision
|
|
12
|
+
} from "./chunk-KCFF4ENE.js";
|
|
13
|
+
import "./chunk-7TASSBN2.js";
|
|
10
14
|
import {
|
|
11
15
|
reportVariableIssues,
|
|
12
16
|
resolveVariablesArg,
|
|
13
17
|
validateVariablesAgainstProject
|
|
14
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7NPSXBIN.js";
|
|
15
19
|
import {
|
|
16
20
|
loadProducer
|
|
17
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-3E4OCOC5.js";
|
|
18
22
|
import {
|
|
19
23
|
renderJobObservabilityTelemetryPayload
|
|
20
24
|
} from "./chunk-VXVRPIJA.js";
|
|
@@ -26,11 +30,16 @@ import {
|
|
|
26
30
|
resolveCompositionEntryArg,
|
|
27
31
|
resolveDefaultFpsArg,
|
|
28
32
|
windowsChromeCrashRemediation
|
|
29
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-PKO2EWO7.js";
|
|
30
34
|
import "./chunk-WPNE5NEP.js";
|
|
35
|
+
import {
|
|
36
|
+
recordRenderSuccess,
|
|
37
|
+
registerRenderOutput
|
|
38
|
+
} from "./chunk-7FYFEXD2.js";
|
|
39
|
+
import "./chunk-FFDC5OWV.js";
|
|
31
40
|
import {
|
|
32
41
|
resolveProject
|
|
33
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-IBYC3VUA.js";
|
|
34
43
|
import {
|
|
35
44
|
formatLintStartupMessage
|
|
36
45
|
} from "./chunk-6CSYCFQV.js";
|
|
@@ -46,23 +55,24 @@ import {
|
|
|
46
55
|
resolvePrintedCaptureMode
|
|
47
56
|
} from "./chunk-K2FLNJVB.js";
|
|
48
57
|
import "./chunk-DCAI5DBR.js";
|
|
58
|
+
import "./chunk-DQBY7FRR.js";
|
|
49
59
|
import {
|
|
50
60
|
runEnvironmentChecks
|
|
51
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-WUUOFMHU.js";
|
|
52
62
|
import "./chunk-442JNXRM.js";
|
|
53
63
|
import {
|
|
54
64
|
loadProjectConfig,
|
|
55
65
|
readProjectConfigWithStatus,
|
|
56
66
|
seedProjectAuthoringSkill
|
|
57
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-D6RJXQLD.js";
|
|
58
68
|
import "./chunk-XT7X6QCP.js";
|
|
59
69
|
import "./chunk-4YYJOFKS.js";
|
|
60
70
|
import {
|
|
61
71
|
normalizeSkillSlug
|
|
62
72
|
} from "./chunk-HVW7ABXD.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-QESSGUKX.js";
|
|
74
|
+
import "./chunk-6Z4YJ5Q3.js";
|
|
75
|
+
import "./chunk-3HPJM5IQ.js";
|
|
66
76
|
import "./chunk-AWDFDFI3.js";
|
|
67
77
|
import "./chunk-P6LJ4Y32.js";
|
|
68
78
|
import "./chunk-GMECXFAN.js";
|
|
@@ -71,8 +81,8 @@ import {
|
|
|
71
81
|
trackRenderError,
|
|
72
82
|
trackRenderObservation,
|
|
73
83
|
trackRenderPreflightRejected
|
|
74
|
-
} from "./chunk-
|
|
75
|
-
import "./chunk-
|
|
84
|
+
} from "./chunk-H2SGM2V2.js";
|
|
85
|
+
import "./chunk-KZ3L3W4Q.js";
|
|
76
86
|
import "./chunk-VWG7OQKU.js";
|
|
77
87
|
import {
|
|
78
88
|
bytesToMb
|
|
@@ -95,10 +105,11 @@ import {
|
|
|
95
105
|
import {
|
|
96
106
|
c
|
|
97
107
|
} from "./chunk-ZTZA4UWZ.js";
|
|
108
|
+
import "./chunk-EOOEC32M.js";
|
|
98
109
|
import {
|
|
99
110
|
hasDefinitiveEntryMismatch
|
|
100
111
|
} from "./chunk-Q5X2B5WT.js";
|
|
101
|
-
import "./chunk-
|
|
112
|
+
import "./chunk-LBT4AMSF.js";
|
|
102
113
|
import "./chunk-K4WIOZFP.js";
|
|
103
114
|
import {
|
|
104
115
|
readConfigFresh,
|
|
@@ -112,11 +123,11 @@ import {
|
|
|
112
123
|
} from "./chunk-ISN5GRYI.js";
|
|
113
124
|
import {
|
|
114
125
|
VERSION
|
|
115
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-IZIRIDJH.js";
|
|
116
127
|
import "./chunk-EOVYQ3IG.js";
|
|
117
128
|
import {
|
|
118
129
|
createRenderCancellationScope
|
|
119
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-FNN5QINS.js";
|
|
120
131
|
import {
|
|
121
132
|
H264EncoderUnavailableError,
|
|
122
133
|
chromeLaunchRemediation,
|
|
@@ -124,15 +135,15 @@ import {
|
|
|
124
135
|
findFFmpeg,
|
|
125
136
|
findFFprobe,
|
|
126
137
|
getFFmpegInstallHint
|
|
127
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-4MLYMDQ4.js";
|
|
128
139
|
import "./chunk-AMKC3AXA.js";
|
|
129
140
|
import {
|
|
130
141
|
EXTRACT_CACHE_DIR_DISABLED_ALIASES,
|
|
131
142
|
MAX_VP9_CPU_USED,
|
|
132
143
|
MIN_VP9_CPU_USED,
|
|
133
144
|
isVideoFrameFormat
|
|
134
|
-
} from "./chunk-
|
|
135
|
-
import "./chunk-
|
|
145
|
+
} from "./chunk-EXH6L2XZ.js";
|
|
146
|
+
import "./chunk-RN5I2DP5.js";
|
|
136
147
|
import "./chunk-NE55C6S5.js";
|
|
137
148
|
import "./chunk-JYVGYKXG.js";
|
|
138
149
|
import {
|
|
@@ -140,8 +151,8 @@ import {
|
|
|
140
151
|
fpsToFfmpegArg,
|
|
141
152
|
fpsToNumber,
|
|
142
153
|
parseFps
|
|
143
|
-
} from "./chunk-
|
|
144
|
-
import "./chunk-
|
|
154
|
+
} from "./chunk-5ERVRJMV.js";
|
|
155
|
+
import "./chunk-S3RCK56N.js";
|
|
145
156
|
import "./chunk-VC76R6W2.js";
|
|
146
157
|
import "./chunk-UJKQWGFF.js";
|
|
147
158
|
import {
|
|
@@ -149,7 +160,7 @@ import {
|
|
|
149
160
|
isAspectAgnosticResolutionAlias,
|
|
150
161
|
normalizeResolutionFlag,
|
|
151
162
|
suggestMatchingPreset
|
|
152
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-VYKPBRCB.js";
|
|
153
164
|
import "./chunk-OFQWTKPW.js";
|
|
154
165
|
import "./chunk-DPVXBVLL.js";
|
|
155
166
|
import "./chunk-T76PLPD6.js";
|
|
@@ -157,24 +168,24 @@ import "./chunk-FXMKHHPO.js";
|
|
|
157
168
|
import "./chunk-RQVDTPGD.js";
|
|
158
169
|
import {
|
|
159
170
|
killOrphanedProcessesForRender
|
|
160
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-YIJMVFEJ.js";
|
|
161
172
|
import {
|
|
162
173
|
runRenderSetupWorker
|
|
163
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-54DMWFQZ.js";
|
|
164
175
|
import "./chunk-TWWSYAKJ.js";
|
|
165
176
|
import {
|
|
166
177
|
lintProject,
|
|
167
178
|
shouldBlockRender
|
|
168
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-YOEGUBBY.js";
|
|
169
180
|
import {
|
|
170
181
|
collectSubCompositionSrcs
|
|
171
182
|
} from "./chunk-IWFLMU2N.js";
|
|
172
|
-
import "./chunk-
|
|
183
|
+
import "./chunk-3VGU2SH7.js";
|
|
173
184
|
import "./chunk-VAS6HQX3.js";
|
|
174
185
|
import "./chunk-3RM2ETQT.js";
|
|
175
186
|
import "./chunk-BSQ7XANM.js";
|
|
176
187
|
import "./chunk-SDYDNHEE.js";
|
|
177
|
-
import "./chunk-
|
|
188
|
+
import "./chunk-TYXH3EKP.js";
|
|
178
189
|
import "./chunk-IXLUTE6N.js";
|
|
179
190
|
import {
|
|
180
191
|
normalizeErrorMessage
|
|
@@ -672,7 +683,7 @@ async function executeRenderPlan(plan, dependencies, cancellation) {
|
|
|
672
683
|
let batchModule;
|
|
673
684
|
let preparedBatch;
|
|
674
685
|
if (plan.batchPath) {
|
|
675
|
-
batchModule = await import("./batchRender-
|
|
686
|
+
batchModule = await import("./batchRender-7PLJISCN.js");
|
|
676
687
|
try {
|
|
677
688
|
preparedBatch = batchModule.prepareBatchRender({
|
|
678
689
|
batchPath: plan.batchPath,
|
|
@@ -761,7 +772,7 @@ function assertRenderActive(cancellation) {
|
|
|
761
772
|
cancellation?.signal.throwIfAborted();
|
|
762
773
|
}
|
|
763
774
|
async function ensureRenderBrowser(plan, signal) {
|
|
764
|
-
const { ensureBrowser } = await import("./manager-
|
|
775
|
+
const { ensureBrowser } = await import("./manager-ZLJD3EAY.js");
|
|
765
776
|
let browserSpinner;
|
|
766
777
|
try {
|
|
767
778
|
if (plan.effectiveQuiet) {
|
|
@@ -1147,6 +1158,34 @@ var DockerRenderExitError = class extends Error {
|
|
|
1147
1158
|
}
|
|
1148
1159
|
};
|
|
1149
1160
|
|
|
1161
|
+
// src/utils/dockerBuildFailure.ts
|
|
1162
|
+
var DOCKER_BUILD_TIMEOUT_MINUTES = 10;
|
|
1163
|
+
function isSpawnTimeout(error) {
|
|
1164
|
+
return error instanceof Error && "code" in error && error.code === "ETIMEDOUT";
|
|
1165
|
+
}
|
|
1166
|
+
function describeDockerBuildFailure(error) {
|
|
1167
|
+
if (error instanceof Error && isSpawnTimeout(error.cause)) {
|
|
1168
|
+
return {
|
|
1169
|
+
title: "Docker image build timed out",
|
|
1170
|
+
message: `Building the render image took longer than ${DOCKER_BUILD_TIMEOUT_MINUTES} minutes, so it was stopped.`,
|
|
1171
|
+
hint: "Run the same command again. Docker keeps the layers it already built, so the build picks up where it stopped."
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1174
|
+
const message = normalizeErrorMessage(error);
|
|
1175
|
+
if (/connect|not found|ENOENT/i.test(message)) {
|
|
1176
|
+
return {
|
|
1177
|
+
title: "Docker not available",
|
|
1178
|
+
message,
|
|
1179
|
+
hint: "Install Docker: https://docs.docker.com/get-docker/"
|
|
1180
|
+
};
|
|
1181
|
+
}
|
|
1182
|
+
return {
|
|
1183
|
+
title: "Docker image build failed",
|
|
1184
|
+
message,
|
|
1185
|
+
hint: "Check Docker is running: docker info"
|
|
1186
|
+
};
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1150
1189
|
// src/browser/macosOldChromeCrash.ts
|
|
1151
1190
|
var DYLD_SYMBOL_NOT_FOUND = /Symbol not found:/i;
|
|
1152
1191
|
var MACOS_13_ONLY_SYMBOL = /_kVTCompressionPropertyKey_ReferenceBufferCount/;
|
|
@@ -1543,11 +1582,11 @@ function ensureDockerImage(version, platform, quiet) {
|
|
|
1543
1582
|
tag,
|
|
1544
1583
|
tmpDir
|
|
1545
1584
|
],
|
|
1546
|
-
{ stdio: quiet ? "pipe" : "inherit", timeout:
|
|
1585
|
+
{ stdio: quiet ? "pipe" : "inherit", timeout: DOCKER_BUILD_TIMEOUT_MINUTES * 6e4 }
|
|
1547
1586
|
);
|
|
1548
1587
|
} catch (error) {
|
|
1549
1588
|
const message = normalizeErrorMessage(error);
|
|
1550
|
-
throw new Error(`Failed to build Docker image: ${message}
|
|
1589
|
+
throw new Error(`Failed to build Docker image: ${message}`, { cause: error });
|
|
1551
1590
|
} finally {
|
|
1552
1591
|
rmSync(tmpDir, { recursive: true, force: true });
|
|
1553
1592
|
}
|
|
@@ -1573,7 +1612,14 @@ function resolveDockerHostPlatform(options) {
|
|
|
1573
1612
|
}
|
|
1574
1613
|
return platform;
|
|
1575
1614
|
}
|
|
1615
|
+
async function registerRenderOutputOrWarn(projectDir, outputPath) {
|
|
1616
|
+
await registerRenderOutput(projectDir, outputPath).catch(
|
|
1617
|
+
(error) => console.warn(`Render output was not registered: ${normalizeErrorMessage(error)}`)
|
|
1618
|
+
);
|
|
1619
|
+
}
|
|
1576
1620
|
async function renderDocker(projectDir, outputPath, options) {
|
|
1621
|
+
await registerRenderOutputOrWarn(projectDir, outputPath);
|
|
1622
|
+
const capture = await captureArtifactRevision(projectDir).catch(() => void 0);
|
|
1577
1623
|
const startTime = Date.now();
|
|
1578
1624
|
const dockerVersion = isDevMode() ? "latest" : VERSION;
|
|
1579
1625
|
if (!options.quiet && isDevMode()) {
|
|
@@ -1584,13 +1630,8 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
1584
1630
|
try {
|
|
1585
1631
|
imageTag = ensureDockerImage(dockerVersion, platform, options.quiet);
|
|
1586
1632
|
} catch (error) {
|
|
1587
|
-
const
|
|
1588
|
-
|
|
1589
|
-
errorBox(
|
|
1590
|
-
isDockerMissing ? "Docker not available" : "Docker image build failed",
|
|
1591
|
-
message,
|
|
1592
|
-
isDockerMissing ? "Install Docker: https://docs.docker.com/get-docker/" : "Check Docker is running: docker info"
|
|
1593
|
-
);
|
|
1633
|
+
const failure = describeDockerBuildFailure(error);
|
|
1634
|
+
errorBox(failure.title, failure.message, failure.hint);
|
|
1594
1635
|
failCommand();
|
|
1595
1636
|
}
|
|
1596
1637
|
const outputDir = dirname2(outputPath);
|
|
@@ -1654,6 +1695,11 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
1654
1695
|
}
|
|
1655
1696
|
const elapsed = Date.now() - startTime;
|
|
1656
1697
|
markRenderSucceeded();
|
|
1698
|
+
await runPostRenderStepAsync(
|
|
1699
|
+
"recordRenderSuccess",
|
|
1700
|
+
() => recordRenderSuccess(projectDir, outputPath, "completed", capture).then(() => {
|
|
1701
|
+
})
|
|
1702
|
+
);
|
|
1657
1703
|
runPostRenderStep(
|
|
1658
1704
|
"trackRenderComplete",
|
|
1659
1705
|
() => trackRenderComplete({
|
|
@@ -1700,6 +1746,8 @@ async function renderLocal(projectDir, outputPath, options, commandCancellation)
|
|
|
1700
1746
|
}
|
|
1701
1747
|
}
|
|
1702
1748
|
async function executeLocalRender(projectDir, outputPath, options, cancellation) {
|
|
1749
|
+
await registerRenderOutputOrWarn(projectDir, outputPath);
|
|
1750
|
+
const capture = await captureArtifactRevision(projectDir).catch(() => void 0);
|
|
1703
1751
|
cancellation.checkAncestors();
|
|
1704
1752
|
cancellation.signal.throwIfAborted();
|
|
1705
1753
|
let recoveredOrphanTrees = 0;
|
|
@@ -1870,6 +1918,16 @@ async function executeLocalRender(projectDir, outputPath, options, cancellation)
|
|
|
1870
1918
|
);
|
|
1871
1919
|
}
|
|
1872
1920
|
markRenderSucceeded();
|
|
1921
|
+
await runPostRenderStepAsync(
|
|
1922
|
+
"recordRenderSuccess",
|
|
1923
|
+
() => recordRenderSuccess(
|
|
1924
|
+
projectDir,
|
|
1925
|
+
outputPath,
|
|
1926
|
+
job.outcome === "completed_with_warnings" ? "completed_with_warnings" : "completed",
|
|
1927
|
+
capture
|
|
1928
|
+
).then(() => {
|
|
1929
|
+
})
|
|
1930
|
+
);
|
|
1873
1931
|
maybeConsumeDeParallelRouterTrial(deParallelRouterActive, job, options.quiet);
|
|
1874
1932
|
const elapsed = Date.now() - startTime;
|
|
1875
1933
|
if (job.outcome === "completed_with_warnings") {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
reportVariableIssues,
|
|
16
16
|
resolveVariablesArg,
|
|
17
17
|
validateVariablesAgainstProject
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7NPSXBIN.js";
|
|
19
19
|
import "./chunk-FH7WODJH.js";
|
|
20
20
|
import "./chunk-K2FLNJVB.js";
|
|
21
21
|
import "./chunk-442JNXRM.js";
|
|
@@ -25,11 +25,11 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
c
|
|
27
27
|
} from "./chunk-ZTZA4UWZ.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-5ERVRJMV.js";
|
|
29
|
+
import "./chunk-S3RCK56N.js";
|
|
30
30
|
import "./chunk-VC76R6W2.js";
|
|
31
31
|
import "./chunk-UJKQWGFF.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-VYKPBRCB.js";
|
|
33
33
|
import "./chunk-OFQWTKPW.js";
|
|
34
34
|
import "./chunk-DPVXBVLL.js";
|
|
35
35
|
import "./chunk-T76PLPD6.js";
|
|
@@ -38,7 +38,7 @@ import "./chunk-RQVDTPGD.js";
|
|
|
38
38
|
import "./chunk-3RM2ETQT.js";
|
|
39
39
|
import "./chunk-BSQ7XANM.js";
|
|
40
40
|
import "./chunk-SDYDNHEE.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-TYXH3EKP.js";
|
|
42
42
|
import "./chunk-IXLUTE6N.js";
|
|
43
43
|
import "./chunk-M2WBOQ2Q.js";
|
|
44
44
|
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
loadProjectVariableSchema,
|
|
15
15
|
reportVariableIssues,
|
|
16
16
|
validateVariablesAgainstSchema
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-7NPSXBIN.js";
|
|
18
18
|
import "./chunk-FH7WODJH.js";
|
|
19
19
|
import {
|
|
20
20
|
errorBox
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
import {
|
|
28
28
|
c
|
|
29
29
|
} from "./chunk-ZTZA4UWZ.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-5ERVRJMV.js";
|
|
31
|
+
import "./chunk-S3RCK56N.js";
|
|
32
32
|
import "./chunk-VC76R6W2.js";
|
|
33
33
|
import "./chunk-UJKQWGFF.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-VYKPBRCB.js";
|
|
35
35
|
import "./chunk-OFQWTKPW.js";
|
|
36
36
|
import "./chunk-DPVXBVLL.js";
|
|
37
37
|
import "./chunk-T76PLPD6.js";
|
|
@@ -40,7 +40,7 @@ import "./chunk-RQVDTPGD.js";
|
|
|
40
40
|
import "./chunk-3RM2ETQT.js";
|
|
41
41
|
import "./chunk-BSQ7XANM.js";
|
|
42
42
|
import "./chunk-SDYDNHEE.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-TYXH3EKP.js";
|
|
44
44
|
import "./chunk-IXLUTE6N.js";
|
|
45
45
|
import {
|
|
46
46
|
normalizeErrorMessage
|
|
@@ -8,26 +8,26 @@ import "./chunk-Q5X2B5WT.js";
|
|
|
8
8
|
import {
|
|
9
9
|
ensureBrowser,
|
|
10
10
|
releaseOwnedBrowserInstallLock
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LBT4AMSF.js";
|
|
12
12
|
import {
|
|
13
13
|
killOrphanedProcesses
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YIJMVFEJ.js";
|
|
15
15
|
import {
|
|
16
16
|
installRenderSetupSignalHandlers,
|
|
17
17
|
renderSetupErrorLine,
|
|
18
18
|
renderSetupResultLine
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-54DMWFQZ.js";
|
|
20
20
|
import "./chunk-TWWSYAKJ.js";
|
|
21
21
|
import {
|
|
22
22
|
lintProject
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YOEGUBBY.js";
|
|
24
24
|
import "./chunk-IWFLMU2N.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-3VGU2SH7.js";
|
|
26
26
|
import "./chunk-VAS6HQX3.js";
|
|
27
27
|
import "./chunk-3RM2ETQT.js";
|
|
28
28
|
import "./chunk-BSQ7XANM.js";
|
|
29
29
|
import "./chunk-SDYDNHEE.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-TYXH3EKP.js";
|
|
31
31
|
import "./chunk-IXLUTE6N.js";
|
|
32
32
|
import "./chunk-KNU5COPB.js";
|
|
33
33
|
import "./chunk-KGPLIH7B.js";
|
|
@@ -11,16 +11,16 @@ import {
|
|
|
11
11
|
resolveItemWithDependencies,
|
|
12
12
|
resolveItemsByTag,
|
|
13
13
|
unreachableRegistryMessage
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-QESSGUKX.js";
|
|
15
|
+
import "./chunk-3HPJM5IQ.js";
|
|
16
16
|
import "./chunk-AWDFDFI3.js";
|
|
17
17
|
import "./chunk-P6LJ4Y32.js";
|
|
18
18
|
import "./chunk-GMECXFAN.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-5ERVRJMV.js";
|
|
20
|
+
import "./chunk-S3RCK56N.js";
|
|
21
21
|
import "./chunk-VC76R6W2.js";
|
|
22
22
|
import "./chunk-UJKQWGFF.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-VYKPBRCB.js";
|
|
24
24
|
import "./chunk-OFQWTKPW.js";
|
|
25
25
|
import "./chunk-DPVXBVLL.js";
|
|
26
26
|
import "./chunk-T76PLPD6.js";
|
|
@@ -29,7 +29,7 @@ import "./chunk-RQVDTPGD.js";
|
|
|
29
29
|
import "./chunk-3RM2ETQT.js";
|
|
30
30
|
import "./chunk-BSQ7XANM.js";
|
|
31
31
|
import "./chunk-SDYDNHEE.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-TYXH3EKP.js";
|
|
33
33
|
import "./chunk-IXLUTE6N.js";
|
|
34
34
|
import "./chunk-M2WBOQ2Q.js";
|
|
35
35
|
export {
|
|
@@ -16,42 +16,42 @@ import {
|
|
|
16
16
|
sherpaRuntimeLoadError,
|
|
17
17
|
sherpaUnsupportedReason,
|
|
18
18
|
transcribeWithSherpa
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-E6EYZ33P.js";
|
|
20
20
|
import "./chunk-BXCMXMJQ.js";
|
|
21
21
|
import "./chunk-3DKN5WKL.js";
|
|
22
22
|
import "./chunk-EOVYQ3IG.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-QECEOV6W.js";
|
|
24
|
+
import "./chunk-FNN5QINS.js";
|
|
25
25
|
import "./chunk-6BEFEWFB.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-YG2Y55KF.js";
|
|
27
27
|
import "./chunk-PO2SDVQA.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-4MLYMDQ4.js";
|
|
29
29
|
import "./chunk-AMKC3AXA.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-EXH6L2XZ.js";
|
|
31
|
+
import "./chunk-RN5I2DP5.js";
|
|
32
32
|
import "./chunk-NE55C6S5.js";
|
|
33
33
|
import "./chunk-JYVGYKXG.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-5ERVRJMV.js";
|
|
35
|
+
import "./chunk-S3RCK56N.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-UJKQWGFF.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-VYKPBRCB.js";
|
|
39
39
|
import "./chunk-OFQWTKPW.js";
|
|
40
40
|
import "./chunk-DPVXBVLL.js";
|
|
41
41
|
import "./chunk-T76PLPD6.js";
|
|
42
42
|
import "./chunk-FXMKHHPO.js";
|
|
43
43
|
import "./chunk-RQVDTPGD.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-YIJMVFEJ.js";
|
|
45
|
+
import "./chunk-54DMWFQZ.js";
|
|
46
46
|
import "./chunk-TWWSYAKJ.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-YOEGUBBY.js";
|
|
48
48
|
import "./chunk-IWFLMU2N.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-3VGU2SH7.js";
|
|
50
50
|
import "./chunk-VAS6HQX3.js";
|
|
51
51
|
import "./chunk-3RM2ETQT.js";
|
|
52
52
|
import "./chunk-BSQ7XANM.js";
|
|
53
53
|
import "./chunk-SDYDNHEE.js";
|
|
54
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-TYXH3EKP.js";
|
|
55
55
|
import "./chunk-IXLUTE6N.js";
|
|
56
56
|
import "./chunk-KNU5COPB.js";
|
|
57
57
|
import "./chunk-JZIEZCQM.js";
|
|
@@ -7,8 +7,9 @@ You build the frame composition file(s) assigned in your dispatch and nothing el
|
|
|
7
7
|
**INPUT** — your dispatch provides this role, your frame packet(s), and:
|
|
8
8
|
|
|
9
9
|
- `PROJECT_DIR` — the project root; all paths are relative to it.
|
|
10
|
-
- `frame_id` — e.g. `03-feature`. Use it **verbatim** as the composition id, the `window.__timelines` key, and the file name
|
|
10
|
+
- `frame_id` — e.g. `03-feature`. Use it **verbatim** as the composition id, the `window.__timelines` key, and the file name. Write to the exact `src` in your packet's storyboard block (e.g. `compositions/frames/<frame_id>.html` or `compositions/<frame_id>.html`); the orchestrator derived `frame_id` from that path, and the assembler reads it verbatim.
|
|
11
11
|
- Your **packet** (`.hyperframes/frame-packets/<frame_id>.md`) — everything selected upstream for this frame. You never open the shared `STORYBOARD.md` (see below); the packet carries your exact **`## Frame N` block**:
|
|
12
|
+
- `src` — the exact output HTML path, relative to `PROJECT_DIR`. Preserve it; do not add or remove a `frames/` directory.
|
|
12
13
|
- `scene` — a one-line contact-sheet caption. **Design intent, never visible DOM text.**
|
|
13
14
|
- `voiceover` — the narration line. **Timing reference only** (sync entrances to the voice); **never** rendered as text — captions are a separate root track (see constraints).
|
|
14
15
|
- `duration` — your render length in seconds. **Fixed upstream; never change it or tween to fill a different length.**
|
|
@@ -24,7 +25,7 @@ You build the frame composition file(s) assigned in your dispatch and nothing el
|
|
|
24
25
|
|
|
25
26
|
**Retry** — if your context carries `lint` / `check` feedback from a prior pass, read it first and re-author so none of those findings recur; treat each as a hard constraint.
|
|
26
27
|
|
|
27
|
-
**OUTPUT** —
|
|
28
|
+
**OUTPUT** — the HTML file at each assigned packet's `src`: exactly one bare `<template>…</template>` fragment. The first non-whitespace bytes are `<template`; the last are `</template>`. Never emit `<!doctype>`, `<html>`, `<head>`, `<body>`, or any markup outside that single template. The workflow delta specifies any required sidecars and the dispatch specifies which packets you own. Writing all assigned HTML files and required sidecars (past the self-check below) is your **terminal action** — you do not edit `STORYBOARD.md`, mint audio, assemble the index, run the CLI, or report back. The orchestrator picks up the file and marks the frame's `status`.
|
|
28
29
|
|
|
29
30
|
## When a confirmed sketch exists
|
|
30
31
|
|
|
@@ -56,24 +57,25 @@ Shared law for every narrative frame, each load-bearing; your workflow's delta a
|
|
|
56
57
|
|
|
57
58
|
1. **Read** — your packet top to bottom (your frame block, the inlined blueprint, the inlined rule recipes), then `frame.md` (the look). Internalize the self-check codes below before you write — most lethal is **template transport**: every `<style>` + `<script>` (including the gsap load) must live INSIDE `<template>`, because the runtime only clones template contents and the assembled-project `lint` / `check` gate can miss an unwired blank sub-composition.
|
|
58
59
|
2. **Design** — turn the time-coded shot sequence into a timeline using `frame.md`'s components and type ramp: each Scene window becomes a phase revealed on its `voiceover` cue, each named motion built from the recipe in your packet, the blueprint's signature move kept recognizable. Find a visual idea that reinforces the beat, not a literal restyle of the words.
|
|
59
|
-
3. **Author** — write the full sub-composition to `
|
|
60
|
+
3. **Author** — write the full sub-composition to the exact `src` in your packet (rewrite to iterate; last write wins). `<template>`-wrapped root carrying `data-composition-id="<frame_id>"` and styled via `#root` (not a class on that element — see the self-check below), exactly one `gsap.timeline({ paused: true })` registered at `window.__timelines["<frame_id>"]`, built synchronously.
|
|
60
61
|
Prefix authored ids and globally reusable class names with `<frame_id>-` so sibling frames assembled from parallel workers cannot collide. Contract selectors such as `#root` and `.clip` are the only exceptions.
|
|
61
|
-
4. **Self-check, then finish** — re-read your file against the checklist below and fix in place; then continue to your next assigned packet, if any. You do **not** run the CLI.
|
|
62
|
+
4. **Self-check, then finish** — re-read your file against the checklist below and fix in place; write any sidecar required by the workflow delta, then continue to your next assigned packet, if any. You do **not** run the CLI.
|
|
62
63
|
|
|
63
64
|
## Self-check before finishing (you do NOT run the CLI)
|
|
64
65
|
|
|
65
|
-
You **can't** meaningfully run `hyperframes lint` / `check` here: they operate on the **assembled project** (the `index.html` graph / bundle), and your frame isn't wired in yet — so they report on _other_ files, not yours (a false green). The **orchestrator** runs them after assembly (the correct unit), and **re-dispatches you with the finding** if your frame fails (see **Retry** above). So get it right on write: re-read your file against this checklist before finishing —
|
|
66
|
+
You **can't** meaningfully run `hyperframes lint` / `check` here: they operate on the **assembled project** (the `index.html` graph / bundle), and your frame isn't wired in yet — so they report on _other_ files, not yours (a false green). The **orchestrator** runs them after assembly (the correct unit), and **re-dispatches you with the finding** if your frame fails (see **Retry** above). So get it right on write: re-read your file against this checklist before finishing — backticked diagnostic codes below are emitted by `hyperframes lint`; bold labels are manual workflow checks, not lint codes:
|
|
66
67
|
|
|
67
|
-
-
|
|
68
|
+
- **Template wrapper (manual)** — the entire file is exactly one bare `<template>…</template>` fragment (no DOCTYPE / full document).
|
|
69
|
+
- `root_missing_composition_id` — root carries `data-composition-id="<frame_id>"`; check that the value matches your assigned frame id.
|
|
68
70
|
- **Template transport** — every `<style>` and `<script>` block, including the GSAP load, lives inside `<template>`.
|
|
69
71
|
- `subcomposition_root_styled_by_class` — **style the frame root via `#root`, never a class on the `data-composition-id` element**: at render a class on the root gets scoped to a descendant selector that can't match it, so the **whole scene renders unstyled** (Studio preview still looks right — trust this rule, not the preview). Descendants use plain selectors.
|
|
70
72
|
- **Full-bleed background on a `class="clip"` layer, never `#root`** — author a frame's full-bleed ground (color field / gradient / grid) as a dedicated full-duration `class="clip"` background element on the lowest content track, **not** as a `background` on the `#root` / `data-composition-id` element. At assembly the frame root is clip-gated to its scene window, so a background painted on the root is not a dependable full-frame ground — dark content can end up over the host `body` (black) and render invisible. The video's base ground is painted separately by the assembler from `frame.md`'s `canvas` color onto the index `#root`; your full-bleed clip rides on top of it.
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
+
- **Clip attributes (manual)** — every `class="clip"` element has `data-start` / `data-duration` / `data-track-index`.
|
|
74
|
+
- **Paused timeline + registration (manual for template frames)** — one paused timeline, registered at `window.__timelines["<frame_id>"]`. `gsap_timeline_not_registered` is a real lint code for standalone compositions, but the rule skips template/sub-compositions; it does not verify your frame registration.
|
|
73
75
|
- `css_transition_used` + repeat / yoyo / non-deterministic logic — none present (the renderer seeks frame-by-frame).
|
|
74
76
|
- `gsap_css_transform_conflict` — never put a CSS `transform` (e.g. `translateY(-50%)` centering) on an element you then GSAP-animate a transform prop on (`x` / `y` / `scale` / `rotation`): GSAP overwrites the whole `transform` and silently drops the CSS centering (the element jumps). Center with `margin` / `inset` (or `top`/`left` + offset), fold the offset into the tween via `xPercent` / `yPercent`, or use `fromTo` (the rule exempts it).
|
|
75
77
|
- **Hero visibility** — the main subject is visible by `t <= 0.5s`; entrance tweens use `fromTo` instead of CSS-hidden starting states.
|
|
76
|
-
-
|
|
78
|
+
- **Non-final exit (manual)** — no exit tween unless you are the final frame.
|
|
77
79
|
- **No front-loading (not a slide)** — the shot's pieces reveal on their `voiceover` cues across the duration, not all fired at `t=0`; a non-still frame keeps content arriving rather than holding a full canvas from ~25%.
|
|
78
80
|
- **Shot-sequence fidelity** — every Scene in the time-coded sequence is realized as a phase, the blueprint's signature move (unless `compose`) is present and recognizable, and the shot reveals to the voiceover (never front-loaded at `t=0`).
|
|
79
81
|
- `font_family_without_font_face` — every font you name has a matching `@font-face` **inside this file**. **Only use fonts that ship as files** with the project: the families declared in `frame.md` (their `.woff2` live in `assets/fonts/` or `capture/assets/fonts/` — point the `@font-face` `src` at the real file you find there). **Never name a font that has no file**, including system CJK / Japanese / Devanagari families (`Hiragino Sans`, `Yu Gothic`, `Noto Sans CJK`, `Noto Sans Devanagari`, …): the render machine is a clean headless Chrome with none of them installed, so the text silently falls back to a generic font and the typography is wrong in the MP4. For non-Latin or multilingual visible text, either use a shipped font that covers the script, or romanize / transliterate it (e.g. `日本語` → `Japanese`); if neither is possible it is out of scope for this frame — do not invent a font name.
|
|
@@ -10,7 +10,7 @@ The video workflows (`product-launch-video` / `faceless-explainer` / `pr-to-vide
|
|
|
10
10
|
|
|
11
11
|
## Concurrency cap → batching rule (cap never changes scope)
|
|
12
12
|
|
|
13
|
-
A harness concurrency limit **reduces parallelism, not work**: every scene still gets built,
|
|
13
|
+
A harness concurrency limit **reduces parallelism, not work**: every scene still gets built, with the available slots chewing through the full list. The workflow sets how many scenes each worker gets (`general-video` assigns 2–3).
|
|
14
14
|
|
|
15
15
|
- When the harness queues excess children internally, submit **all N at once** and let the queue drain.
|
|
16
16
|
- Harness hard-caps active children (e.g. OpenClaw `maxChildrenPerAgent`) → dispatch in **waves of the cap size**: start `cap` workers, wait for their artifacts, start the next wave, until all N scenes exist. Example: 9 scenes on a cap-3 harness = 3 waves of 3 — never drop scenes, never merge scenes into one worker to fit the cap.
|
|
@@ -79,6 +79,9 @@ Static audits cannot catch every mount failure. When the project uses sub-compos
|
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
81
|
npx hyperframes snapshot --at <t1>,<t2>,<t3>
|
|
82
|
+
# For multiple samples within one scene or interval:
|
|
83
|
+
npx hyperframes snapshot --composition <data-composition-id> --frames 8
|
|
84
|
+
npx hyperframes snapshot --range 3:5 --frames 8
|
|
82
85
|
```
|
|
83
86
|
|
|
84
87
|
Treat tiny unstyled content, canvas-sized icons, missing hero elements, or timeline-registration timeouts as render-blocking mount defects. See `hyperframes-core/references/sub-compositions.md` for the corresponding fixes.
|
|
@@ -104,9 +104,13 @@ Drop a `*.motion.json` sidecar next to the composition (matching the html basena
|
|
|
104
104
|
npx hyperframes snapshot # 5 key frames as PNG
|
|
105
105
|
npx hyperframes snapshot ./my-project # specific project
|
|
106
106
|
npx hyperframes snapshot --frames 10 # evenly-spaced N frames
|
|
107
|
+
npx hyperframes snapshot --range 3:5 --frames 8 # 8 frames within root-timeline seconds 3–5
|
|
108
|
+
npx hyperframes snapshot --composition intro --frames 8 # 8 frames within this data-composition-id
|
|
107
109
|
```
|
|
108
110
|
|
|
109
|
-
|
|
111
|
+
Still PNGs. Each run writes `.hyperframes/artifacts/snapshots/<id>/` unless `--output` is set. `snapshot` is the standalone capture; `check --snapshots` is the gate.
|
|
112
|
+
|
|
113
|
+
One of `--at`, `--range START:END` (seconds), or `--composition <data-composition-id>` (not a CSS selector). `--frames` defaults to 5. Range and composition sample just before the end and add no extra end frame; `--at` adds one unless `--no-end`.
|
|
110
114
|
|
|
111
115
|
### Zooming into a reported finding
|
|
112
116
|
|