hyperframes 0.8.184 → 0.8.186
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-5ZTD3MUZ.js → add-UGK7AZI6.js} +14 -14
- package/dist/{agentPromptGenerator-VIIPZCJ3.js → agentPromptGenerator-KYO5MKTW.js} +1 -1
- package/dist/{animatedGifPrep-AGASIWVA.js → animatedGifPrep-HPZPSB43.js} +9 -9
- package/dist/api.js +18 -18
- package/dist/{asset-LSTEMPIB.js → asset-X2GTFWOY.js} +2 -2
- package/dist/{assetCataloger-BKBMNL3A.js → assetCataloger-5NWEG4IU.js} +9 -9
- package/dist/audio-7PBM5F3H.js +2317 -0
- package/dist/{auth-MJWKYK77.js → auth-WABSMO46.js} +1 -1
- package/dist/{autoUpdate-2GGDKYR2.js → autoUpdate-6SCMLTSC.js} +2 -2
- package/dist/{backgroundChecks-7GRX5VQY.js → backgroundChecks-XOGPAAR3.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-BCV2LELR.js → batchRender-VR6IA77K.js} +5 -5
- package/dist/{beats-7BCFRBAL.js → beats-3IWXLMSC.js} +7 -7
- package/dist/{benchmark-2R6CN5MQ.js → benchmark-2SSYATCX.js} +10 -10
- package/dist/{browser-6AFGOI7G.js → browser-PMRN345D.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-2EGPA5ZO.js → bundleWithLocalizedFonts-TT32MZBO.js} +2 -2
- package/dist/{capture-HOIAW6MO.js → capture-4VD6AKUJ.js} +13 -13
- package/dist/{capture-HA2UHLIU.js → capture-BDGYTE57.js} +2 -2
- package/dist/{captureCompositionFrame-4236FVWJ.js → captureCompositionFrame-5FVLAETA.js} +17 -13
- package/dist/{catalog-A6CZAWW4.js → catalog-HUYZO5D7.js} +14 -14
- package/dist/{catch-up-TNA4DJOA.js → catch-up-SSGTR2ZT.js} +4 -4
- package/dist/{check-5E5U2EQZ.js → check-JWUWHGM2.js} +34 -34
- package/dist/{checkBrowser-FNINXBMZ.js → checkBrowser-X7G6YNR7.js} +31 -31
- package/dist/{chunk-UJKUB2LH.js → chunk-22QKQDEE.js} +11 -11
- package/dist/{chunk-2PVE4WS2.js → chunk-27H2363S.js} +33 -6
- package/dist/{chunk-2ULXZ4PG.js → chunk-2II34JPM.js} +154 -21
- package/dist/{chunk-3QVMJ7GX.js → chunk-2PZZMAME.js} +11 -10
- package/dist/{chunk-X3CG5YQA.js → chunk-3YHGQJI6.js} +3 -3
- package/dist/{chunk-EEP5Y5IE.js → chunk-46HEFGXJ.js} +1 -1
- package/dist/{chunk-DWUGKEHR.js → chunk-4AFNEKU7.js} +1 -1
- package/dist/{chunk-R2BFTECP.js → chunk-4NTW45W5.js} +3 -3
- package/dist/{chunk-7HJALUIO.js → chunk-4XFFJAWS.js} +1 -1
- package/dist/{chunk-SN7KI5JA.js → chunk-5ZMIVTHN.js} +2 -2
- package/dist/{chunk-QL2PNIXC.js → chunk-5ZMXGNGC.js} +24 -16
- package/dist/{chunk-UKOTVJFV.js → chunk-6IOBAOU7.js} +1 -1
- package/dist/{chunk-JIUTXKWA.js → chunk-77QM6YRQ.js} +2 -1
- package/dist/{chunk-ES426XRJ.js → chunk-7AUMTARQ.js} +3 -3
- package/dist/{chunk-5CS4T6C6.js → chunk-7L37AB57.js} +1 -1
- package/dist/{chunk-RGXVEYHI.js → chunk-7M7TMM4S.js} +81 -10
- package/dist/{chunk-3TXNNBI2.js → chunk-7MLFYMFB.js} +2 -2
- package/dist/{chunk-MFAETWIF.js → chunk-7MVODWQF.js} +1 -1
- package/dist/{chunk-WHPN2TIT.js → chunk-ACLABKEF.js} +6 -6
- package/dist/{chunk-YMS5FOMC.js → chunk-B2A56S5C.js} +1 -1
- package/dist/{chunk-YALM6XN4.js → chunk-BRTDLVK3.js} +3 -3
- package/dist/{chunk-VDM3FEDP.js → chunk-DQZMJS2P.js} +1 -1
- package/dist/{chunk-PSKEKWVU.js → chunk-DTXDQ6OP.js} +1 -1
- package/dist/{chunk-Q33P4EAC.js → chunk-EZINX6HH.js} +3 -3
- package/dist/{chunk-3MDJIWOV.js → chunk-FCWFV4P7.js} +75 -35
- package/dist/{chunk-ABZYYUUH.js → chunk-FRLTKTOR.js} +1 -1
- package/dist/{chunk-E32ZQ2WO.js → chunk-GTMBII7X.js} +1 -1
- package/dist/{chunk-YOZPQCSR.js → chunk-HOFX63F2.js} +3 -3
- package/dist/{chunk-LRGYPXHF.js → chunk-HZ7M2MZA.js} +1 -1
- package/dist/{chunk-TYXH3EKP.js → chunk-I5JRXMCV.js} +16 -1
- package/dist/{chunk-LLC4CS6I.js → chunk-ID5AJ4L3.js} +3 -3
- package/dist/{chunk-FGJEUV4S.js → chunk-K6KBOORN.js} +48 -4
- package/dist/{chunk-EM7C7H7S.js → chunk-KNLSYCI5.js} +7 -7
- package/dist/{chunk-4N4P3ZWL.js → chunk-LDW3KVGK.js} +2 -2
- package/dist/{chunk-OLZENUPI.js → chunk-LLFQA7XF.js} +1 -1
- package/dist/chunk-LLMSX6V6.js +17 -0
- package/dist/{chunk-5UDRPPN2.js → chunk-MY6CVBDD.js} +7 -4
- package/dist/{chunk-7NRI7HYX.js → chunk-NPDPDEPP.js} +1 -1
- package/dist/{chunk-BCHSTE7U.js → chunk-PEIV2SOG.js} +1 -1
- package/dist/{chunk-ADDHW2FS.js → chunk-Q447CX26.js} +82 -12
- package/dist/{chunk-YWNJTZGN.js → chunk-R6IGQ5NO.js} +2 -2
- package/dist/{chunk-YWHCXIMD.js → chunk-RFJ6SX4U.js} +5 -5
- package/dist/{chunk-J3QM7AHP.js → chunk-RNZEQTWZ.js} +2 -2
- package/dist/{chunk-SAX7HQ5E.js → chunk-ROWEDRVX.js} +1 -1
- package/dist/{chunk-PFYWVUHA.js → chunk-RPUIMFHF.js} +1 -1
- package/dist/{chunk-OYLO6TYK.js → chunk-RUOG4VB7.js} +1 -1
- package/dist/{chunk-UNNXFKVG.js → chunk-RVZNSKRH.js} +2 -2
- package/dist/{chunk-VNVQGDPC.js → chunk-T4RP55P2.js} +1 -1
- package/dist/{chunk-GDEV42FA.js → chunk-TH7J3JZ5.js} +524 -42
- package/dist/{chunk-VHZ6DL3M.js → chunk-TMK4Q7JA.js} +10 -7
- package/dist/{chunk-74JMKLVU.js → chunk-TQ2RRB5V.js} +1 -1
- package/dist/{chunk-ICJEAFPD.js → chunk-U4BMRIE6.js} +16 -7
- package/dist/{chunk-HR23IKLZ.js → chunk-U7QTMRLW.js} +2 -2
- package/dist/{chunk-KN46TGHV.js → chunk-UAJCTEK2.js} +1 -1
- package/dist/{chunk-CXABAXB3.js → chunk-UJZT6HNN.js} +1 -1
- package/dist/chunk-UOZX5W5T.js +3852 -0
- package/dist/{chunk-FFJ5TDRD.js → chunk-VHBBV5DH.js} +10 -3
- package/dist/{chunk-ZRHO6YMM.js → chunk-WHMFW5ET.js} +4 -4
- package/dist/{chunk-WTFUDNW2.js → chunk-WLHNIIXU.js} +3 -3
- package/dist/{chunk-ZOCHDXDG.js → chunk-Y2M6XSNK.js} +1 -1
- package/dist/{chunk-2XA7KXQO.js → chunk-YNH6ERDL.js} +2 -2
- package/dist/{chunk-JB6ARMQS.js → chunk-YQICCAVA.js} +1 -1
- package/dist/{chunk-7MB2ZAQF.js → chunk-YRAJDFIN.js} +1 -1
- package/dist/{chunk-IWTNTUPQ.js → chunk-Z5233OAN.js} +11 -13
- package/dist/{chunk-TE427YID.js → chunk-ZKBW7NU2.js} +2 -2
- package/dist/{chunk-4KKKBEP3.js → chunk-ZVBEGBII.js} +3 -3
- package/dist/{clean-HGASSMWI.js → clean-IM2JIAUT.js} +18 -18
- package/dist/cli.js +53 -53
- package/dist/{cloud-JPDVNXHN.js → cloud-6IPBCJSX.js} +4 -4
- package/dist/{cloudrun-AMMGSDRP.js → cloudrun-MWZ6S2I2.js} +7 -7
- package/dist/commands/contrast-audit.browser.js +1 -2
- package/dist/commands/layout-audit.browser.js +196 -0
- package/dist/{compare-LHHVHUN3.js → compare-WD7A2TV5.js} +28 -28
- package/dist/{compiler-Q3N6QXMT.js → compiler-2EKSMC3I.js} +6 -6
- package/dist/{component-D72J32Q7.js → component-JKALWH36.js} +3 -3
- package/dist/{compositions-UQRJ5ROG.js → compositions-643NAG4A.js} +13 -13
- package/dist/{delete-P42VIDDA.js → delete-EASPXKHQ.js} +2 -2
- package/dist/{deploy-WZTH57O4.js → deploy-CDKCQ5MX.js} +1 -1
- package/dist/{deterministicFonts-VQ5UBMXY.js → deterministicFonts-EGAAE7QL.js} +3 -3
- package/dist/{dist-DYS24AMA.js → dist-F6FOKRSU.js} +10 -4
- package/dist/{dist-SENYPQGW.js → dist-LM7AVHOU.js} +3 -3
- package/dist/docs/data-attributes.md +1 -1
- package/dist/{doctor-KEJIG2SK.js → doctor-7XUVYDJQ.js} +13 -13
- package/dist/{events-CYKSNR7N.js → events-5TTPYBKG.js} +3 -3
- package/dist/{events-UZXFQPMT.js → events-TULV6D3G.js} +3 -3
- package/dist/{feedback-LXNQF7CA.js → feedback-4FTPWM6P.js} +8 -8
- package/dist/{ffmpeg-BYHON577.js → ffmpeg-MP7ZVYLZ.js} +9 -9
- package/dist/{figma-EIQ35PS6.js → figma-B7LFWYKO.js} +3 -3
- package/dist/fontLocalizeCli.js +12 -12
- package/dist/{get-CC2YL7QO.js → get-F7W4AQ2V.js} +2 -2
- package/dist/{gpuPolicy-VFSACUQV.js → gpuPolicy-NSNVDFXC.js} +9 -9
- package/dist/{grade-compare-TUQL7IV2.js → grade-compare-6QXDTLS2.js} +29 -29
- package/dist/{gsapParserAcorn-7NCK2LVT.js → gsapParserAcorn-SKODXC2N.js} +2 -2
- package/dist/{help-ROROO5K6.js → help-RJAA4O74.js} +1 -1
- package/dist/{history-PNELYLXX.js → history-OOQBDVV5.js} +6 -6
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +67 -67
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-4FZTH6AS.js → info-5OGGYYLO.js} +9 -9
- package/dist/{init-I43GHHVP.js → init-DM3TJKW2.js} +68 -50
- package/dist/{inspect-IT4TYIZ3.js → inspect-FECQCLS5.js} +29 -29
- package/dist/{installer-CWOJVK5K.js → installer-WOG4VORV.js} +7 -7
- package/dist/{keyframes-3FBOGVD4.js → keyframes-SZHWUF5Y.js} +7 -7
- package/dist/{lambda-H3V32I7M.js → lambda-JG2ZRGMC.js} +9 -9
- package/dist/{layout-BZ5LYJ5C.js → layout-7ACF7ZKC.js} +29 -29
- package/dist/{lint-ZTNSGP2S.js → lint-ZCQGMILV.js} +9 -9
- package/dist/{lintProject-C2ONSH2U.js → lintProject-JATQKR64.js} +3 -3
- package/dist/{list-XM4GWJYY.js → list-MH2X3Y2T.js} +2 -2
- package/dist/{login-H6HYKMWX.js → login-CK46WX5U.js} +4 -4
- package/dist/{manager-TWVDSJXO.js → manager-GXTPNJVW.js} +10 -10
- package/dist/{media-treatment-N7MY5NXB.js → media-treatment-EH2AT34Z.js} +15 -15
- package/dist/{models-WEMIMYBD.js → models-D5XP2UK6.js} +13 -13
- package/dist/{motionShot-RHICTVPU.js → motionShot-UR7D3SRQ.js} +16 -16
- package/dist/{normalize-4UDISLPL.js → normalize-3AYFSN2F.js} +1 -1
- package/dist/{normalize-audio-ZFUZCJE3.js → normalize-audio-635JOR5W.js} +4 -4
- package/dist/{open-IBJ4FL3G.js → open-6WE5WFVM.js} +14 -14
- package/dist/{parakeetRunner-XXO4WSLR.js → parakeetRunner-STHZPG32.js} +14 -14
- package/dist/{pipeline-6ML3LUVK.js → pipeline-LVEKRETU.js} +10 -10
- package/dist/{play-RV4NAVF5.js → play-W6TDW4FE.js} +21 -21
- package/dist/{preflight-R3DEFMLA.js → preflight-LIMQXLR7.js} +10 -10
- package/dist/{present-5TBJGE6B.js → present-RX5QX6UR.js} +17 -17
- package/dist/{preview-FLKZ5CXJ.js → preview-KIWTWK63.js} +20 -20
- package/dist/{producer-7XYSPVKH.js → producer-TSNKSCUM.js} +1 -1
- package/dist/{projectConfig-TBU2VWZX.js → projectConfig-NCP7JRH4.js} +9 -9
- package/dist/{publication-CWWUJYJ5.js → publication-5W5UZWGC.js} +4 -4
- package/dist/{publish-FSNE4FEB.js → publish-7WR4XJ6I.js} +11 -11
- package/dist/{remove-background-MDFWRWCT.js → remove-background-43JGBRWQ.js} +11 -11
- package/dist/{render-F4JQ553X.js → render-456HCO6O.js} +31 -31
- package/dist/{render-LWZKXCLY.js → render-7T44HIM6.js} +5 -5
- package/dist/{render-DBGQZAZT.js → render-WHMLYIOI.js} +18 -30
- package/dist/{render-batch-PU7NMLIJ.js → render-batch-LURBJTBV.js} +5 -5
- package/dist/renderSetupWorker.js +3 -3
- package/dist/{resolver-RUBGFXPC.js → resolver-MBIW4VC4.js} +6 -6
- package/dist/{sherpa-X2TBNO6P.js → sherpa-5J2AALED.js} +13 -13
- package/dist/skills/hyperframes/SKILL.md +52 -174
- package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/FRAME.md +289 -0
- package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/caption-skin.html +220 -0
- package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
- package/dist/skills/hyperframes/assets/frame-presets/blockframe/FRAME.md +275 -0
- package/dist/skills/hyperframes/assets/frame-presets/blockframe/caption-skin.html +223 -0
- package/dist/skills/hyperframes/assets/frame-presets/blockframe/frame-showcase.html +1347 -0
- package/dist/skills/hyperframes/assets/frame-presets/blue-professional/FRAME.md +307 -0
- package/dist/skills/hyperframes/assets/frame-presets/blue-professional/caption-skin.html +222 -0
- package/dist/skills/hyperframes/assets/frame-presets/blue-professional/frame-showcase.html +1372 -0
- package/dist/skills/hyperframes/assets/frame-presets/bold-poster/FRAME.md +275 -0
- package/dist/skills/hyperframes/assets/frame-presets/bold-poster/caption-skin.html +229 -0
- package/dist/skills/hyperframes/assets/frame-presets/bold-poster/frame-showcase.html +1140 -0
- package/dist/skills/hyperframes/assets/frame-presets/broadside/FRAME.md +284 -0
- package/dist/skills/hyperframes/assets/frame-presets/broadside/caption-skin.html +224 -0
- package/dist/skills/hyperframes/assets/frame-presets/broadside/frame-showcase.html +1166 -0
- package/dist/skills/hyperframes/assets/frame-presets/capsule/FRAME.md +284 -0
- package/dist/skills/hyperframes/assets/frame-presets/capsule/caption-skin.html +223 -0
- package/dist/skills/hyperframes/assets/frame-presets/capsule/frame-showcase.html +1465 -0
- package/dist/skills/hyperframes/assets/frame-presets/cartesian/FRAME.md +278 -0
- package/dist/skills/hyperframes/assets/frame-presets/cartesian/caption-skin.html +221 -0
- package/dist/skills/hyperframes/assets/frame-presets/cartesian/frame-showcase.html +1263 -0
- package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/FRAME.md +265 -0
- package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/caption-skin.html +237 -0
- package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/FRAME.md +277 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/caption-skin.html +223 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-400.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-700.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-400.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-700.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-400.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-700.woff2 +0 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +93 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-inter.txt +93 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +93 -0
- package/dist/skills/hyperframes/assets/frame-presets/code-editorial/frame-showcase.html +1438 -0
- package/dist/skills/hyperframes/assets/frame-presets/coral/FRAME.md +314 -0
- package/dist/skills/hyperframes/assets/frame-presets/coral/caption-skin.html +225 -0
- package/dist/skills/hyperframes/assets/frame-presets/coral/frame-showcase.html +1268 -0
- package/dist/skills/hyperframes/assets/frame-presets/creative-mode/FRAME.md +333 -0
- package/dist/skills/hyperframes/assets/frame-presets/creative-mode/caption-skin.html +226 -0
- package/dist/skills/hyperframes/assets/frame-presets/creative-mode/frame-showcase.html +1330 -0
- package/dist/skills/hyperframes/assets/frame-presets/daisy-days/FRAME.md +274 -0
- package/dist/skills/hyperframes/assets/frame-presets/daisy-days/caption-skin.html +229 -0
- package/dist/skills/hyperframes/assets/frame-presets/daisy-days/frame-showcase.html +1444 -0
- package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/FRAME.md +265 -0
- package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/caption-skin.html +222 -0
- package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/frame-showcase.html +1273 -0
- package/dist/skills/hyperframes/references/captions.md +46 -0
- package/dist/skills/hyperframes/references/film.md +47 -0
- package/dist/skills/hyperframes/references/format.md +157 -0
- package/dist/skills/hyperframes/references/look.md +69 -0
- package/dist/skills/hyperframes/references/motion.md +94 -0
- package/dist/skills/hyperframes/references/overlays.md +39 -0
- package/dist/skills/hyperframes/references/plugin-installation.md +3 -3
- package/dist/skills/hyperframes/references/review.md +51 -0
- package/dist/skills/hyperframes/references/runtimes.md +43 -0
- package/dist/skills/hyperframes/references/skill-lifecycle.md +21 -13
- package/dist/skills/hyperframes/references/sound.md +43 -0
- package/dist/skills/hyperframes/references/spec.md +76 -0
- package/dist/skills/hyperframes/references/story.md +103 -0
- package/dist/skills/hyperframes/references/storyboard-format.md +30 -22
- package/dist/skills/hyperframes/references/storyboard.md +36 -0
- package/dist/skills/hyperframes/references/types/3d.md +25 -0
- package/dist/skills/hyperframes/references/types/character.md +20 -0
- package/dist/skills/hyperframes/references/types/data.md +19 -0
- package/dist/skills/hyperframes/references/types/explainer.md +34 -0
- package/dist/skills/hyperframes/references/types/launch.md +31 -0
- package/dist/skills/hyperframes/references/types/music.md +24 -0
- package/dist/skills/hyperframes/references/types/vertical.md +23 -0
- package/dist/skills/hyperframes/scripts/bake-basemap.mjs +324 -0
- package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +1 -6
- package/dist/skills/hyperframes/scripts/locate.mjs +228 -0
- package/dist/skills/hyperframes-cli/SKILL.md +76 -179
- package/dist/skills/hyperframes-cli/references/beats.md +1 -1
- package/dist/skills/hyperframes-cli/references/cloud.md +2 -2
- package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
- package/dist/skills/hyperframes-cli/references/conventions.md +17 -0
- package/dist/skills/hyperframes-cli/references/feedback.md +14 -0
- package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +11 -7
- package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +19 -8
- package/dist/skills/hyperframes-cli/references/preview-render.md +8 -2
- package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
- package/dist/skills/media-use/SKILL.md +47 -91
- package/dist/skills/media-use/audio/references/bgm.md +1 -1
- package/dist/skills/media-use/audio/references/captions/authoring.md +1 -2
- package/dist/skills/media-use/audio/references/captions/motion.md +5 -5
- package/dist/skills/media-use/audio/references/tts.md +0 -3
- package/dist/skills/media-use/audio/scripts/audio.mjs +5 -6
- package/dist/skills/media-use/audio/scripts/carve.mjs +560 -0
- package/dist/skills/media-use/audio/scripts/carve.test.mjs +254 -0
- package/dist/skills/media-use/audio/scripts/extract-audio-data.py +199 -0
- package/dist/skills/media-use/references/local.md +24 -0
- package/dist/skills/media-use/references/memory.md +4 -4
- package/dist/skills/media-use/references/mixing.md +71 -0
- package/dist/skills/media-use/references/operations.md +1 -1
- package/dist/skills/media-use/scripts/compatibility.test.mjs +1 -56
- package/dist/skills/media-use/scripts/lib/prefs-store.mjs +1 -1
- package/dist/skills/media-use/scripts/lib/recipe-store.mjs +1 -1
- package/dist/skills/media-use/scripts/prefs.mjs +2 -3
- package/dist/skills/media-use/scripts/recipe.mjs +1 -3
- package/dist/{skills-WHKMWO2D.js → skills-UHOXOGGF.js} +20 -13
- package/dist/{skillsUpdateCheck-XQGZGJJG.js → skillsUpdateCheck-PDZIFUJE.js} +3 -3
- package/dist/{snapshot-M4NUUSNU.js → snapshot-PFV7ALLH.js} +462 -100
- package/dist/{src-4UYM2K3S.js → src-DCVSEODX.js} +8 -8
- package/dist/{src-6MSC62U2.js → src-XK5YIR6L.js} +11 -11
- package/dist/{staticProjectServer-ERDTFP45.js → staticProjectServer-4IE4G4JO.js} +17 -17
- package/dist/studio/assets/{hyperframes-player-DEncBxR7.js → hyperframes-player-B_skzvYC.js} +1 -1
- package/dist/studio/assets/{index-Cc22mgvY.js → index-CgLbvCUo.js} +1 -1
- package/dist/studio/assets/{index-BABXr78Q.js → index-Dn5FAk2e.js} +99 -99
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-SAKD3VKC.js → studio-api-JMWYU7KF.js} +11 -11
- package/dist/{studioServer-IRI7EVOM.js → studioServer-BWLSTGIG.js} +50 -49
- package/dist/{telemetry-F4XADVAF.js → telemetry-JCU3AV7W.js} +3 -3
- package/dist/templates/_shared/AGENTS.md +14 -19
- package/dist/templates/_shared/CLAUDE.md +14 -19
- package/dist/templates/blank/index.html +10 -4
- package/dist/{timeline-5I444RRE.js → timeline-BCIFQYOM.js} +20 -19
- package/dist/{tokens-LRRYM35A.js → tokens-7IXKALMQ.js} +2 -2
- package/dist/{transcribe-44XDFNVU.js → transcribe-HW7HGJ4V.js} +19 -19
- package/dist/{transcribe-WHYHWAB2.js → transcribe-ZUQD3B32.js} +12 -12
- package/dist/{updateCheck-7CPH3CAZ.js → updateCheck-Z6LNEK7B.js} +2 -2
- package/dist/{upgrade-WW4GQ2RI.js → upgrade-JYH72JGL.js} +2 -2
- package/dist/{urlDownloader-OHLLP45A.js → urlDownloader-WKLFHSUH.js} +8 -8
- package/dist/{validate-VNCDH2LW.js → validate-QCC27YYI.js} +23 -23
- package/dist/{video-5OHTLL2D.js → video-EZ7ONY6L.js} +9 -9
- package/dist/warmCheck.js +36 -36
- package/package.json +1 -1
- package/dist/audio-KGK44XE4.js +0 -1153
- package/dist/chunk-R2SQBPMH.js +0 -3805
- package/dist/skills/hyperframes/references/brief-contract.md +0 -108
- package/dist/skills/hyperframes/references/brief-format.md +0 -72
- package/dist/skills/hyperframes/references/capability-menu.md +0 -47
- package/dist/skills/hyperframes/references/frame-worker-core.md +0 -82
- package/dist/skills/hyperframes/references/intent-interview.md +0 -73
- package/dist/skills/hyperframes/references/pitch-round.md +0 -40
- package/dist/skills/hyperframes/references/production-loop.md +0 -26
- package/dist/skills/hyperframes/references/review-loop.md +0 -37
- package/dist/skills/hyperframes/references/route-briefs.md +0 -11
- package/dist/skills/hyperframes/references/routes/embedded-captions.md +0 -11
- package/dist/skills/hyperframes/references/routes/faceless-explainer.md +0 -12
- package/dist/skills/hyperframes/references/routes/general-video.md +0 -12
- package/dist/skills/hyperframes/references/routes/motion-graphics.md +0 -11
- package/dist/skills/hyperframes/references/routes/music-to-video.md +0 -12
- package/dist/skills/hyperframes/references/routes/pr-to-video.md +0 -28
- package/dist/skills/hyperframes/references/routes/product-launch-video.md +0 -13
- package/dist/skills/hyperframes/references/routes/remotion-to-hyperframes.md +0 -9
- package/dist/skills/hyperframes/references/routes/slideshow.md +0 -11
- package/dist/skills/hyperframes/references/routes/talking-head-recut.md +0 -11
- package/dist/skills/hyperframes/references/script-format.md +0 -52
- package/dist/skills/hyperframes/references/subagent-dispatch.md +0 -35
- package/dist/skills/hyperframes/references/workflow-catalog.md +0 -10
- package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +0 -176
- package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +0 -28
- package/dist/skills/media-use/audio/scripts/lib/host-audio.test.mjs +0 -106
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
EncoderInterruptedError,
|
|
9
9
|
encoderFailureError,
|
|
10
10
|
prepareAnimatedGifInputs
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZKBW7NU2.js";
|
|
12
12
|
import {
|
|
13
13
|
GENERIC_FAMILIES,
|
|
14
14
|
collectFontFamilyCustomProperties,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
iterateFontFamilyDeclarations,
|
|
17
17
|
normalizeSystemFontPrimaryFamilies,
|
|
18
18
|
resolveFontFamilyDeclarationFamilies
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LLFQA7XF.js";
|
|
20
20
|
import {
|
|
21
21
|
parseEncoderOptions
|
|
22
22
|
} from "./chunk-KLIKCX6Q.js";
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
validateEngineConfigSnapshot,
|
|
155
155
|
verifyDiskDrawElementSamples,
|
|
156
156
|
writeCapturedFrame
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-7M7TMM4S.js";
|
|
158
158
|
import {
|
|
159
159
|
DISTRIBUTED_FPS,
|
|
160
160
|
HF_VFX_ATTR,
|
|
@@ -169,7 +169,7 @@ import {
|
|
|
169
169
|
parseVfxChain,
|
|
170
170
|
resolveAuthoredTimingWindow,
|
|
171
171
|
toFps
|
|
172
|
-
} from "./chunk-
|
|
172
|
+
} from "./chunk-RNZEQTWZ.js";
|
|
173
173
|
import {
|
|
174
174
|
assignBundledRuntimeCompositionIds,
|
|
175
175
|
buildVariablesByCompScript,
|
|
@@ -182,7 +182,7 @@ import {
|
|
|
182
182
|
isTemplateEntry,
|
|
183
183
|
parsesAsScript,
|
|
184
184
|
prepareFlattenedInnerRoot
|
|
185
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-BRTDLVK3.js";
|
|
186
186
|
import {
|
|
187
187
|
COMPOSITION_SOURCE_URL,
|
|
188
188
|
HF_COLOR_GRADING_ATTR,
|
|
@@ -210,7 +210,7 @@ import {
|
|
|
210
210
|
shouldClampResolvedMediaDuration,
|
|
211
211
|
sourceTimeAt,
|
|
212
212
|
styleElementsFor
|
|
213
|
-
} from "./chunk-
|
|
213
|
+
} from "./chunk-UOZX5W5T.js";
|
|
214
214
|
import {
|
|
215
215
|
MAX_AUDIO_GAIN
|
|
216
216
|
} from "./chunk-UJKQWGFF.js";
|
|
@@ -224,7 +224,7 @@ import {
|
|
|
224
224
|
isAspectAgnosticResolutionAlias,
|
|
225
225
|
normalizeResolutionFlag,
|
|
226
226
|
suggestMatchingPreset
|
|
227
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-B2A56S5C.js";
|
|
228
228
|
import {
|
|
229
229
|
TRANSITIONS,
|
|
230
230
|
convertTransfer,
|
|
@@ -240,7 +240,7 @@ import {
|
|
|
240
240
|
import {
|
|
241
241
|
lintHyperframeHtml,
|
|
242
242
|
resolveReferencedStart
|
|
243
|
-
} from "./chunk-
|
|
243
|
+
} from "./chunk-Q447CX26.js";
|
|
244
244
|
import {
|
|
245
245
|
isUnresolvedAssetPlaceholder,
|
|
246
246
|
readProjectFile,
|
|
@@ -5694,7 +5694,10 @@ function stripCompilerMountBootstrap(source) {
|
|
|
5694
5694
|
""
|
|
5695
5695
|
);
|
|
5696
5696
|
}
|
|
5697
|
-
function
|
|
5697
|
+
function runtimeRoot(document2) {
|
|
5698
|
+
return document2.querySelector('[data-composition-id][data-root="true"]') ?? document2.querySelector("[data-composition-id]");
|
|
5699
|
+
}
|
|
5700
|
+
function detectRenderModeHints(html, pageMotionBlur) {
|
|
5698
5701
|
const reasons = [];
|
|
5699
5702
|
const { document: document2 } = parseHTML(html);
|
|
5700
5703
|
if (document2.querySelector("canvas[layoutsubtree]")) {
|
|
@@ -5702,6 +5705,11 @@ function detectRenderModeHints(html) {
|
|
|
5702
5705
|
code: "htmlInCanvas",
|
|
5703
5706
|
message: "Detected html-in-canvas API (layoutsubtree canvas). Chrome does not support concurrent drawElementImage across multiple workers; render is pinned to a single worker."
|
|
5704
5707
|
});
|
|
5708
|
+
} else if (pageMotionBlur !== "off" && runtimeRoot(document2)?.getAttribute("data-motion-blur") === "on") {
|
|
5709
|
+
reasons.push({
|
|
5710
|
+
code: "captureMotionBlur",
|
|
5711
|
+
message: 'Detected capture motion blur (data-motion-blur="on"), which draws each frame with html-in-canvas; routed through screenshot capture mode.'
|
|
5712
|
+
});
|
|
5705
5713
|
}
|
|
5706
5714
|
if (document2.querySelector("iframe")) {
|
|
5707
5715
|
reasons.push({
|
|
@@ -6604,7 +6612,7 @@ async function readLocalFont(absPath) {
|
|
|
6604
6612
|
return { kind: "inline", buffer: Buffer.concat(chunks, totalBytes) };
|
|
6605
6613
|
}
|
|
6606
6614
|
async function embedLocalFontFaces(html, projectDir) {
|
|
6607
|
-
const { fontToDataUri: toDataUri } = await import("./deterministicFonts-
|
|
6615
|
+
const { fontToDataUri: toDataUri } = await import("./deterministicFonts-EGAAE7QL.js");
|
|
6608
6616
|
const styleBlockRe = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
|
|
6609
6617
|
const fontFaceRe = /@font-face\s*\{([^}]*)\}/gi;
|
|
6610
6618
|
let result = html;
|
|
@@ -6733,7 +6741,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
6733
6741
|
/(<(?:video|audio)\b[^>]*?)\s+preload\s*=\s*["']none["']/gi,
|
|
6734
6742
|
"$1"
|
|
6735
6743
|
);
|
|
6736
|
-
const renderModeHints = detectRenderModeHints(sanitizedHtml);
|
|
6744
|
+
const renderModeHints = detectRenderModeHints(sanitizedHtml, options.pageMotionBlur);
|
|
6737
6745
|
const hasShaderTransitions = detectShaderTransitionUsage(sanitizedHtml);
|
|
6738
6746
|
const usesThreeDTransforms = detectThreeDTransformUsage(sanitizedHtml);
|
|
6739
6747
|
const usesMixBlendMode = detectMixBlendModeUsage(sanitizedHtml);
|
|
@@ -7218,6 +7226,7 @@ async function runCompileStage(input) {
|
|
|
7218
7226
|
abortSignal,
|
|
7219
7227
|
variables: input.variables,
|
|
7220
7228
|
urlByAbsentLocalPath: input.urlByAbsentLocalPath,
|
|
7229
|
+
pageMotionBlur: input.pageMotionBlur,
|
|
7221
7230
|
animatedGifCacheDir: cfg.extractCacheDir ? join13(cfg.extractCacheDir, "animated-gif") : void 0,
|
|
7222
7231
|
ffmpegProcessTimeout: cfg.ffmpegProcessTimeout
|
|
7223
7232
|
});
|
|
@@ -7501,6 +7510,7 @@ async function runProbeStage(input) {
|
|
|
7501
7510
|
variables: job.config.variables,
|
|
7502
7511
|
deviceScaleFactor,
|
|
7503
7512
|
motionBlur,
|
|
7513
|
+
pageMotionBlur: job.config.pageMotionBlur,
|
|
7504
7514
|
requiresWebGpu: compositionRequiresWebGpu(compiled.html),
|
|
7505
7515
|
subTimelineWaitMemo
|
|
7506
7516
|
};
|
|
@@ -10357,7 +10367,6 @@ async function enforceAacTruePeak(input) {
|
|
|
10357
10367
|
try {
|
|
10358
10368
|
scratchDir = mkdtempSync3(join24(dirname8(input.audioPath), ".true-peak-"));
|
|
10359
10369
|
const correctedPath = join24(scratchDir, "audio.m4a");
|
|
10360
|
-
const correctionTargetDbfs = AAC_DELIVERY_TRUE_PEAK_DBFS - AAC_TRUE_PEAK_CORRECTION_HEADROOM_DB;
|
|
10361
10370
|
const measurements = [];
|
|
10362
10371
|
let attenuationDb = 0;
|
|
10363
10372
|
let measuredPath = input.audioPath;
|
|
@@ -10375,7 +10384,8 @@ async function enforceAacTruePeak(input) {
|
|
|
10375
10384
|
return { success: true, loweredDb: Number((-attenuationDb).toFixed(2)) };
|
|
10376
10385
|
}
|
|
10377
10386
|
if (pass === MAX_TRUE_PEAK_CORRECTION_PASSES) break;
|
|
10378
|
-
|
|
10387
|
+
const headroomDb = AAC_TRUE_PEAK_CORRECTION_HEADROOM_DB * 2 ** pass;
|
|
10388
|
+
attenuationDb += AAC_DELIVERY_TRUE_PEAK_DBFS - headroomDb - truePeakDbfs;
|
|
10379
10389
|
const result = await input.encode(
|
|
10380
10390
|
input.audioPath,
|
|
10381
10391
|
correctedPath,
|
|
@@ -10670,6 +10680,10 @@ function assertMotionBlurSupported(motionBlur, route) {
|
|
|
10670
10680
|
`[MotionBlur] sub-frame motion blur is not supported on the "${route}" capture route: ${reason}`
|
|
10671
10681
|
);
|
|
10672
10682
|
}
|
|
10683
|
+
function pageMotionBlurForRoute(route) {
|
|
10684
|
+
if (route.hasHdrContent) return "hdr-render";
|
|
10685
|
+
return route.useLayeredComposite ? "layered-composite" : void 0;
|
|
10686
|
+
}
|
|
10673
10687
|
|
|
10674
10688
|
// ../producer/src/services/render/outputScaleRoute.ts
|
|
10675
10689
|
var UNSUPPORTED_REASON2 = {
|
|
@@ -11744,7 +11758,8 @@ async function executeRenderPipeline(input) {
|
|
|
11744
11758
|
needsAlpha,
|
|
11745
11759
|
log,
|
|
11746
11760
|
assertNotAborted,
|
|
11747
|
-
variables: job.config.variables
|
|
11761
|
+
variables: job.config.variables,
|
|
11762
|
+
pageMotionBlur: job.config.pageMotionBlur
|
|
11748
11763
|
})
|
|
11749
11764
|
);
|
|
11750
11765
|
let compiled = compileResult.compiled;
|
|
@@ -12048,14 +12063,17 @@ async function executeRenderPipeline(input) {
|
|
|
12048
12063
|
variables: job.config.variables,
|
|
12049
12064
|
deviceScaleFactor,
|
|
12050
12065
|
motionBlur: job.config.motionBlur,
|
|
12066
|
+
pageMotionBlur: job.config.pageMotionBlur,
|
|
12051
12067
|
...videoCaptureBeyondViewport !== void 0 ? { captureBeyondViewport: videoCaptureBeyondViewport } : {}
|
|
12052
12068
|
};
|
|
12053
12069
|
resolvedCaptureBeyondViewport = captureOptions.captureBeyondViewport ?? resolvedCaptureBeyondViewport;
|
|
12054
12070
|
if (resolvedCaptureBeyondViewport !== void 0) {
|
|
12055
12071
|
updateCaptureObservability({ captureBeyondViewport: resolvedCaptureBeyondViewport });
|
|
12056
12072
|
}
|
|
12073
|
+
let routePageMotionBlur;
|
|
12057
12074
|
const buildCaptureOptions = () => ({
|
|
12058
12075
|
...captureOptions,
|
|
12076
|
+
...routePageMotionBlur ? { pageMotionBlur: routePageMotionBlur } : {},
|
|
12059
12077
|
videoMetadataHints,
|
|
12060
12078
|
skipReadinessVideoIds: videoReadinessSkipIds,
|
|
12061
12079
|
subTimelineWaitMemo,
|
|
@@ -12089,6 +12107,7 @@ async function executeRenderPipeline(input) {
|
|
|
12089
12107
|
const nativeHdrIds = /* @__PURE__ */ new Set([...nativeHdrVideoIds, ...nativeHdrImageIds]);
|
|
12090
12108
|
const hasHdrContent = Boolean(effectiveHdr && nativeHdrIds.size > 0);
|
|
12091
12109
|
if (hasHdrContent) assertOutputScaleSupported(deviceScaleFactor, "hdr_layered");
|
|
12110
|
+
routePageMotionBlur = pageMotionBlurForRoute({ hasHdrContent, useLayeredComposite: false });
|
|
12092
12111
|
const deSingleMinFramesRaw = process.env.HF_DE_SINGLE_MIN_FRAMES;
|
|
12093
12112
|
const deSingleMinFramesNum = deSingleMinFramesRaw === void 0 || deSingleMinFramesRaw.trim() === "" ? 900 : Number(deSingleMinFramesRaw);
|
|
12094
12113
|
const deSingleMinFrames = Number.isFinite(deSingleMinFramesNum) ? deSingleMinFramesNum : 900;
|
|
@@ -12491,6 +12510,7 @@ async function executeRenderPipeline(input) {
|
|
|
12491
12510
|
hasShaderTransitions: compiled.hasShaderTransitions && !isGif,
|
|
12492
12511
|
isPngSequence
|
|
12493
12512
|
});
|
|
12513
|
+
routePageMotionBlur = pageMotionBlurForRoute({ hasHdrContent, useLayeredComposite });
|
|
12494
12514
|
const inversionFallback = resolveInversionRetryPlan({
|
|
12495
12515
|
deWorkerInversion,
|
|
12496
12516
|
preInversionWorkerCount: preRoutingWorkerCount,
|
|
@@ -13642,7 +13662,8 @@ function buildSyntheticRenderJob(input) {
|
|
|
13642
13662
|
hdrMode: input.hdrMode,
|
|
13643
13663
|
strictness: input.strictness,
|
|
13644
13664
|
producerConfig: input.producerConfig,
|
|
13645
|
-
variables: input.variables
|
|
13665
|
+
variables: input.variables,
|
|
13666
|
+
pageMotionBlur: "off"
|
|
13646
13667
|
};
|
|
13647
13668
|
return createRenderJob(renderConfig);
|
|
13648
13669
|
}
|
|
@@ -13687,7 +13708,14 @@ var RenderChunkValidationError = class extends Error {
|
|
|
13687
13708
|
}
|
|
13688
13709
|
};
|
|
13689
13710
|
function createChunkVideoFrameInjectorFactory(frameLookup) {
|
|
13690
|
-
return () => createVideoFrameInjector(frameLookup);
|
|
13711
|
+
if (!(frameLookup instanceof Promise)) return () => createVideoFrameInjector(frameLookup);
|
|
13712
|
+
return () => {
|
|
13713
|
+
let hook;
|
|
13714
|
+
return async (page, time, heldVideoTime) => {
|
|
13715
|
+
hook ??= createVideoFrameInjector(await frameLookup);
|
|
13716
|
+
await hook?.(page, time, heldVideoTime);
|
|
13717
|
+
};
|
|
13718
|
+
};
|
|
13691
13719
|
}
|
|
13692
13720
|
function frameNumberFromFileName(name) {
|
|
13693
13721
|
const match = /(\d+)(?=\.[^.]+$)/.exec(name);
|
|
@@ -13759,6 +13787,7 @@ function buildChunkCaptureOptions(input) {
|
|
|
13759
13787
|
skipReadinessVideoIds: input.skipReadinessVideoIds,
|
|
13760
13788
|
videoMetadataHints: input.videoMetadataHints,
|
|
13761
13789
|
...videoCaptureBeyondViewport !== void 0 ? { captureBeyondViewport: videoCaptureBeyondViewport } : {},
|
|
13790
|
+
pageMotionBlur: "distributed-render",
|
|
13762
13791
|
// A fixed warmup count keeps `beginFrameTimeTicks` host-independent.
|
|
13763
13792
|
lockWarmupTicks: true,
|
|
13764
13793
|
requiresWebGpu: compositionRequiresWebGpu(input.html)
|
|
@@ -15420,7 +15449,8 @@ async function compilePlanComposition(projectDir, config, planDir, options) {
|
|
|
15420
15449
|
// Distributed renders must not capture host-specific system fonts —
|
|
15421
15450
|
// the Lambda/worker filesystem won't have the same fonts installed.
|
|
15422
15451
|
allowSystemFontCapture: false,
|
|
15423
|
-
variables: config.variables
|
|
15452
|
+
variables: config.variables,
|
|
15453
|
+
pageMotionBlur: job.config.pageMotionBlur
|
|
15424
15454
|
});
|
|
15425
15455
|
logPlanStage(log, "compile", stageStarted);
|
|
15426
15456
|
let compiled = compileResult.compiled;
|
|
@@ -15463,7 +15493,7 @@ async function compilePlanComposition(projectDir, config, planDir, options) {
|
|
|
15463
15493
|
if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
|
|
15464
15494
|
if (probeResult.probeSession) {
|
|
15465
15495
|
try {
|
|
15466
|
-
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-
|
|
15496
|
+
const { closeCaptureSession: closeCaptureSession2 } = await import("./src-DCVSEODX.js");
|
|
15467
15497
|
await closeCaptureSession2(probeResult.probeSession);
|
|
15468
15498
|
} catch (err) {
|
|
15469
15499
|
log.warn("[plan] probe session close failed", {
|
|
@@ -16131,6 +16161,7 @@ function assertRequestOptionScalars(options) {
|
|
|
16131
16161
|
}
|
|
16132
16162
|
assertOptionalEnum(options, "strictness", ["strict", "best-effort"]);
|
|
16133
16163
|
assertOptionalEnum(options, "hdrMode", ["auto", "force-hdr", "force-sdr"]);
|
|
16164
|
+
assertOptionalEnum(options, "pageMotionBlur", ["off"]);
|
|
16134
16165
|
if (options.videoFrameFormat !== void 0 && !isVideoFrameFormat(options.videoFrameFormat)) {
|
|
16135
16166
|
throw new Error("Render request videoFrameFormat is invalid");
|
|
16136
16167
|
}
|
|
@@ -16678,9 +16709,6 @@ function validateOutputResolutionOverride(body) {
|
|
|
16678
16709
|
if (body.outputResolution.trim().length > 0 && normalized === void 0) {
|
|
16679
16710
|
return `Invalid outputResolution "${body.outputResolution}". Must be one of: landscape, portrait, landscape-4k, portrait-4k, square, square-4k (aliases: 1080p, 4k, \u2026).`;
|
|
16680
16711
|
}
|
|
16681
|
-
if (normalized !== void 0 && (body.format === "webm" || body.format === "mov")) {
|
|
16682
|
-
return `outputResolution is not supported with format "${body.format}": the alpha (webm/mov) capture path can't supersample. Use format "mp4", or omit outputResolution to render at the composition's native dimensions.`;
|
|
16683
|
-
}
|
|
16684
16712
|
return void 0;
|
|
16685
16713
|
}
|
|
16686
16714
|
function prepareProjectDirectory(projectDir, options) {
|
|
@@ -17126,7 +17154,7 @@ function startServer(options = {}) {
|
|
|
17126
17154
|
});
|
|
17127
17155
|
async function shutdown(signal) {
|
|
17128
17156
|
log.info(`Received ${signal}, shutting down`);
|
|
17129
|
-
const { drainBrowserPool } = await import("./src-
|
|
17157
|
+
const { drainBrowserPool } = await import("./src-DCVSEODX.js");
|
|
17130
17158
|
await drainBrowserPool().catch(() => {
|
|
17131
17159
|
});
|
|
17132
17160
|
const handle = await Promise.race([
|
|
@@ -18626,6 +18654,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18626
18654
|
const captureAttempts = [];
|
|
18627
18655
|
let forceScreenshotForChunk = encoder.forceScreenshot;
|
|
18628
18656
|
let shownBoxes;
|
|
18657
|
+
let extraction;
|
|
18629
18658
|
try {
|
|
18630
18659
|
if (chunkWorkerCount === 1 || !forceScreenshotForChunk) {
|
|
18631
18660
|
const bootStarted = Date.now();
|
|
@@ -18682,7 +18711,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18682
18711
|
session = null;
|
|
18683
18712
|
}
|
|
18684
18713
|
}
|
|
18685
|
-
const deferredVideoFrames = planVideos ?
|
|
18714
|
+
const deferredVideoFrames = planVideos ? extractDeferredVideoFramesForChunk({
|
|
18686
18715
|
planDir,
|
|
18687
18716
|
planVideos,
|
|
18688
18717
|
frames: chunkFrameNumbers,
|
|
@@ -18691,19 +18720,24 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18691
18720
|
cfg,
|
|
18692
18721
|
remoteSources,
|
|
18693
18722
|
shownBoxes
|
|
18694
|
-
}) : [];
|
|
18695
|
-
|
|
18696
|
-
|
|
18697
|
-
|
|
18698
|
-
|
|
18699
|
-
|
|
18700
|
-
|
|
18701
|
-
|
|
18702
|
-
|
|
18703
|
-
|
|
18704
|
-
|
|
18705
|
-
|
|
18723
|
+
}) : Promise.resolve([]);
|
|
18724
|
+
extraction = deferredVideoFrames;
|
|
18725
|
+
const videoFrameLookup = planVideos && planVideos.extracted.length > 0 ? deferredVideoFrames.then(
|
|
18726
|
+
(deferred) => createFrameLookupTable(
|
|
18727
|
+
planVideos.videos,
|
|
18728
|
+
[
|
|
18729
|
+
...rebuildExtractedFramesFromPlanDir(
|
|
18730
|
+
planDir,
|
|
18731
|
+
planVideos.extracted.filter((video) => !video.deferredRange),
|
|
18732
|
+
v2Manifest === null ? "dense-v1" : "sparse-v2"
|
|
18733
|
+
),
|
|
18734
|
+
...deferred
|
|
18735
|
+
],
|
|
18736
|
+
resolveRenderFpsConfig(job.config.fps).value
|
|
18737
|
+
)
|
|
18706
18738
|
) : null;
|
|
18739
|
+
videoFrameLookup?.catch(() => {
|
|
18740
|
+
});
|
|
18707
18741
|
const createChunkVideoFrameInjector = createChunkVideoFrameInjectorFactory(videoFrameLookup);
|
|
18708
18742
|
const captureStarted = Date.now();
|
|
18709
18743
|
captureMode = await runCaptureWithScreenshotFallback({
|
|
@@ -18786,7 +18820,11 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18786
18820
|
}
|
|
18787
18821
|
);
|
|
18788
18822
|
}
|
|
18823
|
+
}).catch(async (captureError) => {
|
|
18824
|
+
await deferredVideoFrames;
|
|
18825
|
+
throw captureError;
|
|
18789
18826
|
});
|
|
18827
|
+
await deferredVideoFrames;
|
|
18790
18828
|
captureStageMs = Date.now() - captureStarted;
|
|
18791
18829
|
applyRenderWarningPolicy(
|
|
18792
18830
|
job,
|
|
@@ -18865,6 +18903,8 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath, options) {
|
|
|
18865
18903
|
}
|
|
18866
18904
|
encodeStageMs = Date.now() - encodeStarted;
|
|
18867
18905
|
} finally {
|
|
18906
|
+
await extraction?.catch(() => {
|
|
18907
|
+
});
|
|
18868
18908
|
if (session) {
|
|
18869
18909
|
try {
|
|
18870
18910
|
await closeCaptureSession(session);
|
|
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
parseFeedbackRating,
|
|
9
9
|
trackRenderFeedback
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-77QM6YRQ.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6IOBAOU7.js";
|
|
14
14
|
import {
|
|
15
15
|
c
|
|
16
16
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -84,7 +84,7 @@ async function getDoctorSummary() {
|
|
|
84
84
|
try {
|
|
85
85
|
const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
|
|
86
86
|
import("./system-7F3UEHQT.js"),
|
|
87
|
-
import("./ffmpeg-
|
|
87
|
+
import("./ffmpeg-MP7ZVYLZ.js")
|
|
88
88
|
]);
|
|
89
89
|
const sys = getSystemMeta();
|
|
90
90
|
const parts = [
|
|
@@ -5728,6 +5728,12 @@ function ancestor(node, visitors, baseVisitor, state, override) {
|
|
|
5728
5728
|
}
|
|
5729
5729
|
})(node, state, override);
|
|
5730
5730
|
}
|
|
5731
|
+
function recursive(node, state, funcs, baseVisitor, override) {
|
|
5732
|
+
var visitor = funcs ? make(funcs, baseVisitor || void 0) : baseVisitor;
|
|
5733
|
+
(function c(node2, st, override2) {
|
|
5734
|
+
visitor[override2 || node2.type](node2, st, c);
|
|
5735
|
+
})(node, state, override);
|
|
5736
|
+
}
|
|
5731
5737
|
function full(node, callback, baseVisitor, state, override) {
|
|
5732
5738
|
if (!baseVisitor) {
|
|
5733
5739
|
baseVisitor = base;
|
|
@@ -5742,6 +5748,13 @@ function full(node, callback, baseVisitor, state, override) {
|
|
|
5742
5748
|
}
|
|
5743
5749
|
})(node, state, override);
|
|
5744
5750
|
}
|
|
5751
|
+
function make(funcs, baseVisitor) {
|
|
5752
|
+
var visitor = Object.create(baseVisitor || base);
|
|
5753
|
+
for (var type in funcs) {
|
|
5754
|
+
visitor[type] = funcs[type];
|
|
5755
|
+
}
|
|
5756
|
+
return visitor;
|
|
5757
|
+
}
|
|
5745
5758
|
function skipThrough(node, st, c) {
|
|
5746
5759
|
c(node, st);
|
|
5747
5760
|
}
|
|
@@ -6058,5 +6071,7 @@ export {
|
|
|
6058
6071
|
parseExpressionAt2 as parseExpressionAt,
|
|
6059
6072
|
simple,
|
|
6060
6073
|
ancestor,
|
|
6061
|
-
|
|
6074
|
+
recursive,
|
|
6075
|
+
full,
|
|
6076
|
+
base
|
|
6062
6077
|
};
|
|
@@ -8,20 +8,20 @@ import {
|
|
|
8
8
|
DEFAULT_REGISTRY_URL,
|
|
9
9
|
fetchItemFile,
|
|
10
10
|
validRegistryItem
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YRAJDFIN.js";
|
|
12
12
|
import {
|
|
13
13
|
publishRegistryFile,
|
|
14
14
|
registryTargetPath
|
|
15
15
|
} from "./chunk-GMECXFAN.js";
|
|
16
16
|
import {
|
|
17
17
|
validateVariables
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-RNZEQTWZ.js";
|
|
19
19
|
import {
|
|
20
20
|
realProjectRoot
|
|
21
21
|
} from "./chunk-OFQWTKPW.js";
|
|
22
22
|
import {
|
|
23
23
|
isCompositionVariable
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-RUOG4VB7.js";
|
|
25
25
|
|
|
26
26
|
// src/registry/installer.ts
|
|
27
27
|
import { createHash } from "crypto";
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
resolveProject
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HZ7M2MZA.js";
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_HISTORY_ROOT,
|
|
12
12
|
HistoryBusyError,
|
|
@@ -21,7 +21,15 @@ import {
|
|
|
21
21
|
|
|
22
22
|
// src/utils/historyOwner.ts
|
|
23
23
|
import { randomUUID } from "crypto";
|
|
24
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
accessSync,
|
|
26
|
+
constants,
|
|
27
|
+
mkdirSync,
|
|
28
|
+
readFileSync,
|
|
29
|
+
renameSync,
|
|
30
|
+
rmSync,
|
|
31
|
+
writeFileSync
|
|
32
|
+
} from "fs";
|
|
25
33
|
import { dirname, join, resolve } from "path";
|
|
26
34
|
var historyDeps = {
|
|
27
35
|
historyRoot: resolve(process.env.HYPERFRAMES_HISTORY_ROOT || DEFAULT_HISTORY_ROOT),
|
|
@@ -183,11 +191,47 @@ async function withOwner(dir, task, { ownerWaitMs } = {}) {
|
|
|
183
191
|
}
|
|
184
192
|
}
|
|
185
193
|
}
|
|
194
|
+
var CANNOT_WRITE = /* @__PURE__ */ new Set(["ENOSPC", "EDQUOT", "EACCES", "EPERM", "EROFS"]);
|
|
195
|
+
var WRITE_CALLS = /* @__PURE__ */ new Set([
|
|
196
|
+
"mkdir",
|
|
197
|
+
"write",
|
|
198
|
+
"rename",
|
|
199
|
+
"unlink",
|
|
200
|
+
"link",
|
|
201
|
+
"copyfile",
|
|
202
|
+
"rmdir",
|
|
203
|
+
"symlink",
|
|
204
|
+
"utime",
|
|
205
|
+
"ftruncate",
|
|
206
|
+
"fsync"
|
|
207
|
+
]);
|
|
208
|
+
function openedForWriting(path) {
|
|
209
|
+
try {
|
|
210
|
+
accessSync(path, constants.R_OK);
|
|
211
|
+
return true;
|
|
212
|
+
} catch (error) {
|
|
213
|
+
return error.code === "ENOENT";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function failedWrite(error) {
|
|
217
|
+
const { code = "", syscall = "", path } = error;
|
|
218
|
+
if (!CANNOT_WRITE.has(code)) return false;
|
|
219
|
+
return WRITE_CALLS.has(syscall) || syscall === "open" && path !== void 0 && openedForWriting(path);
|
|
220
|
+
}
|
|
186
221
|
async function withReader(dir, task) {
|
|
222
|
+
let ran = false;
|
|
187
223
|
try {
|
|
188
|
-
return await withOwner(dir, (owner) =>
|
|
224
|
+
return await withOwner(dir, (owner) => {
|
|
225
|
+
ran = true;
|
|
226
|
+
return task(owner);
|
|
227
|
+
});
|
|
189
228
|
} catch (error) {
|
|
190
|
-
|
|
229
|
+
const unwritable = failedWrite(error);
|
|
230
|
+
if (ran || !(error instanceof HistoryBusyError || unwritable)) throw error;
|
|
231
|
+
if (unwritable)
|
|
232
|
+
console.error(
|
|
233
|
+
`[hyperframes] Could not write this project's history (${error.message}); showing it as last recorded.`
|
|
234
|
+
);
|
|
191
235
|
}
|
|
192
236
|
const view = readProjectHistory({
|
|
193
237
|
projectDir: resolveProject(dir).dir,
|
|
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
RegistryCompatibilityError,
|
|
9
9
|
gateRegistryItemsCompatibility
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4AFNEKU7.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-RPUIMFHF.js";
|
|
18
18
|
import {
|
|
19
19
|
resolveItemWithDependencies,
|
|
20
20
|
resolveItemsByTag
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-Y2M6XSNK.js";
|
|
22
22
|
import {
|
|
23
23
|
InvalidVariableValuesError,
|
|
24
24
|
prepareItem,
|
|
25
25
|
publishItem
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ID5AJ4L3.js";
|
|
27
27
|
import {
|
|
28
28
|
DEFAULT_REGISTRY_URL
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-YRAJDFIN.js";
|
|
30
30
|
import {
|
|
31
31
|
trackRegistryItemAdded
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-77QM6YRQ.js";
|
|
33
33
|
import {
|
|
34
34
|
defineCommand
|
|
35
35
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "./chunk-ZTZA4UWZ.js";
|
|
42
42
|
import {
|
|
43
43
|
ITEM_TYPE_DIRS
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-RNZEQTWZ.js";
|
|
45
45
|
import {
|
|
46
46
|
isProjectRootMissing,
|
|
47
47
|
realpath
|
|
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
|
|
8
8
|
// src/version.ts
|
|
9
|
-
var VERSION = true ? "0.8.
|
|
10
|
-
var PRODUCER_VERSION = true ? "0.8.
|
|
9
|
+
var VERSION = true ? "0.8.186" : "0.0.0-dev";
|
|
10
|
+
var PRODUCER_VERSION = true ? "0.8.186" : "0.0.0-dev";
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
13
|
VERSION,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
|
|
8
|
+
// src/timeline/domStructure.ts
|
|
9
|
+
function toDomNode(el) {
|
|
10
|
+
const attrs = {};
|
|
11
|
+
for (const { name, value } of Array.from(el.attributes)) attrs[name] = value;
|
|
12
|
+
return { tag: el.tagName, attrs, children: Array.from(el.children).map(toDomNode), el };
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
toDomNode
|
|
17
|
+
};
|
|
@@ -36,14 +36,15 @@ function normalizeUploadHeaders(raw) {
|
|
|
36
36
|
}
|
|
37
37
|
return out;
|
|
38
38
|
}
|
|
39
|
-
async function putBytesToPresignedUrl(fetchImpl, uploadUrl, uploadHeaders, body, contentType) {
|
|
39
|
+
async function putBytesToPresignedUrl(fetchImpl, uploadUrl, uploadHeaders, body, contentType, signal) {
|
|
40
40
|
const headers = {
|
|
41
41
|
"content-type": contentType,
|
|
42
42
|
...normalizeUploadHeaders(uploadHeaders)
|
|
43
43
|
};
|
|
44
|
-
if (!(body instanceof Uint8Array)) return putFileToPresignedUrl(uploadUrl, headers, body);
|
|
44
|
+
if (!(body instanceof Uint8Array)) return putFileToPresignedUrl(uploadUrl, headers, body, signal);
|
|
45
45
|
const res = await fetchImpl(uploadUrl, {
|
|
46
46
|
method: "PUT",
|
|
47
|
+
signal,
|
|
47
48
|
headers,
|
|
48
49
|
body
|
|
49
50
|
});
|
|
@@ -54,10 +55,11 @@ async function putBytesToPresignedUrl(fetchImpl, uploadUrl, uploadHeaders, body,
|
|
|
54
55
|
);
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
async function putFileToPresignedUrl(uploadUrl, headers, file) {
|
|
58
|
+
async function putFileToPresignedUrl(uploadUrl, headers, file, signal) {
|
|
58
59
|
const send = new URL(uploadUrl).protocol === "https:" ? httpsRequest : httpRequest;
|
|
59
60
|
const req = send(uploadUrl, {
|
|
60
61
|
method: "PUT",
|
|
62
|
+
signal,
|
|
61
63
|
headers: { ...headers, "content-length": String(file.size) }
|
|
62
64
|
});
|
|
63
65
|
const response = new Promise((resolve, reject) => {
|
|
@@ -121,7 +123,8 @@ async function uploadAssetViaDirectUpload(opts) {
|
|
|
121
123
|
initialize.upload_url,
|
|
122
124
|
initialize.upload_headers,
|
|
123
125
|
body,
|
|
124
|
-
opts.contentType
|
|
126
|
+
opts.contentType,
|
|
127
|
+
opts.signal
|
|
125
128
|
);
|
|
126
129
|
opts.onProgress?.({ phase: "upload", percent: 100 });
|
|
127
130
|
opts.onProgress?.({ phase: "complete" });
|