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.
Files changed (314) hide show
  1. package/dist/{add-5ZTD3MUZ.js → add-UGK7AZI6.js} +14 -14
  2. package/dist/{agentPromptGenerator-VIIPZCJ3.js → agentPromptGenerator-KYO5MKTW.js} +1 -1
  3. package/dist/{animatedGifPrep-AGASIWVA.js → animatedGifPrep-HPZPSB43.js} +9 -9
  4. package/dist/api.js +18 -18
  5. package/dist/{asset-LSTEMPIB.js → asset-X2GTFWOY.js} +2 -2
  6. package/dist/{assetCataloger-BKBMNL3A.js → assetCataloger-5NWEG4IU.js} +9 -9
  7. package/dist/audio-7PBM5F3H.js +2317 -0
  8. package/dist/{auth-MJWKYK77.js → auth-WABSMO46.js} +1 -1
  9. package/dist/{autoUpdate-2GGDKYR2.js → autoUpdate-6SCMLTSC.js} +2 -2
  10. package/dist/{backgroundChecks-7GRX5VQY.js → backgroundChecks-XOGPAAR3.js} +3 -3
  11. package/dist/backgroundChecksWorker.js +3 -3
  12. package/dist/{batchRender-BCV2LELR.js → batchRender-VR6IA77K.js} +5 -5
  13. package/dist/{beats-7BCFRBAL.js → beats-3IWXLMSC.js} +7 -7
  14. package/dist/{benchmark-2R6CN5MQ.js → benchmark-2SSYATCX.js} +10 -10
  15. package/dist/{browser-6AFGOI7G.js → browser-PMRN345D.js} +3 -3
  16. package/dist/{bundleWithLocalizedFonts-2EGPA5ZO.js → bundleWithLocalizedFonts-TT32MZBO.js} +2 -2
  17. package/dist/{capture-HOIAW6MO.js → capture-4VD6AKUJ.js} +13 -13
  18. package/dist/{capture-HA2UHLIU.js → capture-BDGYTE57.js} +2 -2
  19. package/dist/{captureCompositionFrame-4236FVWJ.js → captureCompositionFrame-5FVLAETA.js} +17 -13
  20. package/dist/{catalog-A6CZAWW4.js → catalog-HUYZO5D7.js} +14 -14
  21. package/dist/{catch-up-TNA4DJOA.js → catch-up-SSGTR2ZT.js} +4 -4
  22. package/dist/{check-5E5U2EQZ.js → check-JWUWHGM2.js} +34 -34
  23. package/dist/{checkBrowser-FNINXBMZ.js → checkBrowser-X7G6YNR7.js} +31 -31
  24. package/dist/{chunk-UJKUB2LH.js → chunk-22QKQDEE.js} +11 -11
  25. package/dist/{chunk-2PVE4WS2.js → chunk-27H2363S.js} +33 -6
  26. package/dist/{chunk-2ULXZ4PG.js → chunk-2II34JPM.js} +154 -21
  27. package/dist/{chunk-3QVMJ7GX.js → chunk-2PZZMAME.js} +11 -10
  28. package/dist/{chunk-X3CG5YQA.js → chunk-3YHGQJI6.js} +3 -3
  29. package/dist/{chunk-EEP5Y5IE.js → chunk-46HEFGXJ.js} +1 -1
  30. package/dist/{chunk-DWUGKEHR.js → chunk-4AFNEKU7.js} +1 -1
  31. package/dist/{chunk-R2BFTECP.js → chunk-4NTW45W5.js} +3 -3
  32. package/dist/{chunk-7HJALUIO.js → chunk-4XFFJAWS.js} +1 -1
  33. package/dist/{chunk-SN7KI5JA.js → chunk-5ZMIVTHN.js} +2 -2
  34. package/dist/{chunk-QL2PNIXC.js → chunk-5ZMXGNGC.js} +24 -16
  35. package/dist/{chunk-UKOTVJFV.js → chunk-6IOBAOU7.js} +1 -1
  36. package/dist/{chunk-JIUTXKWA.js → chunk-77QM6YRQ.js} +2 -1
  37. package/dist/{chunk-ES426XRJ.js → chunk-7AUMTARQ.js} +3 -3
  38. package/dist/{chunk-5CS4T6C6.js → chunk-7L37AB57.js} +1 -1
  39. package/dist/{chunk-RGXVEYHI.js → chunk-7M7TMM4S.js} +81 -10
  40. package/dist/{chunk-3TXNNBI2.js → chunk-7MLFYMFB.js} +2 -2
  41. package/dist/{chunk-MFAETWIF.js → chunk-7MVODWQF.js} +1 -1
  42. package/dist/{chunk-WHPN2TIT.js → chunk-ACLABKEF.js} +6 -6
  43. package/dist/{chunk-YMS5FOMC.js → chunk-B2A56S5C.js} +1 -1
  44. package/dist/{chunk-YALM6XN4.js → chunk-BRTDLVK3.js} +3 -3
  45. package/dist/{chunk-VDM3FEDP.js → chunk-DQZMJS2P.js} +1 -1
  46. package/dist/{chunk-PSKEKWVU.js → chunk-DTXDQ6OP.js} +1 -1
  47. package/dist/{chunk-Q33P4EAC.js → chunk-EZINX6HH.js} +3 -3
  48. package/dist/{chunk-3MDJIWOV.js → chunk-FCWFV4P7.js} +75 -35
  49. package/dist/{chunk-ABZYYUUH.js → chunk-FRLTKTOR.js} +1 -1
  50. package/dist/{chunk-E32ZQ2WO.js → chunk-GTMBII7X.js} +1 -1
  51. package/dist/{chunk-YOZPQCSR.js → chunk-HOFX63F2.js} +3 -3
  52. package/dist/{chunk-LRGYPXHF.js → chunk-HZ7M2MZA.js} +1 -1
  53. package/dist/{chunk-TYXH3EKP.js → chunk-I5JRXMCV.js} +16 -1
  54. package/dist/{chunk-LLC4CS6I.js → chunk-ID5AJ4L3.js} +3 -3
  55. package/dist/{chunk-FGJEUV4S.js → chunk-K6KBOORN.js} +48 -4
  56. package/dist/{chunk-EM7C7H7S.js → chunk-KNLSYCI5.js} +7 -7
  57. package/dist/{chunk-4N4P3ZWL.js → chunk-LDW3KVGK.js} +2 -2
  58. package/dist/{chunk-OLZENUPI.js → chunk-LLFQA7XF.js} +1 -1
  59. package/dist/chunk-LLMSX6V6.js +17 -0
  60. package/dist/{chunk-5UDRPPN2.js → chunk-MY6CVBDD.js} +7 -4
  61. package/dist/{chunk-7NRI7HYX.js → chunk-NPDPDEPP.js} +1 -1
  62. package/dist/{chunk-BCHSTE7U.js → chunk-PEIV2SOG.js} +1 -1
  63. package/dist/{chunk-ADDHW2FS.js → chunk-Q447CX26.js} +82 -12
  64. package/dist/{chunk-YWNJTZGN.js → chunk-R6IGQ5NO.js} +2 -2
  65. package/dist/{chunk-YWHCXIMD.js → chunk-RFJ6SX4U.js} +5 -5
  66. package/dist/{chunk-J3QM7AHP.js → chunk-RNZEQTWZ.js} +2 -2
  67. package/dist/{chunk-SAX7HQ5E.js → chunk-ROWEDRVX.js} +1 -1
  68. package/dist/{chunk-PFYWVUHA.js → chunk-RPUIMFHF.js} +1 -1
  69. package/dist/{chunk-OYLO6TYK.js → chunk-RUOG4VB7.js} +1 -1
  70. package/dist/{chunk-UNNXFKVG.js → chunk-RVZNSKRH.js} +2 -2
  71. package/dist/{chunk-VNVQGDPC.js → chunk-T4RP55P2.js} +1 -1
  72. package/dist/{chunk-GDEV42FA.js → chunk-TH7J3JZ5.js} +524 -42
  73. package/dist/{chunk-VHZ6DL3M.js → chunk-TMK4Q7JA.js} +10 -7
  74. package/dist/{chunk-74JMKLVU.js → chunk-TQ2RRB5V.js} +1 -1
  75. package/dist/{chunk-ICJEAFPD.js → chunk-U4BMRIE6.js} +16 -7
  76. package/dist/{chunk-HR23IKLZ.js → chunk-U7QTMRLW.js} +2 -2
  77. package/dist/{chunk-KN46TGHV.js → chunk-UAJCTEK2.js} +1 -1
  78. package/dist/{chunk-CXABAXB3.js → chunk-UJZT6HNN.js} +1 -1
  79. package/dist/chunk-UOZX5W5T.js +3852 -0
  80. package/dist/{chunk-FFJ5TDRD.js → chunk-VHBBV5DH.js} +10 -3
  81. package/dist/{chunk-ZRHO6YMM.js → chunk-WHMFW5ET.js} +4 -4
  82. package/dist/{chunk-WTFUDNW2.js → chunk-WLHNIIXU.js} +3 -3
  83. package/dist/{chunk-ZOCHDXDG.js → chunk-Y2M6XSNK.js} +1 -1
  84. package/dist/{chunk-2XA7KXQO.js → chunk-YNH6ERDL.js} +2 -2
  85. package/dist/{chunk-JB6ARMQS.js → chunk-YQICCAVA.js} +1 -1
  86. package/dist/{chunk-7MB2ZAQF.js → chunk-YRAJDFIN.js} +1 -1
  87. package/dist/{chunk-IWTNTUPQ.js → chunk-Z5233OAN.js} +11 -13
  88. package/dist/{chunk-TE427YID.js → chunk-ZKBW7NU2.js} +2 -2
  89. package/dist/{chunk-4KKKBEP3.js → chunk-ZVBEGBII.js} +3 -3
  90. package/dist/{clean-HGASSMWI.js → clean-IM2JIAUT.js} +18 -18
  91. package/dist/cli.js +53 -53
  92. package/dist/{cloud-JPDVNXHN.js → cloud-6IPBCJSX.js} +4 -4
  93. package/dist/{cloudrun-AMMGSDRP.js → cloudrun-MWZ6S2I2.js} +7 -7
  94. package/dist/commands/contrast-audit.browser.js +1 -2
  95. package/dist/commands/layout-audit.browser.js +196 -0
  96. package/dist/{compare-LHHVHUN3.js → compare-WD7A2TV5.js} +28 -28
  97. package/dist/{compiler-Q3N6QXMT.js → compiler-2EKSMC3I.js} +6 -6
  98. package/dist/{component-D72J32Q7.js → component-JKALWH36.js} +3 -3
  99. package/dist/{compositions-UQRJ5ROG.js → compositions-643NAG4A.js} +13 -13
  100. package/dist/{delete-P42VIDDA.js → delete-EASPXKHQ.js} +2 -2
  101. package/dist/{deploy-WZTH57O4.js → deploy-CDKCQ5MX.js} +1 -1
  102. package/dist/{deterministicFonts-VQ5UBMXY.js → deterministicFonts-EGAAE7QL.js} +3 -3
  103. package/dist/{dist-DYS24AMA.js → dist-F6FOKRSU.js} +10 -4
  104. package/dist/{dist-SENYPQGW.js → dist-LM7AVHOU.js} +3 -3
  105. package/dist/docs/data-attributes.md +1 -1
  106. package/dist/{doctor-KEJIG2SK.js → doctor-7XUVYDJQ.js} +13 -13
  107. package/dist/{events-CYKSNR7N.js → events-5TTPYBKG.js} +3 -3
  108. package/dist/{events-UZXFQPMT.js → events-TULV6D3G.js} +3 -3
  109. package/dist/{feedback-LXNQF7CA.js → feedback-4FTPWM6P.js} +8 -8
  110. package/dist/{ffmpeg-BYHON577.js → ffmpeg-MP7ZVYLZ.js} +9 -9
  111. package/dist/{figma-EIQ35PS6.js → figma-B7LFWYKO.js} +3 -3
  112. package/dist/fontLocalizeCli.js +12 -12
  113. package/dist/{get-CC2YL7QO.js → get-F7W4AQ2V.js} +2 -2
  114. package/dist/{gpuPolicy-VFSACUQV.js → gpuPolicy-NSNVDFXC.js} +9 -9
  115. package/dist/{grade-compare-TUQL7IV2.js → grade-compare-6QXDTLS2.js} +29 -29
  116. package/dist/{gsapParserAcorn-7NCK2LVT.js → gsapParserAcorn-SKODXC2N.js} +2 -2
  117. package/dist/{help-ROROO5K6.js → help-RJAA4O74.js} +1 -1
  118. package/dist/{history-PNELYLXX.js → history-OOQBDVV5.js} +6 -6
  119. package/dist/hyperframe.manifest.json +1 -1
  120. package/dist/hyperframe.runtime.iife.js +67 -67
  121. package/dist/hyperframes-player.global.js +1 -1
  122. package/dist/{info-4FZTH6AS.js → info-5OGGYYLO.js} +9 -9
  123. package/dist/{init-I43GHHVP.js → init-DM3TJKW2.js} +68 -50
  124. package/dist/{inspect-IT4TYIZ3.js → inspect-FECQCLS5.js} +29 -29
  125. package/dist/{installer-CWOJVK5K.js → installer-WOG4VORV.js} +7 -7
  126. package/dist/{keyframes-3FBOGVD4.js → keyframes-SZHWUF5Y.js} +7 -7
  127. package/dist/{lambda-H3V32I7M.js → lambda-JG2ZRGMC.js} +9 -9
  128. package/dist/{layout-BZ5LYJ5C.js → layout-7ACF7ZKC.js} +29 -29
  129. package/dist/{lint-ZTNSGP2S.js → lint-ZCQGMILV.js} +9 -9
  130. package/dist/{lintProject-C2ONSH2U.js → lintProject-JATQKR64.js} +3 -3
  131. package/dist/{list-XM4GWJYY.js → list-MH2X3Y2T.js} +2 -2
  132. package/dist/{login-H6HYKMWX.js → login-CK46WX5U.js} +4 -4
  133. package/dist/{manager-TWVDSJXO.js → manager-GXTPNJVW.js} +10 -10
  134. package/dist/{media-treatment-N7MY5NXB.js → media-treatment-EH2AT34Z.js} +15 -15
  135. package/dist/{models-WEMIMYBD.js → models-D5XP2UK6.js} +13 -13
  136. package/dist/{motionShot-RHICTVPU.js → motionShot-UR7D3SRQ.js} +16 -16
  137. package/dist/{normalize-4UDISLPL.js → normalize-3AYFSN2F.js} +1 -1
  138. package/dist/{normalize-audio-ZFUZCJE3.js → normalize-audio-635JOR5W.js} +4 -4
  139. package/dist/{open-IBJ4FL3G.js → open-6WE5WFVM.js} +14 -14
  140. package/dist/{parakeetRunner-XXO4WSLR.js → parakeetRunner-STHZPG32.js} +14 -14
  141. package/dist/{pipeline-6ML3LUVK.js → pipeline-LVEKRETU.js} +10 -10
  142. package/dist/{play-RV4NAVF5.js → play-W6TDW4FE.js} +21 -21
  143. package/dist/{preflight-R3DEFMLA.js → preflight-LIMQXLR7.js} +10 -10
  144. package/dist/{present-5TBJGE6B.js → present-RX5QX6UR.js} +17 -17
  145. package/dist/{preview-FLKZ5CXJ.js → preview-KIWTWK63.js} +20 -20
  146. package/dist/{producer-7XYSPVKH.js → producer-TSNKSCUM.js} +1 -1
  147. package/dist/{projectConfig-TBU2VWZX.js → projectConfig-NCP7JRH4.js} +9 -9
  148. package/dist/{publication-CWWUJYJ5.js → publication-5W5UZWGC.js} +4 -4
  149. package/dist/{publish-FSNE4FEB.js → publish-7WR4XJ6I.js} +11 -11
  150. package/dist/{remove-background-MDFWRWCT.js → remove-background-43JGBRWQ.js} +11 -11
  151. package/dist/{render-F4JQ553X.js → render-456HCO6O.js} +31 -31
  152. package/dist/{render-LWZKXCLY.js → render-7T44HIM6.js} +5 -5
  153. package/dist/{render-DBGQZAZT.js → render-WHMLYIOI.js} +18 -30
  154. package/dist/{render-batch-PU7NMLIJ.js → render-batch-LURBJTBV.js} +5 -5
  155. package/dist/renderSetupWorker.js +3 -3
  156. package/dist/{resolver-RUBGFXPC.js → resolver-MBIW4VC4.js} +6 -6
  157. package/dist/{sherpa-X2TBNO6P.js → sherpa-5J2AALED.js} +13 -13
  158. package/dist/skills/hyperframes/SKILL.md +52 -174
  159. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/FRAME.md +289 -0
  160. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/caption-skin.html +220 -0
  161. package/dist/skills/hyperframes/assets/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
  162. package/dist/skills/hyperframes/assets/frame-presets/blockframe/FRAME.md +275 -0
  163. package/dist/skills/hyperframes/assets/frame-presets/blockframe/caption-skin.html +223 -0
  164. package/dist/skills/hyperframes/assets/frame-presets/blockframe/frame-showcase.html +1347 -0
  165. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/FRAME.md +307 -0
  166. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/caption-skin.html +222 -0
  167. package/dist/skills/hyperframes/assets/frame-presets/blue-professional/frame-showcase.html +1372 -0
  168. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/FRAME.md +275 -0
  169. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/caption-skin.html +229 -0
  170. package/dist/skills/hyperframes/assets/frame-presets/bold-poster/frame-showcase.html +1140 -0
  171. package/dist/skills/hyperframes/assets/frame-presets/broadside/FRAME.md +284 -0
  172. package/dist/skills/hyperframes/assets/frame-presets/broadside/caption-skin.html +224 -0
  173. package/dist/skills/hyperframes/assets/frame-presets/broadside/frame-showcase.html +1166 -0
  174. package/dist/skills/hyperframes/assets/frame-presets/capsule/FRAME.md +284 -0
  175. package/dist/skills/hyperframes/assets/frame-presets/capsule/caption-skin.html +223 -0
  176. package/dist/skills/hyperframes/assets/frame-presets/capsule/frame-showcase.html +1465 -0
  177. package/dist/skills/hyperframes/assets/frame-presets/cartesian/FRAME.md +278 -0
  178. package/dist/skills/hyperframes/assets/frame-presets/cartesian/caption-skin.html +221 -0
  179. package/dist/skills/hyperframes/assets/frame-presets/cartesian/frame-showcase.html +1263 -0
  180. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/FRAME.md +265 -0
  181. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/caption-skin.html +237 -0
  182. package/dist/skills/hyperframes/assets/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
  183. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/FRAME.md +277 -0
  184. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/caption-skin.html +223 -0
  185. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-400.woff2 +0 -0
  186. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/EBGaramond-700.woff2 +0 -0
  187. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-400.woff2 +0 -0
  188. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/Inter-700.woff2 +0 -0
  189. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-400.woff2 +0 -0
  190. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/JetBrainsMono-700.woff2 +0 -0
  191. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +93 -0
  192. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-inter.txt +93 -0
  193. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +93 -0
  194. package/dist/skills/hyperframes/assets/frame-presets/code-editorial/frame-showcase.html +1438 -0
  195. package/dist/skills/hyperframes/assets/frame-presets/coral/FRAME.md +314 -0
  196. package/dist/skills/hyperframes/assets/frame-presets/coral/caption-skin.html +225 -0
  197. package/dist/skills/hyperframes/assets/frame-presets/coral/frame-showcase.html +1268 -0
  198. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/FRAME.md +333 -0
  199. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/caption-skin.html +226 -0
  200. package/dist/skills/hyperframes/assets/frame-presets/creative-mode/frame-showcase.html +1330 -0
  201. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/FRAME.md +274 -0
  202. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/caption-skin.html +229 -0
  203. package/dist/skills/hyperframes/assets/frame-presets/daisy-days/frame-showcase.html +1444 -0
  204. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/FRAME.md +265 -0
  205. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/caption-skin.html +222 -0
  206. package/dist/skills/hyperframes/assets/frame-presets/editorial-forest/frame-showcase.html +1273 -0
  207. package/dist/skills/hyperframes/references/captions.md +46 -0
  208. package/dist/skills/hyperframes/references/film.md +47 -0
  209. package/dist/skills/hyperframes/references/format.md +157 -0
  210. package/dist/skills/hyperframes/references/look.md +69 -0
  211. package/dist/skills/hyperframes/references/motion.md +94 -0
  212. package/dist/skills/hyperframes/references/overlays.md +39 -0
  213. package/dist/skills/hyperframes/references/plugin-installation.md +3 -3
  214. package/dist/skills/hyperframes/references/review.md +51 -0
  215. package/dist/skills/hyperframes/references/runtimes.md +43 -0
  216. package/dist/skills/hyperframes/references/skill-lifecycle.md +21 -13
  217. package/dist/skills/hyperframes/references/sound.md +43 -0
  218. package/dist/skills/hyperframes/references/spec.md +76 -0
  219. package/dist/skills/hyperframes/references/story.md +103 -0
  220. package/dist/skills/hyperframes/references/storyboard-format.md +30 -22
  221. package/dist/skills/hyperframes/references/storyboard.md +36 -0
  222. package/dist/skills/hyperframes/references/types/3d.md +25 -0
  223. package/dist/skills/hyperframes/references/types/character.md +20 -0
  224. package/dist/skills/hyperframes/references/types/data.md +19 -0
  225. package/dist/skills/hyperframes/references/types/explainer.md +34 -0
  226. package/dist/skills/hyperframes/references/types/launch.md +31 -0
  227. package/dist/skills/hyperframes/references/types/music.md +24 -0
  228. package/dist/skills/hyperframes/references/types/vertical.md +23 -0
  229. package/dist/skills/hyperframes/scripts/bake-basemap.mjs +324 -0
  230. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +1 -6
  231. package/dist/skills/hyperframes/scripts/locate.mjs +228 -0
  232. package/dist/skills/hyperframes-cli/SKILL.md +76 -179
  233. package/dist/skills/hyperframes-cli/references/beats.md +1 -1
  234. package/dist/skills/hyperframes-cli/references/cloud.md +2 -2
  235. package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
  236. package/dist/skills/hyperframes-cli/references/conventions.md +17 -0
  237. package/dist/skills/hyperframes-cli/references/feedback.md +14 -0
  238. package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +11 -7
  239. package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
  240. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +19 -8
  241. package/dist/skills/hyperframes-cli/references/preview-render.md +8 -2
  242. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
  243. package/dist/skills/media-use/SKILL.md +47 -91
  244. package/dist/skills/media-use/audio/references/bgm.md +1 -1
  245. package/dist/skills/media-use/audio/references/captions/authoring.md +1 -2
  246. package/dist/skills/media-use/audio/references/captions/motion.md +5 -5
  247. package/dist/skills/media-use/audio/references/tts.md +0 -3
  248. package/dist/skills/media-use/audio/scripts/audio.mjs +5 -6
  249. package/dist/skills/media-use/audio/scripts/carve.mjs +560 -0
  250. package/dist/skills/media-use/audio/scripts/carve.test.mjs +254 -0
  251. package/dist/skills/media-use/audio/scripts/extract-audio-data.py +199 -0
  252. package/dist/skills/media-use/references/local.md +24 -0
  253. package/dist/skills/media-use/references/memory.md +4 -4
  254. package/dist/skills/media-use/references/mixing.md +71 -0
  255. package/dist/skills/media-use/references/operations.md +1 -1
  256. package/dist/skills/media-use/scripts/compatibility.test.mjs +1 -56
  257. package/dist/skills/media-use/scripts/lib/prefs-store.mjs +1 -1
  258. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +1 -1
  259. package/dist/skills/media-use/scripts/prefs.mjs +2 -3
  260. package/dist/skills/media-use/scripts/recipe.mjs +1 -3
  261. package/dist/{skills-WHKMWO2D.js → skills-UHOXOGGF.js} +20 -13
  262. package/dist/{skillsUpdateCheck-XQGZGJJG.js → skillsUpdateCheck-PDZIFUJE.js} +3 -3
  263. package/dist/{snapshot-M4NUUSNU.js → snapshot-PFV7ALLH.js} +462 -100
  264. package/dist/{src-4UYM2K3S.js → src-DCVSEODX.js} +8 -8
  265. package/dist/{src-6MSC62U2.js → src-XK5YIR6L.js} +11 -11
  266. package/dist/{staticProjectServer-ERDTFP45.js → staticProjectServer-4IE4G4JO.js} +17 -17
  267. package/dist/studio/assets/{hyperframes-player-DEncBxR7.js → hyperframes-player-B_skzvYC.js} +1 -1
  268. package/dist/studio/assets/{index-Cc22mgvY.js → index-CgLbvCUo.js} +1 -1
  269. package/dist/studio/assets/{index-BABXr78Q.js → index-Dn5FAk2e.js} +99 -99
  270. package/dist/studio/index.html +1 -1
  271. package/dist/{studio-api-SAKD3VKC.js → studio-api-JMWYU7KF.js} +11 -11
  272. package/dist/{studioServer-IRI7EVOM.js → studioServer-BWLSTGIG.js} +50 -49
  273. package/dist/{telemetry-F4XADVAF.js → telemetry-JCU3AV7W.js} +3 -3
  274. package/dist/templates/_shared/AGENTS.md +14 -19
  275. package/dist/templates/_shared/CLAUDE.md +14 -19
  276. package/dist/templates/blank/index.html +10 -4
  277. package/dist/{timeline-5I444RRE.js → timeline-BCIFQYOM.js} +20 -19
  278. package/dist/{tokens-LRRYM35A.js → tokens-7IXKALMQ.js} +2 -2
  279. package/dist/{transcribe-44XDFNVU.js → transcribe-HW7HGJ4V.js} +19 -19
  280. package/dist/{transcribe-WHYHWAB2.js → transcribe-ZUQD3B32.js} +12 -12
  281. package/dist/{updateCheck-7CPH3CAZ.js → updateCheck-Z6LNEK7B.js} +2 -2
  282. package/dist/{upgrade-WW4GQ2RI.js → upgrade-JYH72JGL.js} +2 -2
  283. package/dist/{urlDownloader-OHLLP45A.js → urlDownloader-WKLFHSUH.js} +8 -8
  284. package/dist/{validate-VNCDH2LW.js → validate-QCC27YYI.js} +23 -23
  285. package/dist/{video-5OHTLL2D.js → video-EZ7ONY6L.js} +9 -9
  286. package/dist/warmCheck.js +36 -36
  287. package/package.json +1 -1
  288. package/dist/audio-KGK44XE4.js +0 -1153
  289. package/dist/chunk-R2SQBPMH.js +0 -3805
  290. package/dist/skills/hyperframes/references/brief-contract.md +0 -108
  291. package/dist/skills/hyperframes/references/brief-format.md +0 -72
  292. package/dist/skills/hyperframes/references/capability-menu.md +0 -47
  293. package/dist/skills/hyperframes/references/frame-worker-core.md +0 -82
  294. package/dist/skills/hyperframes/references/intent-interview.md +0 -73
  295. package/dist/skills/hyperframes/references/pitch-round.md +0 -40
  296. package/dist/skills/hyperframes/references/production-loop.md +0 -26
  297. package/dist/skills/hyperframes/references/review-loop.md +0 -37
  298. package/dist/skills/hyperframes/references/route-briefs.md +0 -11
  299. package/dist/skills/hyperframes/references/routes/embedded-captions.md +0 -11
  300. package/dist/skills/hyperframes/references/routes/faceless-explainer.md +0 -12
  301. package/dist/skills/hyperframes/references/routes/general-video.md +0 -12
  302. package/dist/skills/hyperframes/references/routes/motion-graphics.md +0 -11
  303. package/dist/skills/hyperframes/references/routes/music-to-video.md +0 -12
  304. package/dist/skills/hyperframes/references/routes/pr-to-video.md +0 -28
  305. package/dist/skills/hyperframes/references/routes/product-launch-video.md +0 -13
  306. package/dist/skills/hyperframes/references/routes/remotion-to-hyperframes.md +0 -9
  307. package/dist/skills/hyperframes/references/routes/slideshow.md +0 -11
  308. package/dist/skills/hyperframes/references/routes/talking-head-recut.md +0 -11
  309. package/dist/skills/hyperframes/references/script-format.md +0 -52
  310. package/dist/skills/hyperframes/references/subagent-dispatch.md +0 -35
  311. package/dist/skills/hyperframes/references/workflow-catalog.md +0 -10
  312. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +0 -176
  313. package/dist/skills/media-use/audio/scripts/lib/host-audio.mjs +0 -28
  314. package/dist/skills/media-use/audio/scripts/lib/host-audio.test.mjs +0 -106
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-4N4P3ZWL.js";
9
+ } from "./chunk-LDW3KVGK.js";
10
10
 
