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
|
@@ -16,49 +16,49 @@ import {
|
|
|
16
16
|
preResolveHostileMediaProxies,
|
|
17
17
|
runBrowserCheck,
|
|
18
18
|
samplingBrowserCount
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-2II34JPM.js";
|
|
20
|
+
import "./chunk-22QKQDEE.js";
|
|
21
21
|
import "./chunk-KANNRHY7.js";
|
|
22
22
|
import "./chunk-X7MTZ4T2.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-5ZMXGNGC.js";
|
|
24
|
+
import "./chunk-HZ7M2MZA.js";
|
|
25
|
+
import "./chunk-ZVBEGBII.js";
|
|
26
|
+
import "./chunk-R6IGQ5NO.js";
|
|
27
27
|
import "./chunk-X7MTZ4T2.js";
|
|
28
28
|
import "./chunk-XUHOIDKG.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-2PZZMAME.js";
|
|
30
|
+
import "./chunk-WHMFW5ET.js";
|
|
31
31
|
import "./chunk-6JR2XUEE.js";
|
|
32
32
|
import "./chunk-TTVHYD5R.js";
|
|
33
33
|
import "./chunk-U6RXZNZE.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-5ZMIVTHN.js";
|
|
35
35
|
import "./chunk-ALVXFXUG.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-U4BMRIE6.js";
|
|
37
37
|
import "./chunk-FH7WODJH.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-UAJCTEK2.js";
|
|
39
39
|
import "./chunk-MOEGCMKI.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-7AUMTARQ.js";
|
|
41
41
|
import "./chunk-DKPNNYBZ.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-DTXDQ6OP.js";
|
|
43
43
|
import "./chunk-K2FLNJVB.js";
|
|
44
44
|
import "./chunk-442JNXRM.js";
|
|
45
45
|
import "./chunk-EHSBBBR2.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-RVZNSKRH.js";
|
|
47
|
+
import "./chunk-RPUIMFHF.js";
|
|
48
48
|
import "./chunk-XT7X6QCP.js";
|
|
49
49
|
import "./chunk-4YYJOFKS.js";
|
|
50
50
|
import "./chunk-HVW7ABXD.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-Y2M6XSNK.js";
|
|
52
52
|
import "./chunk-JHOCK3DG.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-ID5AJ4L3.js";
|
|
54
|
+
import "./chunk-YRAJDFIN.js";
|
|
55
55
|
import "./chunk-AWDFDFI3.js";
|
|
56
56
|
import "./chunk-P6LJ4Y32.js";
|
|
57
57
|
import "./chunk-GMECXFAN.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-7L37AB57.js";
|
|
59
59
|
import "./chunk-EOVYQ3IG.js";
|
|
60
|
-
import "./chunk-
|
|
61
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-77QM6YRQ.js";
|
|
61
|
+
import "./chunk-6IOBAOU7.js";
|
|
62
62
|
import "./chunk-VWG7OQKU.js";
|
|
63
63
|
import "./chunk-S3S4TGEH.js";
|
|
64
64
|
import "./chunk-54HJ63Q2.js";
|
|
@@ -67,15 +67,15 @@ import "./chunk-ZTZA4UWZ.js";
|
|
|
67
67
|
import "./chunk-KLIKCX6Q.js";
|
|
68
68
|
import "./chunk-EVMY7IPL.js";
|
|
69
69
|
import "./chunk-7FMUTGOH.js";
|
|
70
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-7M7TMM4S.js";
|
|
71
71
|
import "./chunk-IZCW2NKT.js";
|
|
72
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-RNZEQTWZ.js";
|
|
73
73
|
import "./chunk-RQVDTPGD.js";
|
|
74
|
-
import "./chunk-
|
|
75
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-BRTDLVK3.js";
|
|
75
|
+
import "./chunk-UOZX5W5T.js";
|
|
76
76
|
import "./chunk-VC76R6W2.js";
|
|
77
77
|
import "./chunk-UJKQWGFF.js";
|
|
78
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-B2A56S5C.js";
|
|
79
79
|
import "./chunk-OFQWTKPW.js";
|
|
80
80
|
import "./chunk-DPVXBVLL.js";
|
|
81
81
|
import "./chunk-3GXQPCJC.js";
|
|
@@ -84,22 +84,22 @@ import "./chunk-FXMKHHPO.js";
|
|
|
84
84
|
import "./chunk-T6AGUTZJ.js";
|
|
85
85
|
import "./chunk-XT6MXC7A.js";
|
|
86
86
|
import "./chunk-4UMPIPCQ.js";
|
|
87
|
-
import "./chunk-
|
|
87
|
+
import "./chunk-Q447CX26.js";
|
|
88
88
|
import "./chunk-VAS6HQX3.js";
|
|
89
89
|
import "./chunk-6BNTGNGD.js";
|
|
90
|
-
import "./chunk-
|
|
90
|
+
import "./chunk-RUOG4VB7.js";
|
|
91
91
|
import "./chunk-MMQ52NIZ.js";
|
|
92
92
|
import "./chunk-BSQ7XANM.js";
|
|
93
93
|
import "./chunk-SDYDNHEE.js";
|
|
94
94
|
import "./chunk-IXLUTE6N.js";
|
|
95
|
-
import "./chunk-
|
|
95
|
+
import "./chunk-I5JRXMCV.js";
|
|
96
96
|
import "./chunk-W2LGJSEN.js";
|
|
97
|
-
import "./chunk-
|
|
97
|
+
import "./chunk-FRLTKTOR.js";
|
|
98
98
|
import "./chunk-K4WIOZFP.js";
|
|
99
99
|
import "./chunk-XUXGIA7H.js";
|
|
100
100
|
import "./chunk-WERLJGIC.js";
|
|
101
101
|
import "./chunk-ISN5GRYI.js";
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-LDW3KVGK.js";
|
|
103
103
|
import "./chunk-KNU5COPB.js";
|
|
104
104
|
import "./chunk-KGPLIH7B.js";
|
|
105
105
|
import "./chunk-M2WBOQ2Q.js";
|
|
@@ -6,23 +6,23 @@ 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
|
installPageFunctionGuard,
|
|
12
12
|
resolveCliChromeGpuMode,
|
|
13
13
|
seekCompositionTimeline,
|
|
14
14
|
waitForRuntimeReady
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-U4BMRIE6.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCompositionViewportFromHtml
|
|
18
18
|
} from "./chunk-FH7WODJH.js";
|
|
19
19
|
import {
|
|
20
20
|
launchManagedBrowser,
|
|
21
21
|
resolveManagedGpuMode
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-UAJCTEK2.js";
|
|
23
23
|
import {
|
|
24
24
|
pageNavigationTimeoutMs
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-7AUMTARQ.js";
|
|
26
26
|
import {
|
|
27
27
|
defineCommand
|
|
28
28
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
import {
|
|
40
40
|
printDeprecationNotice,
|
|
41
41
|
withMeta
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-FRLTKTOR.js";
|
|
43
43
|
import {
|
|
44
44
|
normalizeErrorMessage
|
|
45
45
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -227,7 +227,7 @@ function extractCompositionErrorsFromLint(lintResult) {
|
|
|
227
227
|
async function localizeRemoteAssets(html) {
|
|
228
228
|
let dir;
|
|
229
229
|
try {
|
|
230
|
-
const { loadProducer } = await import("./producer-
|
|
230
|
+
const { loadProducer } = await import("./producer-TSNKSCUM.js");
|
|
231
231
|
const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
|
|
232
232
|
dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
|
|
233
233
|
const assetDir = dir;
|
|
@@ -248,10 +248,10 @@ async function localizeRemoteAssets(html) {
|
|
|
248
248
|
}
|
|
249
249
|
async function validateInBrowser(project, opts) {
|
|
250
250
|
const projectDir = project.dir;
|
|
251
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
251
|
+
const { bundleToSingleHtml } = await import("./compiler-2EKSMC3I.js");
|
|
252
252
|
const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
|
|
253
|
-
const { serveStaticProjectHtml } = await import("./staticProjectServer-
|
|
254
|
-
const { lintProject } = await import("./lintProject-
|
|
253
|
+
const { serveStaticProjectHtml } = await import("./staticProjectServer-4IE4G4JO.js");
|
|
254
|
+
const { lintProject } = await import("./lintProject-JATQKR64.js");
|
|
255
255
|
const lintResult = await lintProject(projectDir);
|
|
256
256
|
const compositionErrors = extractCompositionErrorsFromLint(lintResult);
|
|
257
257
|
const html = await bundleToSingleHtml(projectDir);
|
|
@@ -272,9 +272,9 @@ async function validateInBrowser(project, opts) {
|
|
|
272
272
|
try {
|
|
273
273
|
const browser = await ensureBrowser();
|
|
274
274
|
const puppeteer = await import("puppeteer-core");
|
|
275
|
-
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-
|
|
275
|
+
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-DCVSEODX.js");
|
|
276
276
|
const requestedGpuMode = resolveCliChromeGpuMode();
|
|
277
|
-
const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-
|
|
277
|
+
const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-NSNVDFXC.js");
|
|
278
278
|
const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
|
|
279
279
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
280
280
|
const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
updateNoticesSuppressed
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FRLTKTOR.js";
|
|
10
10
|
import {
|
|
11
11
|
hostAnswers
|
|
12
12
|
} from "./chunk-K4WIOZFP.js";
|
|
@@ -56,16 +56,36 @@ function isCoreSkill(name) {
|
|
|
56
56
|
}
|
|
57
57
|
var FALLBACK_CORE_SKILLS = [
|
|
58
58
|
"hyperframes",
|
|
59
|
+
"hyperframes-cli",
|
|
60
|
+
"hyperframes-registry",
|
|
61
|
+
"media-use"
|
|
62
|
+
];
|
|
63
|
+
var RETIRED_DOMAIN_SKILLS = [
|
|
59
64
|
"hyperframes-animation",
|
|
60
65
|
"hyperframes-audio",
|
|
61
|
-
"hyperframes-cli",
|
|
62
66
|
"hyperframes-core",
|
|
63
67
|
"hyperframes-creative",
|
|
64
68
|
"hyperframes-keyframes",
|
|
65
|
-
"hyperframes-
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
"hyperframes-studio"
|
|
70
|
+
];
|
|
71
|
+
var RETIRED_WORKFLOW_SKILLS = [
|
|
72
|
+
"embedded-captions",
|
|
73
|
+
"faceless-explainer",
|
|
74
|
+
"general-video",
|
|
75
|
+
"motion-graphics",
|
|
76
|
+
"music-to-video",
|
|
77
|
+
"pr-to-video",
|
|
78
|
+
"product-launch-video",
|
|
79
|
+
"talking-head-recut"
|
|
68
80
|
];
|
|
81
|
+
var RETIRED_SKILLS = [
|
|
82
|
+
...RETIRED_DOMAIN_SKILLS,
|
|
83
|
+
...RETIRED_WORKFLOW_SKILLS
|
|
84
|
+
];
|
|
85
|
+
function retiredSkillNotice(name) {
|
|
86
|
+
const home = name === "hyperframes-audio" ? "the /media-use skill (references/mixing.md)" : "the /hyperframes skill and its references (film, captions, overlays, motion, look, format)";
|
|
87
|
+
return `${name} was retired; its knowledge now lives in ${home}, which \`skills update\` keeps current.`;
|
|
88
|
+
}
|
|
69
89
|
var RUNTIME_DIRS = /* @__PURE__ */ new Set([
|
|
70
90
|
"__pycache__",
|
|
71
91
|
".pytest_cache",
|
|
@@ -258,7 +278,12 @@ function manifestCoversSkill(entry) {
|
|
|
258
278
|
}
|
|
259
279
|
function detectRemoved(root, latest, opts) {
|
|
260
280
|
const lock = readSkillLock(lockPathForScope(root.scope, opts));
|
|
261
|
-
const
|
|
281
|
+
const attributed = skillsAttributedToSource(lock, latest.source);
|
|
282
|
+
const dropped = attributed.filter((name) => manifestCoversSkill(lock?.skills?.[name]));
|
|
283
|
+
const retired = RETIRED_SKILLS.filter(
|
|
284
|
+
(name) => attributed.includes(name) || RETIRED_DOMAIN_SKILLS.includes(name) && existsSync(join(root.dir, name, "SKILL.md"))
|
|
285
|
+
);
|
|
286
|
+
const removed = [.../* @__PURE__ */ new Set([...dropped, ...retired])].filter((name) => !(name in latest.skills)).sort().map((name) => ({ name, status: "removed" }));
|
|
262
287
|
return { removed, lockMissing: lock === null };
|
|
263
288
|
}
|
|
264
289
|
function pruneOrphanedLockEntries(names, scope, opts = {}) {
|
|
@@ -435,6 +460,8 @@ function printSkillsUpdateNotice() {
|
|
|
435
460
|
export {
|
|
436
461
|
isCoreSkill,
|
|
437
462
|
FALLBACK_CORE_SKILLS,
|
|
463
|
+
RETIRED_SKILLS,
|
|
464
|
+
retiredSkillNotice,
|
|
438
465
|
presentSkills,
|
|
439
466
|
SKILLS_CLI_LOCK_PATHS_VERIFIED_AT,
|
|
440
467
|
hyperframesSkillNames,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
auditClipDurations,
|
|
9
9
|
shouldIgnoreHttpError,
|
|
10
10
|
shouldIgnoreRequestFailure
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-22QKQDEE.js";
|
|
12
12
|
import {
|
|
13
13
|
checkSnapshotDirectory,
|
|
14
14
|
rectToBbox
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
ambiguousIssue,
|
|
18
18
|
loadBrowserScript
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5ZMXGNGC.js";
|
|
20
20
|
import {
|
|
21
21
|
serveStaticProjectHtml
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ZVBEGBII.js";
|
|
23
23
|
import {
|
|
24
24
|
FfmpegUnavailableError,
|
|
25
25
|
decideMediaProxyEligibility,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
proxyVariantFor,
|
|
28
28
|
resolveProxies,
|
|
29
29
|
scanProjectMediaCodecMap
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5ZMIVTHN.js";
|
|
31
31
|
import {
|
|
32
32
|
AUDIT_SEEK_OPTIONS,
|
|
33
33
|
DEFAULT_ZOOM_PADDING_PX,
|
|
@@ -41,18 +41,97 @@ import {
|
|
|
41
41
|
seekCompositionTimeline,
|
|
42
42
|
seekInPage,
|
|
43
43
|
waitForPreferredSeekTarget
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-U4BMRIE6.js";
|
|
45
45
|
import {
|
|
46
46
|
BrowserCleanupError,
|
|
47
47
|
closeManagedBrowser
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-UAJCTEK2.js";
|
|
49
49
|
import {
|
|
50
50
|
resolveAutoProxy
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-RPUIMFHF.js";
|
|
52
52
|
import {
|
|
53
53
|
normalizeErrorMessage
|
|
54
54
|
} from "./chunk-KNU5COPB.js";
|
|
55
55
|
|
|
56
|
+
// src/utils/checkMotionBlur.ts
|
|
57
|
+
var OFF_HINTS = {
|
|
58
|
+
"accelerated-canvas": "html-in-canvas captures WebGL/WebGPU frozen, in sub-compositions too: render that effect separately or flatten it out of the page, or drop data-motion-blur on this composition",
|
|
59
|
+
"backface-visibility": "backface-visibility: hidden inside a 3D transform is drawn mirrored; avoid the 3D flip or drop motion blur",
|
|
60
|
+
"iframe-in-root": "move the <iframe>, <object>, <embed> or custom element out of the composition root (each is re-initialised when blur wraps the root), or drop motion blur",
|
|
61
|
+
"root-transform": "animate a child element instead of the composition root, or drop motion blur",
|
|
62
|
+
"root-opacity": "animate a child element instead of the composition root, or drop motion blur",
|
|
63
|
+
"root-blend-mode": "set mix-blend-mode on a child element instead of the composition root, or drop motion blur",
|
|
64
|
+
"nested-capture-canvas": "remove the inner <canvas layoutsubtree> / content=drawable, or drop motion blur"
|
|
65
|
+
};
|
|
66
|
+
var GENERIC_OFF_HINT = "remove what the reason names, or drop data-motion-blur";
|
|
67
|
+
var ASKED = 'data-motion-blur="on" is set but';
|
|
68
|
+
function motionBlurDrafts(probe) {
|
|
69
|
+
if (!probe) return [];
|
|
70
|
+
if (probe.reasonCode === "unsupported-browser") {
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
code: "motion_blur_unverified",
|
|
74
|
+
severity: "info",
|
|
75
|
+
message: `${ASKED} blur could not be evaluated in this browser`,
|
|
76
|
+
fixHint: "the check browser has no html-in-canvas (drawElementImage); render once to see whether blur applies",
|
|
77
|
+
time: 0
|
|
78
|
+
}
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
if (probe.state === "off") {
|
|
82
|
+
return [
|
|
83
|
+
{
|
|
84
|
+
code: "motion_blur_off",
|
|
85
|
+
severity: "warning",
|
|
86
|
+
message: `${ASKED} blur is off: ${probe.reason ?? "unknown reason"}`,
|
|
87
|
+
fixHint: OFF_HINTS[probe.reasonCode ?? ""] ?? GENERIC_OFF_HINT,
|
|
88
|
+
time: 0
|
|
89
|
+
}
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
if (probe.movers === 0) {
|
|
93
|
+
return [
|
|
94
|
+
{
|
|
95
|
+
code: "motion_blur_no_movers",
|
|
96
|
+
severity: "info",
|
|
97
|
+
message: `${ASKED} nothing in the composition moves fast enough to blur, so it has no effect`,
|
|
98
|
+
fixHint: "animate an element's transform or position by 2+ px per frame, or drop data-motion-blur",
|
|
99
|
+
time: 0
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
function readMotionBlurProbe() {
|
|
106
|
+
const api = Reflect.get(window, "__hfMotionBlur");
|
|
107
|
+
if (typeof api !== "object" || api === null) return null;
|
|
108
|
+
const probe = Reflect.get(api, "probe");
|
|
109
|
+
if (typeof probe !== "function") return null;
|
|
110
|
+
const report = Reflect.apply(probe, api, []);
|
|
111
|
+
if (typeof report !== "object" || report === null) return null;
|
|
112
|
+
const reason = Reflect.get(report, "reason");
|
|
113
|
+
const code = Reflect.get(report, "reasonCode");
|
|
114
|
+
const movers = Reflect.get(report, "movers");
|
|
115
|
+
const suspend = Reflect.get(api, "suspend");
|
|
116
|
+
if (typeof suspend === "function") Reflect.apply(suspend, api, []);
|
|
117
|
+
return {
|
|
118
|
+
state: Reflect.get(report, "state") === "off" ? "off" : "on",
|
|
119
|
+
reason: typeof reason === "string" ? reason : null,
|
|
120
|
+
reasonCode: typeof code === "string" ? code : null,
|
|
121
|
+
movers: typeof movers === "number" ? movers : 0
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
async function collectMotionBlurDrafts(page) {
|
|
125
|
+
const probe = await page.evaluate(readMotionBlurProbe).catch(() => null);
|
|
126
|
+
return motionBlurDrafts(probe);
|
|
127
|
+
}
|
|
128
|
+
function dropMotionBlurConsoleEcho(drafts, found) {
|
|
129
|
+
if (found.length === 0) return drafts;
|
|
130
|
+
return drafts.filter(
|
|
131
|
+
(d) => !(d.code === "console_warning" && d.message.startsWith("[motion-blur] off:"))
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
|
|
56
135
|
// src/utils/checkBrowser.ts
|
|
57
136
|
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
58
137
|
import os from "os";
|
|
@@ -240,13 +319,15 @@ function proxyFailedDraft(message) {
|
|
|
240
319
|
return { code: "media_proxy_failed", severity: "warning", message, time: 0 };
|
|
241
320
|
}
|
|
242
321
|
async function runBrowserCheck(project, options, motion, runGrid, deadline, prelaunched) {
|
|
243
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
322
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-TT32MZBO.js");
|
|
244
323
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
324
|
+
deadline?.enter("copies");
|
|
245
325
|
const { findings: drafts, failedPaths } = await preResolveHostileMediaProxies(
|
|
246
326
|
project.dir,
|
|
247
327
|
html,
|
|
248
328
|
options.autoProxy
|
|
249
329
|
);
|
|
330
|
+
deadline?.enter("launch");
|
|
250
331
|
const server = await serveStaticProjectHtml(
|
|
251
332
|
project.dir,
|
|
252
333
|
html,
|
|
@@ -277,14 +358,15 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
277
358
|
beforeNavigate: async (page2) => {
|
|
278
359
|
wireRuntimeListeners(page2, drafts, clock);
|
|
279
360
|
await deadline?.preparePage(page2);
|
|
280
|
-
}
|
|
361
|
+
},
|
|
362
|
+
onLoaded: () => deadline?.enter("settle")
|
|
281
363
|
});
|
|
282
364
|
chromeBrowser = session.browser;
|
|
283
365
|
const page = session.page;
|
|
284
366
|
await waitForPreferredSeekTarget(page);
|
|
285
367
|
const rootAnchor = await resolveRootAnchor(page);
|
|
286
368
|
const launchSettleMs = Date.now() - launchSettleStart;
|
|
287
|
-
const { analyzeClipMediaFit } = await import("./src-
|
|
369
|
+
const { analyzeClipMediaFit } = await import("./src-DCVSEODX.js");
|
|
288
370
|
for (const entry of await auditClipDurations(page, analyzeClipMediaFit, options.timeout)) {
|
|
289
371
|
drafts.push({ code: "clip_media_fit", severity: entry.level, message: entry.text, time: 0 });
|
|
290
372
|
}
|
|
@@ -292,9 +374,11 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
292
374
|
const message = tweenTailMessage(tail);
|
|
293
375
|
drafts.push({ code: "gsap_tween_tail", severity: "warning", message, time: tail.later.end });
|
|
294
376
|
}
|
|
377
|
+
const blur = await collectMotionBlurDrafts(page);
|
|
378
|
+
drafts.push(...blur);
|
|
295
379
|
const sampleLog = sampleWindow(drafts);
|
|
296
380
|
const driver = createPageDriver(page, clock, sampleLog);
|
|
297
|
-
const result = await runGrid(driver, options, motion, helpers);
|
|
381
|
+
const result = await runGrid(driver, options, motion, helpers, deadline?.enter);
|
|
298
382
|
helperSession?.stop();
|
|
299
383
|
const helper = await helperOpen?.catch(() => void 0);
|
|
300
384
|
const merged = helper ? mergeHelperDrafts(sampleLog, helper.sampleLog) : drafts;
|
|
@@ -303,7 +387,7 @@ async function runBrowserCheck(project, options, motion, runGrid, deadline, prel
|
|
|
303
387
|
...result,
|
|
304
388
|
timings: { ...result.timings, launchSettleMs },
|
|
305
389
|
runtimeFindings: dropFailedProxyEchoes(
|
|
306
|
-
keepBrokenImageAborts(merged, broken),
|
|
390
|
+
dropMotionBlurConsoleEcho(keepBrokenImageAborts(merged, broken), blur),
|
|
307
391
|
failedPaths
|
|
308
392
|
).map((draft) => runtimeFinding(draft, rootAnchor))
|
|
309
393
|
};
|
|
@@ -391,7 +475,7 @@ function mergeHelperDrafts(primary, helper) {
|
|
|
391
475
|
}
|
|
392
476
|
async function captureFindingCrops(project, options, requests, deadline) {
|
|
393
477
|
if (requests.length === 0) return [];
|
|
394
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
478
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-TT32MZBO.js");
|
|
395
479
|
const html = await bundleWithLocalizedFonts(project.dir);
|
|
396
480
|
const server = await serveStaticProjectHtml(
|
|
397
481
|
project.dir,
|
|
@@ -665,9 +749,54 @@ function createPageDriver(page, clock = createRuntimeClock(), sampleLog) {
|
|
|
665
749
|
collectGeometryCandidates: (time, request) => collectGeometryCandidates(page, time, request),
|
|
666
750
|
collectMotionFrame: (time, selectors, scopes) => collectMotionFrame(page, time, selectors, scopes),
|
|
667
751
|
anchorMotionIssues: (issues) => anchorLayoutIssues(page, issues),
|
|
668
|
-
collectContrast: (time, annotations) => collectContrast(page, time, annotations)
|
|
752
|
+
collectContrast: (time, annotations) => collectContrast(page, time, annotations),
|
|
753
|
+
collectCraftFrame: (time) => collectCraftFrame(page, time),
|
|
754
|
+
collectCraftFilm: () => collectCraftFilm(page)
|
|
669
755
|
};
|
|
670
756
|
}
|
|
757
|
+
async function collectCraftFrame(page, time) {
|
|
758
|
+
const raw = await page.evaluate(() => {
|
|
759
|
+
const sample = Reflect.get(window, "__hyperframesCraftSample");
|
|
760
|
+
return typeof sample === "function" ? Reflect.apply(sample, window, []) : null;
|
|
761
|
+
});
|
|
762
|
+
const record = isRecord(raw) ? raw : {};
|
|
763
|
+
const parts = Reflect.get(record, "parts");
|
|
764
|
+
return {
|
|
765
|
+
time,
|
|
766
|
+
parts: Array.isArray(parts) ? parts.flatMap(parseCraftTextPart) : [],
|
|
767
|
+
held: booleanValue(record, "held") ?? false,
|
|
768
|
+
painted: booleanValue(record, "painted") ?? true,
|
|
769
|
+
signature: stringValue(record, "signature") ?? ""
|
|
770
|
+
};
|
|
771
|
+
}
|
|
772
|
+
async function collectCraftFilm(page) {
|
|
773
|
+
const raw = await page.evaluate(() => {
|
|
774
|
+
const film = Reflect.get(window, "__hyperframesCraftFilm");
|
|
775
|
+
return typeof film === "function" ? Reflect.apply(film, window, []) : null;
|
|
776
|
+
});
|
|
777
|
+
return { soundSources: (isRecord(raw) ? numberValue(raw, "soundSources") : null) ?? 0 };
|
|
778
|
+
}
|
|
779
|
+
var CRAFT_PART_NUMBERS = ["key", "block", "opacity", "fontPx"];
|
|
780
|
+
var CRAFT_PART_STRINGS = ["selector", "blockSelector", "sourceFile", "text"];
|
|
781
|
+
var CRAFT_RECT_NUMBERS = ["left", "top", "width", "height"];
|
|
782
|
+
function parseCraftTextPart(value) {
|
|
783
|
+
if (!isRecord(value)) return [];
|
|
784
|
+
const nums = requiredNumbers(value, CRAFT_PART_NUMBERS);
|
|
785
|
+
const strings = requiredStrings(value, CRAFT_PART_STRINGS);
|
|
786
|
+
const rect = recordField(value, "rect");
|
|
787
|
+
const box = rect ? requiredNumbers(rect, CRAFT_RECT_NUMBERS) : null;
|
|
788
|
+
const captions = booleanValue(value, "captions");
|
|
789
|
+
return nums && strings && box && captions !== null ? [{ ...nums, ...strings, rect: box, captions }] : [];
|
|
790
|
+
}
|
|
791
|
+
function requiredStrings(value, keys) {
|
|
792
|
+
const out = {};
|
|
793
|
+
for (const key of keys) {
|
|
794
|
+
const entry = stringValue(value, key);
|
|
795
|
+
if (entry === null) return null;
|
|
796
|
+
out[key] = entry;
|
|
797
|
+
}
|
|
798
|
+
return out;
|
|
799
|
+
}
|
|
671
800
|
async function hasNoTimelineDeclaration(page) {
|
|
672
801
|
return page.evaluate(
|
|
673
802
|
() => document.querySelector("[data-composition-id]")?.hasAttribute("data-no-timeline") ?? false
|
|
@@ -1068,17 +1197,20 @@ function anchorsInPage(values) {
|
|
|
1068
1197
|
});
|
|
1069
1198
|
}
|
|
1070
1199
|
async function resolveRootAnchor(page) {
|
|
1200
|
+
const selector = await page.evaluate(
|
|
1201
|
+
(explicit) => document.querySelector(explicit) ? explicit : "[data-composition-id]",
|
|
1202
|
+
'[data-composition-id][data-root="true"]'
|
|
1203
|
+
);
|
|
1071
1204
|
const anchors = await resolveAnchors(page, [
|
|
1072
|
-
{ selector
|
|
1205
|
+
{ selector, time: 0, bbox: await compositionBbox(page, selector) }
|
|
1073
1206
|
]);
|
|
1074
1207
|
return anchors[0] ?? fallbackAnchor(void 0);
|
|
1075
1208
|
}
|
|
1076
|
-
async function compositionBbox(page) {
|
|
1077
|
-
return page.evaluate(() => {
|
|
1078
|
-
const
|
|
1079
|
-
const rect = element?.getBoundingClientRect();
|
|
1209
|
+
async function compositionBbox(page, selector) {
|
|
1210
|
+
return page.evaluate((root) => {
|
|
1211
|
+
const rect = document.querySelector(root)?.getBoundingClientRect();
|
|
1080
1212
|
return rect ? { x: rect.x, y: rect.y, width: rect.width, height: rect.height } : { x: 0, y: 0, width: 0, height: 0 };
|
|
1081
|
-
});
|
|
1213
|
+
}, selector);
|
|
1082
1214
|
}
|
|
1083
1215
|
async function collectContrast(page, time, snapshotAnnotations) {
|
|
1084
1216
|
let prepared = [];
|
|
@@ -1409,7 +1541,8 @@ function runtimeFinding(draft, root) {
|
|
|
1409
1541
|
time: draft.time,
|
|
1410
1542
|
...draft.timeRange ? { timeRange: draft.timeRange } : {},
|
|
1411
1543
|
url: draft.url,
|
|
1412
|
-
line: draft.line
|
|
1544
|
+
line: draft.line,
|
|
1545
|
+
...draft.fixHint ? { fixHint: draft.fixHint } : {}
|
|
1413
1546
|
};
|
|
1414
1547
|
}
|
|
1415
1548
|
function fallbackAnchor(request) {
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
splitElementInHtml,
|
|
20
20
|
unwrapElementsFromHtml,
|
|
21
21
|
wrapElementsInHtml
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-WHMFW5ET.js";
|
|
23
23
|
import {
|
|
24
24
|
MEDIA_LINK_ATTR,
|
|
25
25
|
relinkSplitHalves
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
scanProjectMediaCodecMap,
|
|
69
69
|
shouldPrewarmProxy,
|
|
70
70
|
waitForProxy
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-5ZMIVTHN.js";
|
|
72
72
|
import {
|
|
73
73
|
STUDIO_MOTION_PATH,
|
|
74
74
|
createStudioMotionRenderBodyScript,
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
import {
|
|
84
84
|
findTimelineScript,
|
|
85
85
|
parseGsapScriptAcorn
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-7L37AB57.js";
|
|
87
87
|
import {
|
|
88
88
|
atomicTempPath,
|
|
89
89
|
createFileAtomically,
|
|
@@ -109,12 +109,12 @@ import {
|
|
|
109
109
|
motionPathPluginUrl,
|
|
110
110
|
parseFps,
|
|
111
111
|
parsePreviewProxyBox
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-RNZEQTWZ.js";
|
|
113
113
|
import {
|
|
114
114
|
addScenePartsManifest,
|
|
115
115
|
ensureHfIds,
|
|
116
116
|
stampHfIdsInPlace
|
|
117
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-BRTDLVK3.js";
|
|
118
118
|
import {
|
|
119
119
|
AFTER_FONTS_SCRIPT_TYPE,
|
|
120
120
|
RUNTIME_BOOTSTRAP_ATTR,
|
|
@@ -128,7 +128,7 @@ import {
|
|
|
128
128
|
resolveRateSpec,
|
|
129
129
|
sourceTimeAt,
|
|
130
130
|
stripEmbeddedRuntimeScripts
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-UOZX5W5T.js";
|
|
132
132
|
import {
|
|
133
133
|
HTML_ATTRIBUTE_ENTITIES,
|
|
134
134
|
MagicString,
|
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
decodeAuthoredAttribute,
|
|
137
137
|
scanHtmlOpeningTags,
|
|
138
138
|
unrollComputedTimeline
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-B2A56S5C.js";
|
|
140
140
|
import {
|
|
141
141
|
ProjectRootMissingError,
|
|
142
142
|
folderGone,
|
|
@@ -174,7 +174,7 @@ import {
|
|
|
174
174
|
full,
|
|
175
175
|
parse,
|
|
176
176
|
simple
|
|
177
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-I5JRXMCV.js";
|
|
178
178
|
|
|
179
179
|
// ../studio-server/dist/chunk-FJBJJURY.js
|
|
180
180
|
import { createHash } from "crypto";
|
|
@@ -5499,7 +5499,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
|
|
|
5499
5499
|
let block = extractGsapScriptBlock(html);
|
|
5500
5500
|
if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
|
|
5501
5501
|
const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
|
|
5502
|
-
const { GSAP_CDN } = await import("./dist-
|
|
5502
|
+
const { GSAP_CDN } = await import("./dist-F6FOKRSU.js");
|
|
5503
5503
|
const bootstrap = [
|
|
5504
5504
|
`<script src="${GSAP_CDN}"></script>`,
|
|
5505
5505
|
"<script>",
|
|
@@ -8025,7 +8025,8 @@ function registerRenderRoutes(api, adapter) {
|
|
|
8025
8025
|
...encoder.options,
|
|
8026
8026
|
useGpu: body.gpu === true && format === "mp4",
|
|
8027
8027
|
distinctId: typeof body.telemetryDistinctId === "string" ? body.telemetryDistinctId : void 0,
|
|
8028
|
-
telemetryOptOut: body.telemetryOptOut === true
|
|
8028
|
+
telemetryOptOut: body.telemetryOptOut === true,
|
|
8029
|
+
...body.previewMotionBlur === false ? { pageMotionBlur: "off" } : {}
|
|
8029
8030
|
});
|
|
8030
8031
|
jobState.createdAt = Date.now();
|
|
8031
8032
|
renderJobs.set(jobId, jobState);
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
stoppedByCancelSignal
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T4RP55P2.js";
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_MODEL,
|
|
12
12
|
ensureModel,
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
hasFFmpeg,
|
|
15
15
|
pinnedWhisperModel,
|
|
16
16
|
sha256File
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ROWEDRVX.js";
|
|
18
18
|
import {
|
|
19
19
|
findFFmpeg,
|
|
20
20
|
findFFprobe,
|
|
21
21
|
getFFmpegInstallHint
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-4XFFJAWS.js";
|
|
23
23
|
import {
|
|
24
24
|
findWavChunk
|
|
25
25
|
} from "./chunk-UOFAE5RF.js";
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
VALID_CANVAS_RESOLUTIONS,
|
|
9
9
|
resolveResolutionFlagPair
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-B2A56S5C.js";
|
|
11
11
|
|
|
12
12
|
// src/utils/parseOutputResolution.ts
|
|
13
13
|
function parseOutputResolutionFlag(raw, options) {
|