11
11
  // src/registry/compatibility.ts
12
12
  import { compareVersions } from "compare-versions";
@@ -21,13 +21,13 @@ import {
21
21
  emitWords,
22
22
  getPreparedWavDurationSeconds,
23
23
  prepareWav
24
- } from "./chunk-X3CG5YQA.js";
24
+ } from "./chunk-3YHGQJI6.js";
25
25
  import {
26
26
  stoppedByCancelSignal
27
- } from "./chunk-VNVQGDPC.js";
27
+ } from "./chunk-T4RP55P2.js";
28
28
  import {
29
29
  verifies
30
- } from "./chunk-SAX7HQ5E.js";
30
+ } from "./chunk-ROWEDRVX.js";
31
31
  import {
32
32
  PARAKEET_MODEL_LABEL,
33
33
  SHERPA_ERROR_PREFIX,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  detectGpuEncoder
9
- } from "./chunk-RGXVEYHI.js";
9
+ } from "./chunk-7M7TMM4S.js";
10
10
  import {
11
11
  runCancellableProcess
12
12
  } from "./chunk-DYAPHNV6.js";
@@ -13,11 +13,11 @@ import {
13
13
  formatPreviewProxyBox,
14
14
  hdrToSdrToneMapFilter,
15
15
  parseFirstFrameColour
16
- } from "./chunk-J3QM7AHP.js";
16
+ } from "./chunk-RNZEQTWZ.js";
17
17
  import {
18
18
  decodeAuthoredAttribute,
19
19
  scanHtmlOpeningTags
20
- } from "./chunk-YMS5FOMC.js";
20
+ } from "./chunk-B2A56S5C.js";
21
21
  import {
22
22
  mkdirWithinProject,
23
23
  realProjectRoot,
@@ -6,27 +6,27 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-LRGYPXHF.js";
9
+ } from "./chunk-HZ7M2MZA.js";
10
10
  import {
11
11
  serveStaticProjectHtml
12
- } from "./chunk-4KKKBEP3.js";
12
+ } from "./chunk-ZVBEGBII.js";
13
13
  import {
14
14
  AUDIT_SEEK_OPTIONS,
15
15
  installPageFunctionGuard,
16
16
  seekCompositionTimeline,
17
17
  waitForCompositionFonts,
18
18
  waitForRuntimeReady
19
- } from "./chunk-ICJEAFPD.js";
19
+ } from "./chunk-U4BMRIE6.js";
20
20
  import {
21
21
  launchManagedBrowser,
22
22
  resolveManagedGpuMode
23
- } from "./chunk-KN46TGHV.js";
23
+ } from "./chunk-UAJCTEK2.js";
24
24
  import {
25
25
  gotoWhenSent
26
26
  } from "./chunk-MOEGCMKI.js";
27
27
  import {
28
28
  pageNavigationTimeoutMs
29
- } from "./chunk-ES426XRJ.js";
29
+ } from "./chunk-7AUMTARQ.js";
30
30
  import {
31
31
  defineCommand
32
32
  } from "./chunk-S3S4TGEH.js";
@@ -40,7 +40,7 @@ import {
40
40
  import {
41
41
  printDeprecationNotice,
42
42
  withMeta
43
- } from "./chunk-ABZYYUUH.js";
43
+ } from "./chunk-FRLTKTOR.js";
44
44
  import {
45
45
  normalizeErrorMessage
46
46
  } from "./chunk-KNU5COPB.js";
@@ -345,6 +345,7 @@ function roundTime(value) {
345
345
  var APPEAR_OPACITY = 0.5;
346
346
  var FRAME_TOLERANCE = 1;
347
347
  var DEFAULT_MAX_STATIC_SEC = 2;
348
+ var END_CARD_HOLD_SEC = 3;
348
349
  var ZERO_RECT = { left: 0, top: 0, right: 0, bottom: 0, width: 0, height: 0 };
349
350
  function ambiguousIssue(selector) {
350
351
  return {
@@ -448,13 +449,14 @@ function staysInFrame(frames, selector, canvas) {
448
449
  }
449
450
  return [];
450
451
  }
451
- function frozenSpans(frames, scope, maxStaticSec) {
452
+ function frozenSpans(frames, scope, maxStaticSec, endCardStart = Number.POSITIVE_INFINITY) {
452
453
  const spans = [];
453
454
  const first = frames[0];
454
455
  if (!first) return spans;
455
456
  let runStart = first.time;
456
457
  let runSig = first.liveness[scope] ?? "";
457
- const flush = (end) => {
458
+ const flush = (runEnd) => {
459
+ const end = Math.min(runEnd, endCardStart);
458
460
  if (end - runStart > maxStaticSec) spans.push({ start: runStart, end });
459
461
  };
460
462
  let lastTime = runStart;
@@ -470,12 +472,12 @@ function frozenSpans(frames, scope, maxStaticSec) {
470
472
  flush(lastTime);
471
473
  return spans;
472
474
  }
473
- function keepsMoving(frames, within, maxStaticSec) {
475
+ function keepsMoving(frames, within, maxStaticSec, endCardStart) {
474
476
  const scope = within ?? "*";
475
477
  if (within && frames.every((frame) => !frame.liveness[scope])) {
476
478
  return [missingIssue(within, 0)];
477
479
  }
478
- return frozenSpans(frames, scope, maxStaticSec).map(({ start, end }) => ({
480
+ return frozenSpans(frames, scope, maxStaticSec, endCardStart).map(({ start, end }) => ({
479
481
  code: "motion_frozen",
480
482
  severity: "error",
481
483
  time: start,
@@ -485,8 +487,9 @@ function keepsMoving(frames, within, maxStaticSec) {
485
487
  fixHint: "Add or extend motion so no shot freezes for this long, or shorten the static hold."
486
488
  }));
487
489
  }
488
- function evaluateMotion(frames, assertions, canvas) {
490
+ function evaluateMotion(frames, assertions, canvas, filmDuration) {
489
491
  if (frames.length === 0) return [];
492
+ const endCardStart = filmDuration !== void 0 && filmDuration > 0 ? filmDuration - END_CARD_HOLD_SEC : Number.POSITIVE_INFINITY;
490
493
  return assertions.flatMap((assertion) => {
491
494
  switch (assertion.kind) {
492
495
  case "appearsBy":
@@ -499,7 +502,8 @@ function evaluateMotion(frames, assertions, canvas) {
499
502
  return keepsMoving(
500
503
  frames,
501
504
  assertion.withinSelector,
502
- assertion.maxStaticSec ?? DEFAULT_MAX_STATIC_SEC
505
+ assertion.maxStaticSec ?? DEFAULT_MAX_STATIC_SEC,
506
+ endCardStart
503
507
  );
504
508
  }
505
509
  });
@@ -711,7 +715,7 @@ async function collectTweenBoundaries(page) {
711
715
  });
712
716
  }
713
717
  async function bundleProjectHtml(projectDir) {
714
- const { bundleToSingleHtml } = await import("./compiler-Q3N6QXMT.js");
718
+ const { bundleToSingleHtml } = await import("./compiler-2EKSMC3I.js");
715
719
  return bundleToSingleHtml(projectDir);
716
720
  }
717
721
  async function alignViewportToComposition(page, url) {
@@ -730,13 +734,13 @@ async function alignViewportToComposition(page, url) {
730
734
  async function runLayoutAudit(projectDir, opts) {
731
735
  const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
732
736
  const puppeteer = await import("puppeteer-core");
733
- const { buildChromeArgs } = await import("./src-4UYM2K3S.js");
737
+ const { buildChromeArgs } = await import("./src-DCVSEODX.js");
734
738
  const {
735
739
  assertWebGpuAdapterAvailable,
736
740
  compositionRequiresWebGpu,
737
741
  resolveLocalBrowserGpuMode,
738
742
  resolveLocalWebGpu
739
- } = await import("./gpuPolicy-VFSACUQV.js");
743
+ } = await import("./gpuPolicy-NSNVDFXC.js");
740
744
  const html = await bundleProjectHtml(projectDir);
741
745
  const server = await serveStaticProjectHtml(
742
746
  projectDir,
@@ -872,7 +876,10 @@ async function runMotionPass(page, spec, duration) {
872
876
  await page.addScriptTag({ content: loadBrowserScript("motion-signature.browser.js") });
873
877
  await page.addScriptTag({ content: loadBrowserScript("motion-sample.browser.js") });
874
878
  const frames = await collectMotionFrames(page, times, selectors, livenessScopes);
875
- return { issues: evaluateMotion(frames, spec.assertions, canvas), sampleCount: frames.length };
879
+ return {
880
+ issues: evaluateMotion(frames, spec.assertions, canvas, duration),
881
+ sampleCount: frames.length
882
+ };
876
883
  }
877
884
  function resolveMotionSpec(specPath, json) {
878
885
  const parsed = readMotionSpec(specPath);
@@ -1110,6 +1117,7 @@ export {
1110
1117
  buildTransitionSampleTimes,
1111
1118
  mergeSampleTimes,
1112
1119
  DEFAULT_MAX_STATIC_SEC,
1120
+ END_CARD_HOLD_SEC,
1113
1121
  ambiguousIssue,
1114
1122
  frozenSpans,
1115
1123
  evaluateMotion,
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XUXGIA7H.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-4N4P3ZWL.js";
40
+ } from "./chunk-LDW3KVGK.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-UKOTVJFV.js";
11
+ } from "./chunk-6IOBAOU7.js";
12
12
  import {
13
13
  CliRuntimeError
14
14
  } from "./chunk-JVBRJMOP.js";
@@ -550,6 +550,7 @@ function trackCheckReport(props) {
550
550
  motion_warnings: props.motionWarnings,
551
551
  contrast_errors: props.contrastErrors,
552
552
  contrast_warnings: props.contrastWarnings,
553
+ craft_warnings: props.craftWarnings,
553
554
  launch_settle_ms: props.launchSettleMs,
554
555
  seek_loop_ms: props.seekLoopMs,
555
556
  contrast_ms: props.contrastMs,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  readCompositionFps
9
- } from "./chunk-PSKEKWVU.js";
9
+ } from "./chunk-DTXDQ6OP.js";
10
10
  import {
11
11
  errorBox
12
12
  } from "./chunk-K2FLNJVB.js";
@@ -16,10 +16,10 @@ import {
16
16
  import {
17
17
  DEFAULT_CONFIG,
18
18
  resolvePageNavigationTimeout
19
- } from "./chunk-RGXVEYHI.js";
19
+ } from "./chunk-7M7TMM4S.js";
20
20
  import {
21
21
  parseFps
22
- } from "./chunk-J3QM7AHP.js";
22
+ } from "./chunk-RNZEQTWZ.js";
23
23
 
24
24
  // src/browser/windowsCrash.ts
25
25
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -9,7 +9,7 @@ import {
9
9
  parse,
10
10
  parseExpressionAt,
11
11
  simple
12
- } from "./chunk-TYXH3EKP.js";
12
+ } from "./chunk-I5JRXMCV.js";
13
13
 
14
14
  // ../parsers/dist/gsapParserAcorn.js
15
15
  var GSAP_DEFAULT_DURATION = 0.5;
@@ -26,7 +26,7 @@ import {
26
26
  renderFrameIdForRenderId,
27
27
  resolveAuthoredTimingWindow,
28
28
  toFps
29
- } from "./chunk-J3QM7AHP.js";
29
+ } from "./chunk-RNZEQTWZ.js";
30
30
  import {
31
31
  AUDIO_GROUP_RENDER_ID_ATTR,
32
32
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -37,7 +37,10 @@ import {
37
37
  HF_COLOR_GRADING_CANVAS_ID_PREFIX,
38
38
  MEDIA_DURATION_CLAMP_EPSILON_SECONDS,
39
39
  MEDIA_RENDER_ID_ATTR,
40
+ PAGE_DEVICE_SCALE_GLOBAL,
41
+ PAGE_MOTION_BLUR_OFF_GLOBAL,
40
42
  VOLUME_TARGET,
43
+ acceleratedCanvasTrackerSource,
41
44
  enabledAudioFxNodes,
42
45
  fxAutomationTarget,
43
46
  injectScriptsIntoHtml,
@@ -56,7 +59,7 @@ import {
56
59
  shiftRateLane,
57
60
  sourceTimeAt,
58
61
  timeAtSourceTime
59
- } from "./chunk-R2SQBPMH.js";
62
+ } from "./chunk-UOZX5W5T.js";
60
63
  import {
61
64
  clampAudioGain,
62
65
  isAudibleVideoElement
@@ -75,7 +78,7 @@ import {
75
78
  } from "./chunk-4UMPIPCQ.js";
76
79
  import {
77
80
  resolveReferencedStart
78
- } from "./chunk-ADDHW2FS.js";
81
+ } from "./chunk-Q447CX26.js";
79
82
  import {
80
83
  FFMPEG_PATH_ENV,
81
84
  FFPROBE_PATH_ENV,
@@ -1206,11 +1209,7 @@ async function probeBeginFrameSupport(browser, timeoutMs = BEGINFRAME_PROBE_TIME
1206
1209
  };
1207
1210
  }
1208
1211
  if (page && !await settleWithin(page.close(), BEGINFRAME_PROBE_CLEANUP_TIMEOUT_MS)) {
1209
- return {
1210
- supported: false,
1211
- detail: `${result.detail}; probe page cleanup timed out`,
1212
- durationMs: Date.now() - started
1213
- };
1212
+ return { ...result, detail: `${result.detail}; probe page cleanup timed out` };
1214
1213
  }
1215
1214
  return result;
1216
1215
  }
@@ -2510,6 +2509,68 @@ var MotionBlurAccumulator = class {
2510
2509
  }
2511
2510
  };
2512
2511
 
2512
+ // ../engine/src/services/pageMotionBlur.ts
2513
+ function pageOffReason(options) {
2514
+ if (options.motionBlur) return "engine-motion-blur";
2515
+ if (options.pageMotionBlur === "off") return "preview-unsupported";
2516
+ return options.pageMotionBlur ?? null;
2517
+ }
2518
+ async function installPageMotionBlur(page, options) {
2519
+ await page.evaluateOnNewDocument(acceleratedCanvasTrackerSource());
2520
+ const scale = options.deviceScaleFactor ?? 1;
2521
+ if (scale > 1) {
2522
+ await page.evaluateOnNewDocument(
2523
+ (key, v) => {
2524
+ window[key] = v;
2525
+ },
2526
+ PAGE_DEVICE_SCALE_GLOBAL,
2527
+ scale
2528
+ );
2529
+ }
2530
+ const off = pageOffReason(options);
2531
+ if (!off) return;
2532
+ await page.evaluateOnNewDocument(
2533
+ (key, v) => {
2534
+ window[key] = v;
2535
+ },
2536
+ PAGE_MOTION_BLUR_OFF_GLOBAL,
2537
+ off
2538
+ );
2539
+ }
2540
+ async function readPageMotionBlur(page) {
2541
+ return page.evaluate(() => {
2542
+ const api = Reflect.get(window, "__hfMotionBlur");
2543
+ const report = api && typeof api === "object" ? Reflect.get(api, "report") : null;
2544
+ const got = typeof report === "function" ? report() : null;
2545
+ if (!got || typeof got !== "object") return null;
2546
+ return {
2547
+ state: String(Reflect.get(got, "state")),
2548
+ code: String(Reflect.get(got, "reasonCode")),
2549
+ movers: Number(Reflect.get(got, "movers")),
2550
+ failedFrames: Number(Reflect.get(got, "failedFrames")) || 0
2551
+ };
2552
+ });
2553
+ }
2554
+ var formatPageMotionBlur = (r) => `[motion-blur] ${r.state} reasonCode=${r.code} movers=${r.movers} failedFrames=${r.failedFrames}`;
2555
+ async function describePageMotionBlur(page) {
2556
+ const r = await readPageMotionBlur(page);
2557
+ return r && formatPageMotionBlur(r);
2558
+ }
2559
+ async function describePageMotionBlurAtEnd(page, timeoutMs = 1500) {
2560
+ let timer;
2561
+ const stuck = new Promise((resolve) => {
2562
+ timer = setTimeout(() => resolve(null), timeoutMs);
2563
+ });
2564
+ try {
2565
+ const r = await Promise.race([readPageMotionBlur(page), stuck]);
2566
+ return r && r.failedFrames > 0 ? `${formatPageMotionBlur(r)} (session end)` : null;
2567
+ } catch {
2568
+ return null;
2569
+ } finally {
2570
+ clearTimeout(timer);
2571
+ }
2572
+ }
2573
+
2513
2574
  // ../engine/src/services/videoFrameTransport.ts
2514
2575
  import { randomUUID } from "crypto";
2515
2576
  var base64ImagePrefix = /^data:(image\/[\w.+-]+);base64,/;
@@ -5441,6 +5502,7 @@ async function constructCaptureSession(input) {
5441
5502
  }
5442
5503
  }, variablesJson);
5443
5504
  }
5505
+ await installPageMotionBlur(page, options);
5444
5506
  const browserVersion = await browser.version();
5445
5507
  const sessionOptions = resolveCaptureSessionOptions(options, browserVersion);
5446
5508
  const expectedMajor = config?.expectedChromiumMajor;
@@ -5865,7 +5927,7 @@ var LIVE_MAP_MARKERS = [
5865
5927
  function buildLiveMapWarning(libraries) {
5866
5928
  return {
5867
5929
  code: "live_map_detected",
5868
- message: `Live map viewport(s) detected in the composition (${libraries.join(", ")}). Map tiles load over the network at render time, which the deterministic-render contract forbids: frames captured before tiles arrive ship a blank or partial map with no error. Bake the map to a video first (see the motion-graphics maps skill / bake-basemap.mjs) and use the baked file as the imagery layer.`,
5930
+ message: `Live map viewport(s) detected in the composition (${libraries.join(", ")}). Map tiles load over the network at render time, which the deterministic-render contract forbids: frames captured before tiles arrive ship a blank or partial map with no error. Bake the map to a video first (the hyperframes skill's scripts/bake-basemap.mjs, see references/film.md) and use the baked file as the imagery layer.`,
5869
5931
  details: { sources: [...libraries] }
5870
5932
  };
5871
5933
  }
@@ -6618,6 +6680,7 @@ async function createStaticVerificationPage(session) {
6618
6680
  window.__hfVariables = JSON.parse(json);
6619
6681
  }, variablesJson);
6620
6682
  }
6683
+ await installPageMotionBlur(page, session.options);
6621
6684
  await page.setViewport({
6622
6685
  width: session.options.width,
6623
6686
  height: session.options.height,
@@ -7163,6 +7226,10 @@ async function captureFrameCore(session, frameIndex, time) {
7163
7226
  session.capturePerf.screenshotMs += screenshotMs;
7164
7227
  session.capturePerf.totalMs += captureTimeMs;
7165
7228
  session.capturePerf.frameMs.push(captureTimeMs);
7229
+ if (session.capturePerf.frames === 1) {
7230
+ const blur = await describePageMotionBlur(session.page).catch(() => null);
7231
+ if (blur) console.log(blur);
7232
+ }
7166
7233
  if (session.staticFrames) {
7167
7234
  session.lastFrameBuffer = buffer;
7168
7235
  session.lastFrameAbsoluteIndex = absFrameIndex;
@@ -7375,6 +7442,10 @@ async function closeCaptureSession(session) {
7375
7442
  session.chromeMemory.stop();
7376
7443
  await session.chromeMemory.sampleOnce();
7377
7444
  }
7445
+ if (session.page && !session.pageReleased) {
7446
+ const blur = await describePageMotionBlurAtEnd(session.page);
7447
+ if (blur) console.log(blur);
7448
+ }
7378
7449
  const reused = session.staticDedupCount ?? 0;
7379
7450
  if (session.staticFrames && reused > 0) {
7380
7451
  const captured = session.capturePerf.frames;
@@ -11870,7 +11941,7 @@ function parseVideoElements(html) {
11870
11941
  mediaStart: readMediaStart(el),
11871
11942
  playbackRate: readElementRateSpec(el),
11872
11943
  loop: el.hasAttribute("loop"),
11873
- hasAudio: hasAudioAttr === "true",
11944
+ hasAudio: hasAudioAttr === "true" && isAudibleVideoElement(el),
11874
11945
  ...isSelfOrAncestorHidden(el) || isAudibleVideoElement(el) && isMemberGroupHidden(groupsById, el) ? { hidden: true } : {}
11875
11946
  });
11876
11947
  }
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  formatVariableValidationIssue,
21
21
  validateVariables
22
- } from "./chunk-J3QM7AHP.js";
22
+ } from "./chunk-RNZEQTWZ.js";
23
23
  import {
24
24
  extractCompositionMetadata
25
- } from "./chunk-YMS5FOMC.js";
25
+ } from "./chunk-B2A56S5C.js";
26
26
 
27
27
  // src/utils/variables.ts
28
28
  import { readFileSync } from "fs";
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-WTFUDNW2.js";
13
+ } from "./chunk-WLHNIIXU.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";
@@ -6,32 +6,32 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-7NRI7HYX.js";
9
+ } from "./chunk-NPDPDEPP.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-R2BFTECP.js";
15
+ } from "./chunk-4NTW45W5.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-X3CG5YQA.js";
19
+ } from "./chunk-3YHGQJI6.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-VNVQGDPC.js";
23
+ } from "./chunk-T4RP55P2.js";
24
24
  import {
25
25
  DEFAULT_MODEL,
26
26
  findWhisper,
27
27
  isWhisperUnavailable
28
- } from "./chunk-SAX7HQ5E.js";
28
+ } from "./chunk-ROWEDRVX.js";
29
29
  import {
30
30
  formatSrt,
31
31
  formatVtt,
32
32
  loadTranscript,
33
33
  patchCaptionHtml
34
- } from "./chunk-VHZ6DL3M.js";
34
+ } from "./chunk-TMK4Q7JA.js";
35
35
  import {
36
36
  normalizeErrorMessage
37
37
  } from "./chunk-KNU5COPB.js";
@@ -17,7 +17,7 @@ import {
17
17
  parse,
18
18
  parseExpressionAt,
19
19
  simple
20
- } from "./chunk-TYXH3EKP.js";
20
+ } from "./chunk-I5JRXMCV.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-M2WBOQ2Q.js";
@@ -37,7 +37,7 @@ import {
37
37
  stripEmbeddedRuntimeScripts,
38
38
  styleElementsFor,
39
39
  warnUnknownEnumValues
40
- } from "./chunk-R2SQBPMH.js";
40
+ } from "./chunk-UOZX5W5T.js";
41
41
  import {
42
42
  cssVariableName
43
43
  } from "./chunk-VC76R6W2.js";
@@ -47,7 +47,7 @@ import {
47
47
  } from "./chunk-OFQWTKPW.js";
48
48
  import {
49
49
  lintHyperframeHtml
50
- } from "./chunk-ADDHW2FS.js";
50
+ } from "./chunk-Q447CX26.js";
51
51
  import {
52
52
  checkSubCompositionUsability,
53
53
  resolveSubCompositionContent
@@ -70,7 +70,7 @@ import {
70
70
  } from "./chunk-SDYDNHEE.js";
71
71
  import {
72
72
  parse
73
- } from "./chunk-TYXH3EKP.js";
73
+ } from "./chunk-I5JRXMCV.js";
74
74
 
75
75
  // ../core/dist/compiler/htmlCompiler.js
76
76
  import { resolve } from "path";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  withOwner
9
- } from "./chunk-FGJEUV4S.js";
9
+ } from "./chunk-K6KBOORN.js";
10
10
  import {
11
11
  HistoryBusyError,
12
12
  beginArtifactCapture
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  DISTRIBUTED_FPS,
12
12
  isDistributedFps
13
- } from "./chunk-J3QM7AHP.js";
13
+ } from "./chunk-RNZEQTWZ.js";
14
14
  import {
15
15
  parseHTML
16
16
  } from "./chunk-SDYDNHEE.js";
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-JIUTXKWA.js";
10
+ } from "./chunk-77QM6YRQ.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-UKOTVJFV.js";
13
+ } from "./chunk-6IOBAOU7.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-ADDHW2FS.js";
17
+ } from "./chunk-Q447CX26.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";