hyperframes 0.8.193 → 0.8.194

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 (187) hide show
  1. package/dist/{add-JC6DKZKC.js → add-47UAIWY4.js} +12 -12
  2. package/dist/{animatedGifPrep-S6KXJGEL.js → animatedGifPrep-TFSQZWK6.js} +8 -7
  3. package/dist/api.js +18 -17
  4. package/dist/{asset-XITFIFE6.js → asset-AU7PZHXA.js} +2 -2
  5. package/dist/{assetCataloger-K5FNKG35.js → assetCataloger-HC5N6WPT.js} +8 -7
  6. package/dist/{audio-364UHTY4.js → audio-7AWMZWBM.js} +14 -13
  7. package/dist/{auth-5JEESRE6.js → auth-GXH3QNDJ.js} +1 -1
  8. package/dist/{autoUpdate-RVVYEHAA.js → autoUpdate-GVGP5O2I.js} +2 -2
  9. package/dist/{backgroundChecks-DCBIYWIQ.js → backgroundChecks-IUJM2Q35.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-ZZ4QMBAA.js → batchRender-3XS2Y2Y4.js} +4 -4
  12. package/dist/{beats-YEL65M6G.js → beats-U64B4S7Z.js} +9 -9
  13. package/dist/{benchmark-RBTRPA76.js → benchmark-2YUPAI76.js} +9 -9
  14. package/dist/{browser-BVAYXT4R.js → browser-DBFH7KXM.js} +5 -5
  15. package/dist/{bundleWithLocalizedFonts-JLB2OYMT.js → bundleWithLocalizedFonts-XWL7KSQJ.js} +2 -2
  16. package/dist/{capture-NIFX6IRS.js → capture-E4VW75NM.js} +2 -2
  17. package/dist/{capture-GBXTMYLZ.js → capture-YWH7BPBI.js} +13 -12
  18. package/dist/{captureCompositionFrame-ATNNKUL5.js → captureCompositionFrame-IG6S2OHG.js} +13 -12
  19. package/dist/{catalog-AGIF5SM5.js → catalog-LZIZLZ34.js} +12 -12
  20. package/dist/{catch-up-SZ3ULDTI.js → catch-up-ZVNPIACY.js} +4 -4
  21. package/dist/{check-YLQS3TF4.js → check-EKEOD4UM.js} +38 -37
  22. package/dist/{checkBrowser-QH4FMCBO.js → checkBrowser-MYH6HPHH.js} +33 -32
  23. package/dist/{chunk-ZT45TCY3.js → chunk-2AJU7PZ6.js} +1 -1
  24. package/dist/chunk-2D5WP2NI.js +3901 -0
  25. package/dist/{chunk-FBVUAH7N.js → chunk-2OYYNKJ4.js} +1 -1
  26. package/dist/{chunk-DSQ72G5I.js → chunk-37IHQVNQ.js} +1 -1
  27. package/dist/{chunk-AR3DQYRR.js → chunk-3OSBSUN3.js} +18 -18
  28. package/dist/{chunk-2SFDWMSW.js → chunk-3S3CXF4W.js} +2 -2
  29. package/dist/{chunk-TY3LDJA3.js → chunk-452UK7E7.js} +2 -2
  30. package/dist/{chunk-OFYW4J7Y.js → chunk-4FVNEXSV.js} +3 -3
  31. package/dist/{chunk-CGTZOY53.js → chunk-4GMDL4N5.js} +1 -1
  32. package/dist/{chunk-4PPWAQYV.js → chunk-4PIPQPCW.js} +7 -7
  33. package/dist/{chunk-BP4EMEGH.js → chunk-4VSV56F2.js} +2 -2
  34. package/dist/{chunk-L4JB7LI4.js → chunk-52YJKWV3.js} +67 -60
  35. package/dist/{chunk-ZZPBXRYQ.js → chunk-54PZ2EQZ.js} +1 -1
  36. package/dist/{chunk-6XUJVEY2.js → chunk-B3GG3HJB.js} +1 -1
  37. package/dist/{chunk-2MCXIY4B.js → chunk-B7RJV74O.js} +28 -11
  38. package/dist/{chunk-MFUNDJEV.js → chunk-BK5YCT54.js} +3 -3
  39. package/dist/{chunk-RWGASWT7.js → chunk-BL4U6U52.js} +1 -0
  40. package/dist/{chunk-QKX7ITER.js → chunk-BYADARIC.js} +2 -2
  41. package/dist/{chunk-WIVOXGEP.js → chunk-CEUBYYVJ.js} +2 -2
  42. package/dist/{chunk-UIC7B5KW.js → chunk-CEZH4AQT.js} +12 -2
  43. package/dist/{chunk-BY6OQ6XP.js → chunk-CZNSLFYD.js} +3 -1
  44. package/dist/{chunk-E77ALFLW.js → chunk-DT3JESJ6.js} +1 -1
  45. package/dist/{chunk-ZTKFRXJB.js → chunk-DVQDBWQG.js} +4 -4
  46. package/dist/{chunk-L5YLA54L.js → chunk-EB3XXHNO.js} +2 -2
  47. package/dist/{chunk-LFUVTS6V.js → chunk-EY7GKVPS.js} +2 -2
  48. package/dist/{chunk-KU3UFQN7.js → chunk-F2ASNL2K.js} +1 -1
  49. package/dist/{chunk-ZH7J2ZUL.js → chunk-F3B7CE3Q.js} +14 -14
  50. package/dist/{chunk-E3P3LJG6.js → chunk-FLREUEHW.js} +28 -11
  51. package/dist/{chunk-VW63MHQU.js → chunk-FUA22HO4.js} +1 -1
  52. package/dist/{chunk-3W4B6G7Y.js → chunk-GAFEU6AB.js} +13 -10
  53. package/dist/{chunk-DIKAPMMF.js → chunk-GQVTTWZF.js} +144 -39
  54. package/dist/{chunk-2LSCYS2H.js → chunk-HCLBM2LQ.js} +2 -2
  55. package/dist/{chunk-GR5DQKDR.js → chunk-HG5ECUOR.js} +5 -5
  56. package/dist/{chunk-2NERNYCJ.js → chunk-HPGQPRHY.js} +3 -3
  57. package/dist/{chunk-SOY2FPOR.js → chunk-HQD7ODQB.js} +5 -5
  58. package/dist/{chunk-XQPA4W3M.js → chunk-JU4T4VAA.js} +4 -4
  59. package/dist/{chunk-7HTH5PFK.js → chunk-JVTWX5G3.js} +33 -8
  60. package/dist/{chunk-UNATIAOT.js → chunk-JXTPNUSO.js} +83 -51
  61. package/dist/{chunk-2VXY3PEF.js → chunk-K2VXPQKC.js} +107 -94
  62. package/dist/chunk-K4MJX7SR.js +17 -0
  63. package/dist/{chunk-BJAS2JLW.js → chunk-KDEV5RIE.js} +7 -3
  64. package/dist/{chunk-WFS6S65A.js → chunk-LMIDZIW2.js} +12 -12
  65. package/dist/{chunk-5J6TWLFG.js → chunk-LOGKDQ3G.js} +3 -3
  66. package/dist/{chunk-IW5G323T.js → chunk-LTGTN2TH.js} +8 -9
  67. package/dist/{chunk-F5LLORBP.js → chunk-LZ4WPR3B.js} +2 -2
  68. package/dist/{chunk-7QNIXBQD.js → chunk-M2VXARYK.js} +3 -2
  69. package/dist/{chunk-7YSFE4SZ.js → chunk-MCFPMUMT.js} +2 -2
  70. package/dist/{chunk-YS4JUGNI.js → chunk-MGSNFWGR.js} +2 -2
  71. package/dist/{chunk-V7ZA2BNW.js → chunk-MO6RTNYD.js} +1 -1
  72. package/dist/{chunk-OFV3WSOE.js → chunk-N33FO44R.js} +1 -1
  73. package/dist/{chunk-GKHMSSGY.js → chunk-N3M3IU6S.js} +1 -1
  74. package/dist/{chunk-6LWUPIKD.js → chunk-NVVIFW3C.js} +10 -10
  75. package/dist/{chunk-4LXZJIVY.js → chunk-O2ILONGK.js} +10 -10
  76. package/dist/{chunk-C4Y3ZREE.js → chunk-OJNNKHAZ.js} +75 -22
  77. package/dist/{chunk-UB7BIDBS.js → chunk-PEHST4UY.js} +3 -3
  78. package/dist/{chunk-RTLPWOO6.js → chunk-POFJH2IS.js} +1 -1
  79. package/dist/{chunk-7YKJF5JV.js → chunk-PXK3ICU6.js} +1 -1
  80. package/dist/{chunk-M3KZBDPB.js → chunk-Q4HKC3O7.js} +3 -3
  81. package/dist/{chunk-X5CECNCK.js → chunk-QJQTWTM7.js} +8 -3
  82. package/dist/{chunk-QFPBRZJD.js → chunk-ROEW726S.js} +1 -1
  83. package/dist/{chunk-D625D4TV.js → chunk-RUPGFW5B.js} +6 -6
  84. package/dist/{chunk-EFXMETRK.js → chunk-RZWJJCI7.js} +2 -2
  85. package/dist/{chunk-TZEKVLPV.js → chunk-SNECH6QA.js} +1 -1
  86. package/dist/{chunk-REUL2KH2.js → chunk-ST35C4K6.js} +1 -1
  87. package/dist/{chunk-LMNZLZMJ.js → chunk-ST4SHO3S.js} +1 -1
  88. package/dist/{chunk-6DLCOQR4.js → chunk-TDYKVJTU.js} +119 -34
  89. package/dist/{chunk-4TKJWWPL.js → chunk-VHIBBDEI.js} +1 -1
  90. package/dist/{chunk-VPC4XIVI.js → chunk-VPON6DF2.js} +5 -5
  91. package/dist/{chunk-DYNHVCBF.js → chunk-XYGULBFV.js} +2 -2
  92. package/dist/{chunk-VLLFORE2.js → chunk-Y3BT27Y7.js} +1 -1
  93. package/dist/{clean-5HGESK5A.js → clean-NS2SDRK7.js} +21 -20
  94. package/dist/cli.js +53 -53
  95. package/dist/{cloud-746PHS32.js → cloud-K4XQPWTY.js} +4 -4
  96. package/dist/{cloudrun-DO7WFLSM.js → cloudrun-BKOKXTXV.js} +6 -6
  97. package/dist/{compare-66YPRNG2.js → compare-ZAV773OL.js} +31 -30
  98. package/dist/{compiler-R4UYDWXO.js → compiler-CWHFCE3H.js} +5 -5
  99. package/dist/{component-EQ3H6RFP.js → component-OXA2ZWX3.js} +3 -3
  100. package/dist/{compositions-ZZ7P5HT2.js → compositions-NKRVWCPE.js} +12 -11
  101. package/dist/{contactSheet-SZBJDOMT.js → contactSheet-5APX35L3.js} +1 -1
  102. package/dist/{delete-Z5MSLJSR.js → delete-HZ2LBCLC.js} +2 -2
  103. package/dist/{deploy-RGSAC2K5.js → deploy-FNDTZFF7.js} +1 -1
  104. package/dist/{deterministicFonts-RO2TCMLZ.js → deterministicFonts-RADD3BSX.js} +2 -2
  105. package/dist/{dist-RKK4YLAD.js → dist-2YTN2UGY.js} +3 -3
  106. package/dist/{dist-QQ26RUDV.js → dist-7OCZHNLY.js} +1 -1
  107. package/dist/{doctor-W4ZZDRTU.js → doctor-6QWJGO5P.js} +14 -13
  108. package/dist/{events-UACT7PX3.js → events-HTHOBIUN.js} +3 -3
  109. package/dist/{events-BSSL4A4W.js → events-MBKHVGXX.js} +2 -2
  110. package/dist/{feedback-47ILDLQG.js → feedback-X5QWTLEX.js} +8 -8
  111. package/dist/{ffmpeg-IEHSUNUT.js → ffmpeg-7GESJCCT.js} +9 -8
  112. package/dist/{figma-PLFIIYRU.js → figma-SXOHFVJI.js} +3 -3
  113. package/dist/fontLocalizeCli.js +11 -10
  114. package/dist/{get-PDWGJYNL.js → get-T2HI5FCK.js} +2 -2
  115. package/dist/{gpuPolicy-6UBXO6ME.js → gpuPolicy-5FABKW5G.js} +8 -7
  116. package/dist/{grade-compare-5VWLQGM7.js → grade-compare-JATGHA6Q.js} +37 -35
  117. package/dist/{gsapParser-UP3PNPC2.js → gsapParser-IEUSLYDJ.js} +11 -11
  118. package/dist/{gsapParserAcorn-OOTY2MVN.js → gsapParserAcorn-LZJKCFQI.js} +1 -1
  119. package/dist/{help-DS3KMWYO.js → help-G6CIKCGS.js} +1 -1
  120. package/dist/{history-OC326NVZ.js → history-CSJUHYTD.js} +7 -7
  121. package/dist/hyperframe.manifest.json +1 -1
  122. package/dist/hyperframe.runtime.iife.js +69 -63
  123. package/dist/hyperframes-player.global.js +3 -3
  124. package/dist/hyperframes-slideshow.global.js +1 -1
  125. package/dist/{info-AUIFV6MX.js → info-MTTUMW2C.js} +8 -8
  126. package/dist/{init-MRTWWDFW.js → init-LJYNI5EK.js} +30 -29
  127. package/dist/{inspect-55NOAXI2.js → inspect-HGDM2VJE.js} +31 -30
  128. package/dist/{installer-YSFFGBBV.js → installer-3XHURUDG.js} +5 -5
  129. package/dist/{keyframes-OO2BX2IB.js → keyframes-MSU7N53X.js} +59 -33
  130. package/dist/{lambda-CXXY6QT3.js → lambda-2I2TIUSD.js} +8 -8
  131. package/dist/{layout-57GJXKDK.js → layout-KWOXZMN7.js} +31 -30
  132. package/dist/{lint-J4FK3Z6G.js → lint-N53TLHFG.js} +7 -7
  133. package/dist/{lintProject-52SLJPRC.js → lintProject-EOUZA4EG.js} +1 -1
  134. package/dist/{list-VDQUJ76B.js → list-SHYPQC7U.js} +2 -2
  135. package/dist/{login-TJSEALWW.js → login-TEB6PA3Y.js} +4 -4
  136. package/dist/{manager-MZIJY73J.js → manager-COSJVRAE.js} +2 -2
  137. package/dist/{manager-4PLYEEWP.js → manager-PLRSZH5G.js} +10 -9
  138. package/dist/{media-treatment-GXP4PMJH.js → media-treatment-XTUKMIGE.js} +15 -14
  139. package/dist/{models-HQQQKEEP.js → models-4WKAPP2L.js} +14 -13
  140. package/dist/{motionShot-2BT5D7DC.js → motionShot-PTKB4ILH.js} +17 -16
  141. package/dist/{normalize-audio-SOLFMHNP.js → normalize-audio-3NG326I2.js} +6 -6
  142. package/dist/{open-KHEUODFQ.js → open-6S2LMF7R.js} +12 -12
  143. package/dist/{parakeetRunner-BHU5NCAX.js → parakeetRunner-OEI35DVO.js} +15 -14
  144. package/dist/{pipeline-WFV5HDTD.js → pipeline-543FUKH4.js} +10 -9
  145. package/dist/{play-GB34CANJ.js → play-ETEGHP3B.js} +21 -21
  146. package/dist/{preflight-REF3VSJ7.js → preflight-Y5IYUF2T.js} +11 -10
  147. package/dist/{present-SIUTA7TD.js → present-ZRSLMJ6J.js} +17 -17
  148. package/dist/{preview-T2GE7Z4A.js → preview-CEJ3SVTY.js} +100 -65
  149. package/dist/{producer-23KVQZAB.js → producer-JFVFIV26.js} +1 -1
  150. package/dist/{projectConfig-DBSNBPNP.js → projectConfig-7EK3BS72.js} +7 -7
  151. package/dist/{publication-IXPUKYWJ.js → publication-Y54GYFMV.js} +3 -3
  152. package/dist/{publish-3BA5VHXJ.js → publish-S3UJTPCV.js} +10 -10
  153. package/dist/{remove-background-RMSCJVVQ.js → remove-background-YTATNQSI.js} +11 -10
  154. package/dist/{render-XGOZMMWX.js → render-IIPXMSBO.js} +35 -34
  155. package/dist/{render-6RNE2MLU.js → render-RN3W6YL4.js} +17 -16
  156. package/dist/{render-Y6CTQ3YW.js → render-WNIG4B3J.js} +6 -6
  157. package/dist/{render-batch-VUR6N6EY.js → render-batch-OYS3UQDB.js} +6 -6
  158. package/dist/renderSetupWorker.js +42 -4
  159. package/dist/{resolver-GJCUH57W.js → resolver-OVCXVEDX.js} +5 -5
  160. package/dist/{sherpa-VVAKRCPL.js → sherpa-NCSFD7S3.js} +14 -13
  161. package/dist/skills/media-use/scripts/lib/duck.mjs +18 -2
  162. package/dist/skills/media-use/scripts/lib/duck.test.mjs +79 -0
  163. package/dist/{skills-ZHBURVQG.js → skills-IUV3K3X7.js} +5 -5
  164. package/dist/{skillsUpdateCheck-VMDAL2O2.js → skillsUpdateCheck-NACBXMWW.js} +3 -3
  165. package/dist/{snapshot-KEOG56SL.js → snapshot-7S5USJ2I.js} +39 -38
  166. package/dist/{src-TZLGFRRX.js → src-CAR6PHI4.js} +10 -9
  167. package/dist/{src-BH5NICGQ.js → src-HITT6NWG.js} +9 -6
  168. package/dist/{staticProjectServer-BKXL5CXB.js → staticProjectServer-QR6VZBPT.js} +18 -18
  169. package/dist/studio/assets/{hyperframes-player-BMcUdmDb.js → hyperframes-player-DLOUZUct.js} +1 -1
  170. package/dist/studio/assets/{index-Ca-mgTnS.js → index-CAQ7OcNJ.js} +163 -163
  171. package/dist/studio/assets/{index-Ci6GuloR.js → index-D9kA6JUX.js} +1 -1
  172. package/dist/studio/index.html +1 -1
  173. package/dist/{studio-api-A5U6QAMC.js → studio-api-HVNOJILH.js} +11 -11
  174. package/dist/{studioServer-5EC5CP4W.js → studioServer-3BG5FRJL.js} +53 -52
  175. package/dist/{telemetry-BCKJXDSW.js → telemetry-PET2GFQG.js} +3 -3
  176. package/dist/{timeline-AZWAXTAY.js → timeline-PVIC2Z5K.js} +20 -19
  177. package/dist/{tokens-X7NC3V7C.js → tokens-4N46PWSF.js} +2 -2
  178. package/dist/{transcribe-SH26H755.js → transcribe-2DVBS7MH.js} +19 -18
  179. package/dist/{transcribe-7NCY7QZ2.js → transcribe-IDC7JTM4.js} +13 -12
  180. package/dist/{updateCheck-Y7FUWQM4.js → updateCheck-QRDVXU7I.js} +2 -2
  181. package/dist/{upgrade-ZHGEVL65.js → upgrade-5CNE3TBH.js} +2 -2
  182. package/dist/{urlDownloader-FPILIT7M.js → urlDownloader-P2I25DFC.js} +7 -6
  183. package/dist/{validate-KQOZR4F6.js → validate-CLR5PEOV.js} +25 -24
  184. package/dist/{video-N2QAETFB.js → video-3CKZZBOB.js} +8 -7
  185. package/dist/warmCheck.js +38 -37
  186. package/package.json +1 -1
  187. package/dist/chunk-USWPZXEA.js +0 -3897
@@ -1,4 +1,4 @@
1
- "use strict";var HyperframesPlayer=(()=>{var k=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var J=(n,e)=>{for(var t in e)k(n,t,{get:e[t],enumerable:!0})},Q=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Y(e))!X.call(n,r)&&r!==t&&k(n,r,{get:()=>e[r],enumerable:!(i=V(e,r))||i.enumerable});return n};var Z=n=>Q(k({},"__esModule",{value:!0}),n);var Fe={};J(Fe,{HyperframesSlideshow:()=>b,childrenMayStillArrive:()=>B,dropInvalidSlides:()=>K,locateSlideshowParts:()=>_});var ee="application/hyperframes-slideshow+json";function te(n="i"){let e=ee.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),t="[\\t\\n\\f\\r ]*";return new RegExp(`<script[^>]*type${t}=${t}["']${e}["'][^>]*>([\\s\\S]*?)<\\/script>`,n)}function A(n){let t=te("i").exec(n);if(!t||t[1]===void 0)return null;let i=t[1].trim();if(i.length===0)return null;let r=JSON.parse(i);if(!ae(r))throw new Error("slideshow island is not a valid SlideshowManifest");return r}function ne(n){return n===void 0||Array.isArray(n)&&n.every(e=>typeof e=="number")}function ie(n){return n===void 0||typeof n=="boolean"}function S(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function re(n){return S(n)&&[n.x,n.y,n.w,n.h].every(e=>typeof e=="number"&&Number.isFinite(e))}function se(n){return S(n)&&typeof n.id=="string"&&typeof n.label=="string"&&typeof n.target=="string"&&(n.region===void 0||re(n.region))}function C(n){if(!S(n))return!1;let e=n;return!(typeof e.sceneId!="string"||!ne(e.fragments)||e.hotspots!==void 0&&(!Array.isArray(e.hotspots)||!e.hotspots.every(se))||!ie(e.autoplay))}function oe(n){if(typeof n!="object"||n===null)return!1;let e=n;return typeof e.id=="string"&&typeof e.label=="string"&&Array.isArray(e.slides)&&e.slides.every(C)}function ae(n){if(typeof n!="object"||n===null||Array.isArray(n))return!1;let e=n;return!(!Array.isArray(e.slides)||!e.slides.every(C)||e.slideSequences!==void 0&&(!Array.isArray(e.slideSequences)||!e.slideSequences.every(oe)))}function le(n,e){return`slide "${n}" sets ${e==="startTime"?"endTime":"startTime"} but ${e} cannot be resolved (no scene "${n}")`}function de(n,e,t){let{startTime:i,endTime:r,sceneId:s}=n;if(i!==void 0&&r!==void 0)return{start:i,end:r};if(i===void 0&&r===void 0)return e?{start:e.start,end:e.start+e.duration}:(t.push(`slide references unresolved sceneId "${s}"`),{start:0,end:0});if(!e){let a=i===void 0?"startTime":"endTime";t.push(le(s,a));let d=i??r??0;return{start:d,end:d}}return{start:i??e.start,end:r??e.start+e.duration}}function ue(n,e,t,i,r){for(let s of e)(s<t||s>i)&&r.push(`slide "${n}" fragment ${s} is outside range [${t}, ${i}]`)}function P(n,e,t){let i=e.get(n.sceneId),{start:r,end:s}=de(n,i,t);n.startTime!==void 0&&n.endTime!==void 0&&s<=r&&t.push(`slide "${n.sceneId}" has endTime (${s}) <= startTime (${r})`);let a=[...new Set(n.fragments??[])].sort((d,o)=>d-o);return ue(n.sceneId,a,r,s,t),{...n,start:r,end:s,fragments:a,hotspots:n.hotspots??[]}}function L(n,e){let t=[],i=new Map(e.map(o=>[o.id,o])),r={};for(let o of n.slideSequences??[])Object.prototype.hasOwnProperty.call(r,o.id)&&t.push(`duplicate slideSequence id "${o.id}": only the last definition is kept`),r[o.id]={id:o.id,label:o.label,slides:o.slides.map(l=>P(l,i,t))};let s=n.slides.map(o=>P(o,i,t)),a=[...s,...Object.values(r).flatMap(o=>o.slides)];for(let o of a)for(let l of o.hotspots){let u=r[l.target];u?u.slides.length===0&&t.push(`hotspot "${l.id}" targets empty sequence "${l.target}"`):t.push(`hotspot "${l.id}" targets unknown sequence "${l.target}"`)}let d=[...s].sort((o,l)=>o.start-l.start);for(let o=1;o<d.length;o++){let l=d[o-1],u=d[o];l!==void 0&&u!==void 0&&u.start<l.end&&t.push(`main-line slides "${l.sceneId}" and "${u.sceneId}" overlap`)}return{resolved:{slides:s,sequences:r},errors:t}}var f="main",y=class{constructor(e,t){this.player=e;this.show=t;this.enterSlide(0)}player;show;stack=[{sequenceId:f,slideIndex:0,fragmentIndex:-1}];changeCbs=new Set;dispose(){}slidesOf(e){return e===f?this.show.slides:this.show.sequences[e]?.slides??[]}get frame(){return this.stack[this.stack.length-1]}get currentSlide(){return this.slidesOf(this.frame.sequenceId)[this.frame.slideIndex]}get nextSlide(){return this.slidesOf(this.frame.sequenceId)[this.frame.slideIndex+1]??null}get position(){return{...this.frame}}get counter(){return{index:this.frame.slideIndex+1,total:this.slidesOf(this.frame.sequenceId).length}}get canPrev(){return this.frame.slideIndex>0||this.stack.length>1}get canNext(){let e=this.slidesOf(this.frame.sequenceId);return this.frame.slideIndex+1<e.length||this.stack.length>1}get breadcrumb(){return this.stack.map(e=>e.sequenceId===f?{id:f,label:"Main deck"}:{id:e.sequenceId,label:this.show.sequences[e.sequenceId]?.label??e.sequenceId})}onChange(e){return this.changeCbs.add(e),()=>this.changeCbs.delete(e)}emitChange(){for(let e of this.changeCbs)e()}stopSlideMedia(){this.player.stopMedia?.()}enterSlide(e){e!==this.frame.slideIndex&&this.stopSlideMedia(),this.frame.slideIndex=e;let t=this.currentSlide;if(!t){this.frame.fragmentIndex=-1;return}t.fragments.length>0?(this.frame.fragmentIndex=0,this.playTo(t.fragments[0]??t.end)):(this.frame.fragmentIndex=-1,this.playTo(this.restFrame(t))),t.autoplay&&this.player.playSceneMedia?.(t.sceneId),this.emitChange()}restFrame(e){return e.start+(e.end-e.start)*.5}resumeSlide(e,t){this.frame.slideIndex=e,this.frame.fragmentIndex=t;let i=this.currentSlide;if(!i)return;let r=t>=0&&t<i.fragments.length?i.fragments[t]??i.start:i.fragments.length>0?i.start:this.restFrame(i);this.playTo(r),this.emitChange()}playTo(e){this.player.seek(e)}next(){let e=this.currentSlide;if(!e)return;if(this.frame.fragmentIndex+1<e.fragments.length){this.frame.fragmentIndex+=1;let r=e.fragments[this.frame.fragmentIndex]??e.end;this.playTo(r),this.emitChange();return}let i=this.slidesOf(this.frame.sequenceId);this.frame.slideIndex+1<i.length?this.enterSlide(this.frame.slideIndex+1):this.stack.length>1&&this.back()}prev(){if(this.frame.slideIndex>0){this.enterSlide(this.frame.slideIndex-1);return}this.stack.length>1&&this.back()}goToSlide(e){let t=this.slidesOf(this.frame.sequenceId);e>=0&&e<t.length&&this.enterSlide(e)}enterBranch(e){let t=this.show.sequences[e];!t||t.slides.length===0||(this.stopSlideMedia(),this.stack.push({sequenceId:e,slideIndex:0,fragmentIndex:-1}),this.enterSlide(0))}back(){this.stack.length<=1||(this.stopSlideMedia(),this.stack.pop(),this.resumeSlide(this.frame.slideIndex,this.frame.fragmentIndex))}backToMain(){this.stack.length<=1||(this.stopSlideMedia(),this.stack=[this.stack[0]],this.resumeSlide(this.frame.slideIndex,this.frame.fragmentIndex))}syncTo(e,t,i){this.isValidSyncTarget(e,t)&&(this.isCrossSlide(e,t)&&this.stopSlideMedia(),this.rerootStackTo(e)&&this.resumeSlide(t,i))}isValidSyncTarget(e,t){if(!this.stack[0])return!1;let i=e===f?this.show.slides:this.show.sequences[e]?.slides??null;return i?t>=0&&t<i.length:!1}isCrossSlide(e,t){return this.frame.sequenceId!==e||this.frame.slideIndex!==t}rerootStackTo(e){if(this.frame.sequenceId===e)return!0;let t=this.stack[0];if(!t)return!1;if(this.stack=[t],e===f)return!0;let i=this.show.sequences[e];return!i||i.slides.length===0?!1:(this.stack.push({sequenceId:e,slideIndex:0,fragmentIndex:-1}),!0)}};var $="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",ce=new Set(["play","pause","seeking","seeked","ratechange","volumechange","ended","timeupdate"]),he=["currentTime","volume","playbackRate"],pe=["paused","ended","muted"];function R(n){return!(typeof n!="object"||n===null)}function fe(n){if(!R(n))return!1;let e=n;return e.type==="goto"&&typeof e.sequenceId=="string"&&typeof e.slideIndex=="number"&&typeof e.fragmentIndex=="number"}function me(n){return ce.has(n)}function ve(n){return n==="presenter"||n==="audience"}function ye(n){return he.every(e=>typeof n[e]=="number")}function ge(n){return pe.every(e=>typeof n[e]=="boolean")}function be(n){if(!R(n))return!1;let e=n;return e.type==="media"&&ve(e.sender)&&typeof e.key=="string"&&me(e.action)&&ye(e)&&ge(e)}function Me(){return`hf-slideshow:${typeof location<"u"?location.pathname:""}`}var m=class{constructor(e,t,i=()=>{}){this.mode=e;this.onGoto=t;this.onMedia=i;try{this.channel=new BroadcastChannel(Me())}catch{return}this.channel.onmessage=r=>{if(fe(r.data)){e==="audience"&&this.onGoto(r.data);return}be(r.data)&&r.data.sender!==e&&this.onMedia(r.data)}}mode;onGoto;onMedia;channel=null;postPosition(e){if(this.mode!=="presenter"||!this.channel)return;let t={type:"goto",...e};this.channel.postMessage(t)}postMedia(e){this.channel&&this.channel.postMessage({type:"media",sender:this.mode,...e})}destroy(){this.channel&&(this.channel.onmessage=null,this.channel.close(),this.channel=null)}};function F(n){let e=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),t=s=>e(s).replace(/"/g,"&quot;"),i=e(n.notes),r=n.hotspots.length?`<div style="display:flex;flex-direction:column;gap:6px;">
1
+ "use strict";var HyperframesPlayer=(()=>{var k=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var J=(n,e)=>{for(var t in e)k(n,t,{get:e[t],enumerable:!0})},Q=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Y(e))!X.call(n,r)&&r!==t&&k(n,r,{get:()=>e[r],enumerable:!(i=V(e,r))||i.enumerable});return n};var Z=n=>Q(k({},"__esModule",{value:!0}),n);var Fe={};J(Fe,{HyperframesSlideshow:()=>b,childrenMayStillArrive:()=>B,dropInvalidSlides:()=>K,locateSlideshowParts:()=>_});var ee="application/hyperframes-slideshow+json";function te(n="i"){let e=ee.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),t="[\\t\\n\\f\\r ]*";return new RegExp(`<script[^>]*type${t}=${t}["']${e}["'][^>]*>([\\s\\S]*?)<\\/script>`,n)}function A(n){let t=te("i").exec(n);if(!t||t[1]===void 0)return null;let i=t[1].trim();if(i.length===0)return null;let r=JSON.parse(i);if(!ae(r))throw new Error("slideshow island is not a valid SlideshowManifest");return r}function ne(n){return n===void 0||Array.isArray(n)&&n.every(e=>typeof e=="number")}function ie(n){return n===void 0||typeof n=="boolean"}function S(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function re(n){return S(n)&&[n.x,n.y,n.w,n.h].every(e=>typeof e=="number"&&Number.isFinite(e))}function se(n){return S(n)&&typeof n.id=="string"&&typeof n.label=="string"&&typeof n.target=="string"&&(n.region===void 0||re(n.region))}function C(n){if(!S(n))return!1;let e=n;return!(typeof e.sceneId!="string"||!ne(e.fragments)||e.hotspots!==void 0&&(!Array.isArray(e.hotspots)||!e.hotspots.every(se))||!ie(e.autoplay))}function oe(n){if(typeof n!="object"||n===null)return!1;let e=n;return typeof e.id=="string"&&typeof e.label=="string"&&Array.isArray(e.slides)&&e.slides.every(C)}function ae(n){if(typeof n!="object"||n===null||Array.isArray(n))return!1;let e=n;return!(!Array.isArray(e.slides)||!e.slides.every(C)||e.slideSequences!==void 0&&(!Array.isArray(e.slideSequences)||!e.slideSequences.every(oe)))}function le(n,e){return`slide "${n}" sets ${e==="startTime"?"endTime":"startTime"} but ${e} cannot be resolved (no scene "${n}")`}function de(n,e,t){let{startTime:i,endTime:r,sceneId:s}=n;if(i!==void 0&&r!==void 0)return{start:i,end:r};if(i===void 0&&r===void 0)return e?{start:e.start,end:e.start+e.duration}:(t.push(`slide references unresolved sceneId "${s}"`),{start:0,end:0});if(!e){let a=i===void 0?"startTime":"endTime";t.push(le(s,a));let d=i??r??0;return{start:d,end:d}}return{start:i??e.start,end:r??e.start+e.duration}}function ue(n,e,t,i,r){for(let s of e)(s<t||s>i)&&r.push(`slide "${n}" fragment ${s} is outside range [${t}, ${i}]`)}function P(n,e,t){let i=e.get(n.sceneId),{start:r,end:s}=de(n,i,t);n.startTime!==void 0&&n.endTime!==void 0&&s<=r&&t.push(`slide "${n.sceneId}" has endTime (${s}) <= startTime (${r})`);let a=[...new Set(n.fragments??[])].sort((d,o)=>d-o);return ue(n.sceneId,a,r,s,t),{...n,start:r,end:s,fragments:a,hotspots:n.hotspots??[]}}function L(n,e){let t=[],i=new Map(e.map(o=>[o.id,o])),r={};for(let o of n.slideSequences??[])Object.prototype.hasOwnProperty.call(r,o.id)&&t.push(`duplicate slideSequence id "${o.id}": only the last definition is kept`),r[o.id]={id:o.id,label:o.label,slides:o.slides.map(l=>P(l,i,t))};let s=n.slides.map(o=>P(o,i,t)),a=[...s,...Object.values(r).flatMap(o=>o.slides)];for(let o of a)for(let l of o.hotspots){let u=r[l.target];u?u.slides.length===0&&t.push(`hotspot "${l.id}" targets empty sequence "${l.target}"`):t.push(`hotspot "${l.id}" targets unknown sequence "${l.target}"`)}let d=[...s].sort((o,l)=>o.start-l.start);for(let o=1;o<d.length;o++){let l=d[o-1],u=d[o];l!==void 0&&u!==void 0&&u.start<l.end&&t.push(`main-line slides "${l.sceneId}" and "${u.sceneId}" overlap`)}return{resolved:{slides:s,sequences:r},errors:t}}var f="main",y=class{constructor(e,t){this.player=e;this.show=t;this.enterSlide(0)}player;show;stack=[{sequenceId:f,slideIndex:0,fragmentIndex:-1}];changeCbs=new Set;dispose(){}slidesOf(e){return e===f?this.show.slides:this.show.sequences[e]?.slides??[]}get frame(){return this.stack[this.stack.length-1]}get currentSlide(){return this.slidesOf(this.frame.sequenceId)[this.frame.slideIndex]}get nextSlide(){return this.slidesOf(this.frame.sequenceId)[this.frame.slideIndex+1]??null}get position(){return{...this.frame}}get counter(){return{index:this.frame.slideIndex+1,total:this.slidesOf(this.frame.sequenceId).length}}get canPrev(){return this.frame.slideIndex>0||this.stack.length>1}get canNext(){let e=this.currentSlide;if(e&&this.frame.fragmentIndex+1<e.fragments.length)return!0;let t=this.slidesOf(this.frame.sequenceId);return this.frame.slideIndex+1<t.length||this.stack.length>1}get breadcrumb(){return this.stack.map(e=>e.sequenceId===f?{id:f,label:"Main deck"}:{id:e.sequenceId,label:this.show.sequences[e.sequenceId]?.label??e.sequenceId})}onChange(e){return this.changeCbs.add(e),()=>this.changeCbs.delete(e)}emitChange(){for(let e of this.changeCbs)e()}stopSlideMedia(){this.player.stopMedia?.()}enterSlide(e){e!==this.frame.slideIndex&&this.stopSlideMedia(),this.frame.slideIndex=e;let t=this.currentSlide;if(!t){this.frame.fragmentIndex=-1;return}t.fragments.length>0?(this.frame.fragmentIndex=0,this.playTo(t.fragments[0]??t.end)):(this.frame.fragmentIndex=-1,this.playTo(this.restFrame(t))),t.autoplay&&this.player.playSceneMedia?.(t.sceneId),this.emitChange()}restFrame(e){return e.start+(e.end-e.start)*.5}resumeSlide(e,t){this.frame.slideIndex=e,this.frame.fragmentIndex=t;let i=this.currentSlide;if(!i)return;let r=t>=0&&t<i.fragments.length?i.fragments[t]??i.start:i.fragments.length>0?i.start:this.restFrame(i);this.playTo(r),this.emitChange()}playTo(e){this.player.seek(e)}next(){let e=this.currentSlide;if(!e)return;if(this.frame.fragmentIndex+1<e.fragments.length){this.frame.fragmentIndex+=1;let r=e.fragments[this.frame.fragmentIndex]??e.end;this.playTo(r),this.emitChange();return}let i=this.slidesOf(this.frame.sequenceId);this.frame.slideIndex+1<i.length?this.enterSlide(this.frame.slideIndex+1):this.stack.length>1&&this.back()}prev(){if(this.frame.slideIndex>0){this.enterSlide(this.frame.slideIndex-1);return}this.stack.length>1&&this.back()}goToSlide(e){let t=this.slidesOf(this.frame.sequenceId);e>=0&&e<t.length&&this.enterSlide(e)}enterBranch(e){let t=this.show.sequences[e];!t||t.slides.length===0||(this.stopSlideMedia(),this.stack.push({sequenceId:e,slideIndex:0,fragmentIndex:-1}),this.enterSlide(0))}back(){this.stack.length<=1||(this.stopSlideMedia(),this.stack.pop(),this.resumeSlide(this.frame.slideIndex,this.frame.fragmentIndex))}backToMain(){this.stack.length<=1||(this.stopSlideMedia(),this.stack=[this.stack[0]],this.resumeSlide(this.frame.slideIndex,this.frame.fragmentIndex))}syncTo(e,t,i){this.isValidSyncTarget(e,t)&&(this.isCrossSlide(e,t)&&this.stopSlideMedia(),this.rerootStackTo(e)&&this.resumeSlide(t,i))}isValidSyncTarget(e,t){if(!this.stack[0])return!1;let i=e===f?this.show.slides:this.show.sequences[e]?.slides??null;return i?t>=0&&t<i.length:!1}isCrossSlide(e,t){return this.frame.sequenceId!==e||this.frame.slideIndex!==t}rerootStackTo(e){if(this.frame.sequenceId===e)return!0;let t=this.stack[0];if(!t)return!1;if(this.stack=[t],e===f)return!0;let i=this.show.sequences[e];return!i||i.slides.length===0?!1:(this.stack.push({sequenceId:e,slideIndex:0,fragmentIndex:-1}),!0)}};var $="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",ce=new Set(["play","pause","seeking","seeked","ratechange","volumechange","ended","timeupdate"]),he=["currentTime","volume","playbackRate"],pe=["paused","ended","muted"];function R(n){return!(typeof n!="object"||n===null)}function fe(n){if(!R(n))return!1;let e=n;return e.type==="goto"&&typeof e.sequenceId=="string"&&typeof e.slideIndex=="number"&&typeof e.fragmentIndex=="number"}function me(n){return ce.has(n)}function ve(n){return n==="presenter"||n==="audience"}function ye(n){return he.every(e=>typeof n[e]=="number")}function ge(n){return pe.every(e=>typeof n[e]=="boolean")}function be(n){if(!R(n))return!1;let e=n;return e.type==="media"&&ve(e.sender)&&typeof e.key=="string"&&me(e.action)&&ye(e)&&ge(e)}function Me(){return`hf-slideshow:${typeof location<"u"?location.pathname:""}`}var m=class{constructor(e,t,i=()=>{}){this.mode=e;this.onGoto=t;this.onMedia=i;try{this.channel=new BroadcastChannel(Me())}catch{return}this.channel.onmessage=r=>{if(fe(r.data)){e==="audience"&&this.onGoto(r.data);return}be(r.data)&&r.data.sender!==e&&this.onMedia(r.data)}}mode;onGoto;onMedia;channel=null;postPosition(e){if(this.mode!=="presenter"||!this.channel)return;let t={type:"goto",...e};this.channel.postMessage(t)}postMedia(e){this.channel&&this.channel.postMessage({type:"media",sender:this.mode,...e})}destroy(){this.channel&&(this.channel.onmessage=null,this.channel.close(),this.channel=null)}};function F(n){let e=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),t=s=>e(s).replace(/"/g,"&quot;"),i=e(n.notes),r=n.hotspots.length?`<div style="display:flex;flex-direction:column;gap:6px;">
2
2
  <div style="font-size:12px;text-transform:uppercase;letter-spacing:.12em;opacity:.55;">Branches</div>
3
3
  ${n.hotspots.map(s=>`<button data-hotspot-id="${t(s.id)}" data-hotspot-target="${t(s.target)}" type="button" title="${t(s.label)}" style="text-align:left;background:rgba(244,183,64,0.14);color:#f4b740;border:1px solid rgba(244,183,64,0.4);border-radius:8px;padding:8px 12px;font-size:15px;cursor:pointer;pointer-events:auto;font-family:inherit;">&#8627; ${e(s.label)}</button>`).join("")}
4
4
  </div>`:"";return`
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-LMNZLZMJ.js";
9
+ } from "./chunk-ST4SHO3S.js";
10
10
  import {
11
11
  formatBytes,
12
12
  label
@@ -14,8 +14,8 @@ import {
14
14
  import {
15
15
  ensureDOMParser
16
16
  } from "./chunk-442JNXRM.js";
17
- import "./chunk-RTLPWOO6.js";
18
- import "./chunk-ZZPBXRYQ.js";
17
+ import "./chunk-POFJH2IS.js";
18
+ import "./chunk-54PZ2EQZ.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import {
21
21
  defineCommand
@@ -25,17 +25,17 @@ import "./chunk-JVBRJMOP.js";
25
25
  import {
26
26
  c
27
27
  } from "./chunk-ZTZA4UWZ.js";
28
- import "./chunk-7HTH5PFK.js";
28
+ import "./chunk-JVTWX5G3.js";
29
29
  import "./chunk-RQVDTPGD.js";
30
30
  import {
31
31
  isHtmlElement
32
- } from "./chunk-USWPZXEA.js";
32
+ } from "./chunk-2D5WP2NI.js";
33
33
  import "./chunk-VC76R6W2.js";
34
34
  import "./chunk-X7HBSTCZ.js";
35
35
  import {
36
36
  CANVAS_DIMENSIONS,
37
37
  parseHtml
38
- } from "./chunk-2MCXIY4B.js";
38
+ } from "./chunk-B7RJV74O.js";
39
39
  import "./chunk-OFQWTKPW.js";
40
40
  import "./chunk-DPVXBVLL.js";
41
41
  import "./chunk-634HSJ3J.js";
@@ -53,12 +53,12 @@ import "./chunk-RXATE6FZ.js";
53
53
  import "./chunk-W2LGJSEN.js";
54
54
  import {
55
55
  withMeta
56
- } from "./chunk-TZEKVLPV.js";
56
+ } from "./chunk-SNECH6QA.js";
57
57
  import "./chunk-K4WIOZFP.js";
58
58
  import "./chunk-6NLPPKBO.js";
59
59
  import "./chunk-WERLJGIC.js";
60
60
  import "./chunk-ISN5GRYI.js";
61
- import "./chunk-LFUVTS6V.js";
61
+ import "./chunk-EY7GKVPS.js";
62
62
  import "./chunk-T2EUWCJE.js";
63
63
  import "./chunk-M2WBOQ2Q.js";
64
64
 
@@ -6,24 +6,24 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  gateRegistryItemsCompatibility
9
- } from "./chunk-ZT45TCY3.js";
9
+ } from "./chunk-2AJU7PZ6.js";
10
10
  import {
11
11
  copyDirSync
12
12
  } from "./chunk-CIWX5UKC.js";
13
13
  import {
14
14
  initialModelForLanguage
15
- } from "./chunk-M3KZBDPB.js";
16
- import "./chunk-BP4EMEGH.js";
15
+ } from "./chunk-Q4HKC3O7.js";
16
+ import "./chunk-4VSV56F2.js";
17
17
  import {
18
18
  DEFAULT_MODEL,
19
19
  hasFFmpeg
20
- } from "./chunk-VLLFORE2.js";
20
+ } from "./chunk-Y3BT27Y7.js";
21
21
  import "./chunk-WQ6ZXHFQ.js";
22
22
  import {
23
23
  findFFmpeg,
24
24
  findFFprobe,
25
25
  getFFmpegInstallHint
26
- } from "./chunk-DYNHVCBF.js";
26
+ } from "./chunk-XYGULBFV.js";
27
27
  import {
28
28
  Ee,
29
29
  R,
@@ -43,19 +43,19 @@ import {
43
43
  listRegistryItems,
44
44
  loadAllItems,
45
45
  resolveItemWithDependencies
46
- } from "./chunk-X5CECNCK.js";
46
+ } from "./chunk-QJQTWTM7.js";
47
47
  import "./chunk-JHOCK3DG.js";
48
48
  import {
49
49
  installItem
50
- } from "./chunk-QKX7ITER.js";
51
- import "./chunk-7QNIXBQD.js";
50
+ } from "./chunk-BYADARIC.js";
51
+ import "./chunk-M2VXARYK.js";
52
52
  import "./chunk-AWDFDFI3.js";
53
53
  import "./chunk-P6LJ4Y32.js";
54
54
  import "./chunk-GMECXFAN.js";
55
55
  import {
56
56
  trackInitTemplate
57
- } from "./chunk-RTLPWOO6.js";
58
- import "./chunk-ZZPBXRYQ.js";
57
+ } from "./chunk-POFJH2IS.js";
58
+ import "./chunk-54PZ2EQZ.js";
59
59
  import "./chunk-VWG7OQKU.js";
60
60
  import {
61
61
  defineCommand,
@@ -70,12 +70,12 @@ import {
70
70
  c,
71
71
  isColorSupported
72
72
  } from "./chunk-ZTZA4UWZ.js";
73
- import "./chunk-L4JB7LI4.js";
73
+ import "./chunk-52YJKWV3.js";
74
74
  import "./chunk-IZCW2NKT.js";
75
- import "./chunk-7HTH5PFK.js";
75
+ import "./chunk-JVTWX5G3.js";
76
76
  import "./chunk-RQVDTPGD.js";
77
- import "./chunk-3W4B6G7Y.js";
78
- import "./chunk-USWPZXEA.js";
77
+ import "./chunk-GAFEU6AB.js";
78
+ import "./chunk-2D5WP2NI.js";
79
79
  import "./chunk-VC76R6W2.js";
80
80
  import "./chunk-X7HBSTCZ.js";
81
81
  import {
@@ -84,18 +84,19 @@ import {
84
84
  HTML_BODY_CSS_WIDTH_FIRST_RE,
85
85
  VIEWPORT_META_SIZE_RE,
86
86
  normalizeResolutionFlag
87
- } from "./chunk-2MCXIY4B.js";
87
+ } from "./chunk-B7RJV74O.js";
88
88
  import "./chunk-OFQWTKPW.js";
89
89
  import "./chunk-DPVXBVLL.js";
90
90
  import "./chunk-3GXQPCJC.js";
91
91
  import "./chunk-634HSJ3J.js";
92
92
  import "./chunk-FXMKHHPO.js";
93
- import "./chunk-IW5G323T.js";
94
- import "./chunk-RWGASWT7.js";
93
+ import "./chunk-LTGTN2TH.js";
94
+ import "./chunk-BL4U6U52.js";
95
95
  import "./chunk-T6AGUTZJ.js";
96
96
  import "./chunk-XT6MXC7A.js";
97
+ import "./chunk-K4MJX7SR.js";
97
98
  import "./chunk-4UMPIPCQ.js";
98
- import "./chunk-2VXY3PEF.js";
99
+ import "./chunk-K2VXPQKC.js";
99
100
  import "./chunk-VAS6HQX3.js";
100
101
  import "./chunk-6BNTGNGD.js";
101
102
  import "./chunk-CZGHFATT.js";
@@ -112,7 +113,7 @@ import "./chunk-WERLJGIC.js";
112
113
  import "./chunk-ISN5GRYI.js";
113
114
  import {
114
115
  VERSION
115
- } from "./chunk-LFUVTS6V.js";
116
+ } from "./chunk-EY7GKVPS.js";
116
117
  import "./chunk-T2EUWCJE.js";
117
118
  import "./chunk-UOFAE5RF.js";
118
119
  import {
@@ -702,7 +703,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
702
703
  "utf-8"
703
704
  );
704
705
  if (!existsSync2(resolve(destDir, "hyperframes.json"))) {
705
- const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-DBSNBPNP.js");
706
+ const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-7EK3BS72.js");
706
707
  const { normalizeSkillSlug } = await import("./skill-ZHVLH7KX.js");
707
708
  const skill = normalizeSkillSlug(authoringSkill);
708
709
  createProjectConfig(
@@ -723,7 +724,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
723
724
  }
724
725
  }
725
726
  async function keepSkillsCurrent(destDir) {
726
- const { updateSkills } = await import("./skills-ZHBURVQG.js");
727
+ const { updateSkills } = await import("./skills-IUV3K3X7.js");
727
728
  console.log();
728
729
  console.log(c.bold("Checking AI coding skills against GitHub..."));
729
730
  try {
@@ -919,17 +920,17 @@ var init_default = defineCommand({
919
920
  if (audioPath) {
920
921
  sourceFilePath2 = audioPath;
921
922
  copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
922
- const { getMediaDurationSeconds } = await import("./transcribe-7NCY7QZ2.js");
923
+ const { getMediaDurationSeconds } = await import("./transcribe-IDC7JTM4.js");
923
924
  videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
924
925
  console.log(`Audio: ${basename(audioPath)}`);
925
926
  }
926
927
  if (sourceFilePath2 && !skipTranscribe) {
927
928
  try {
928
- const { ensureWhisper, ensureModel } = await import("./manager-4PLYEEWP.js");
929
+ const { ensureWhisper, ensureModel } = await import("./manager-PLRSZH5G.js");
929
930
  await ensureWhisper();
930
931
  await ensureModel(initialTranscriptionModel);
931
932
  console.log("Transcribing...");
932
- const { transcribe: runTranscribe } = await import("./transcribe-7NCY7QZ2.js");
933
+ const { transcribe: runTranscribe } = await import("./transcribe-IDC7JTM4.js");
933
934
  const result = await runTranscribe(sourceFilePath2, destDir2, {
934
935
  model: modelFlag,
935
936
  language: languageFlag
@@ -1075,7 +1076,7 @@ var init_default = defineCommand({
1075
1076
  mkdirSync(destDir, { recursive: true });
1076
1077
  sourceFilePath = audioPath;
1077
1078
  copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
1078
- const { getMediaDurationSeconds } = await import("./transcribe-7NCY7QZ2.js");
1079
+ const { getMediaDurationSeconds } = await import("./transcribe-IDC7JTM4.js");
1079
1080
  videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
1080
1081
  R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
1081
1082
  }
@@ -1085,7 +1086,7 @@ var init_default = defineCommand({
1085
1086
  initialValue: true
1086
1087
  });
1087
1088
  if (!q(transcribeChoice) && transcribeChoice) {
1088
- const { findWhisper } = await import("./manager-4PLYEEWP.js");
1089
+ const { findWhisper } = await import("./manager-PLRSZH5G.js");
1089
1090
  const needsInstall = findWhisper() === void 0;
1090
1091
  if (needsInstall) {
1091
1092
  R.info(c.dim("whisper-cpp not found \u2014 installing automatically..."));
@@ -1095,7 +1096,7 @@ var init_default = defineCommand({
1095
1096
  needsInstall ? "Installing whisper-cpp (this may take a moment)..." : "Preparing transcription..."
1096
1097
  );
1097
1098
  try {
1098
- const { ensureWhisper, ensureModel } = await import("./manager-4PLYEEWP.js");
1099
+ const { ensureWhisper, ensureModel } = await import("./manager-PLRSZH5G.js");
1099
1100
  await ensureWhisper({
1100
1101
  onProgress: (msg) => spin2.message(msg)
1101
1102
  });
@@ -1103,7 +1104,7 @@ var init_default = defineCommand({
1103
1104
  onProgress: (msg) => spin2.message(msg)
1104
1105
  });
1105
1106
  spin2.message("Transcribing audio...");
1106
- const { transcribe: runTranscribe } = await import("./transcribe-7NCY7QZ2.js");
1107
+ const { transcribe: runTranscribe } = await import("./transcribe-IDC7JTM4.js");
1107
1108
  const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
1108
1109
  model: modelFlag,
1109
1110
  language: languageFlag,
@@ -1181,7 +1182,7 @@ ${c.dim("Use --example blank for offline use.")}`
1181
1182
  }
1182
1183
  R.info("Opening studio preview...");
1183
1184
  try {
1184
- const previewCmd = await import("./preview-T2GE7Z4A.js").then((m) => m.default);
1185
+ const previewCmd = await import("./preview-CEJ3SVTY.js").then((m) => m.default);
1185
1186
  await runCommand(previewCmd, { rawArgs: [destDir] });
1186
1187
  } catch {
1187
1188
  }
@@ -6,45 +6,45 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createInspectCommand
9
- } from "./chunk-6LWUPIKD.js";
10
- import "./chunk-LMNZLZMJ.js";
11
- import "./chunk-VPC4XIVI.js";
12
- import "./chunk-L5YLA54L.js";
9
+ } from "./chunk-NVVIFW3C.js";
10
+ import "./chunk-ST4SHO3S.js";
11
+ import "./chunk-VPON6DF2.js";
12
+ import "./chunk-EB3XXHNO.js";
13
13
  import "./chunk-X7MTZ4T2.js";
14
14
  import "./chunk-XUHOIDKG.js";
15
- import "./chunk-UNATIAOT.js";
16
- import "./chunk-XQPA4W3M.js";
15
+ import "./chunk-JXTPNUSO.js";
16
+ import "./chunk-JU4T4VAA.js";
17
17
  import "./chunk-6JR2XUEE.js";
18
- import "./chunk-FBVUAH7N.js";
19
- import "./chunk-C4Y3ZREE.js";
20
- import "./chunk-7YSFE4SZ.js";
18
+ import "./chunk-2OYYNKJ4.js";
19
+ import "./chunk-OJNNKHAZ.js";
20
+ import "./chunk-MCFPMUMT.js";
21
21
  import "./chunk-ALVXFXUG.js";
22
- import "./chunk-4LXZJIVY.js";
23
- import "./chunk-UIC7B5KW.js";
22
+ import "./chunk-O2ILONGK.js";
23
+ import "./chunk-CEZH4AQT.js";
24
24
  import "./chunk-MOEGCMKI.js";
25
- import "./chunk-UB7BIDBS.js";
25
+ import "./chunk-PEHST4UY.js";
26
26
  import "./chunk-DKPNNYBZ.js";
27
- import "./chunk-VW63MHQU.js";
27
+ import "./chunk-FUA22HO4.js";
28
28
  import "./chunk-K2FLNJVB.js";
29
29
  import "./chunk-EHSBBBR2.js";
30
- import "./chunk-4TKJWWPL.js";
30
+ import "./chunk-VHIBBDEI.js";
31
31
  import "./chunk-442JNXRM.js";
32
- import "./chunk-YS4JUGNI.js";
33
- import "./chunk-6XUJVEY2.js";
32
+ import "./chunk-MGSNFWGR.js";
33
+ import "./chunk-B3GG3HJB.js";
34
34
  import "./chunk-XT7X6QCP.js";
35
35
  import "./chunk-4YYJOFKS.js";
36
36
  import "./chunk-HVW7ABXD.js";
37
- import "./chunk-X5CECNCK.js";
37
+ import "./chunk-QJQTWTM7.js";
38
38
  import "./chunk-JHOCK3DG.js";
39
- import "./chunk-QKX7ITER.js";
40
- import "./chunk-7QNIXBQD.js";
39
+ import "./chunk-BYADARIC.js";
40
+ import "./chunk-M2VXARYK.js";
41
41
  import "./chunk-AWDFDFI3.js";
42
42
  import "./chunk-P6LJ4Y32.js";
43
43
  import "./chunk-GMECXFAN.js";
44
- import "./chunk-E3P3LJG6.js";
44
+ import "./chunk-FLREUEHW.js";
45
45
  import "./chunk-EOVYQ3IG.js";
46
- import "./chunk-RTLPWOO6.js";
47
- import "./chunk-ZZPBXRYQ.js";
46
+ import "./chunk-POFJH2IS.js";
47
+ import "./chunk-54PZ2EQZ.js";
48
48
  import "./chunk-VWG7OQKU.js";
49
49
  import "./chunk-S3S4TGEH.js";
50
50
  import "./chunk-54HJ63Q2.js";
@@ -53,15 +53,15 @@ import "./chunk-ZTZA4UWZ.js";
53
53
  import "./chunk-KLIKCX6Q.js";
54
54
  import "./chunk-EVMY7IPL.js";
55
55
  import "./chunk-7FMUTGOH.js";
56
- import "./chunk-L4JB7LI4.js";
56
+ import "./chunk-52YJKWV3.js";
57
57
  import "./chunk-IZCW2NKT.js";
58
- import "./chunk-7HTH5PFK.js";
58
+ import "./chunk-JVTWX5G3.js";
59
59
  import "./chunk-RQVDTPGD.js";
60
- import "./chunk-3W4B6G7Y.js";
61
- import "./chunk-USWPZXEA.js";
60
+ import "./chunk-GAFEU6AB.js";
61
+ import "./chunk-2D5WP2NI.js";
62
62
  import "./chunk-VC76R6W2.js";
63
63
  import "./chunk-X7HBSTCZ.js";
64
- import "./chunk-2MCXIY4B.js";
64
+ import "./chunk-B7RJV74O.js";
65
65
  import "./chunk-OFQWTKPW.js";
66
66
  import "./chunk-DPVXBVLL.js";
67
67
  import "./chunk-3GXQPCJC.js";
@@ -69,8 +69,9 @@ import "./chunk-634HSJ3J.js";
69
69
  import "./chunk-FXMKHHPO.js";
70
70
  import "./chunk-T6AGUTZJ.js";
71
71
  import "./chunk-XT6MXC7A.js";
72
+ import "./chunk-K4MJX7SR.js";
72
73
  import "./chunk-4UMPIPCQ.js";
73
- import "./chunk-2VXY3PEF.js";
74
+ import "./chunk-K2VXPQKC.js";
74
75
  import "./chunk-VAS6HQX3.js";
75
76
  import "./chunk-6BNTGNGD.js";
76
77
  import "./chunk-CZGHFATT.js";
@@ -81,12 +82,12 @@ import "./chunk-SDYDNHEE.js";
81
82
  import "./chunk-3422KMTD.js";
82
83
  import "./chunk-RXATE6FZ.js";
83
84
  import "./chunk-W2LGJSEN.js";
84
- import "./chunk-TZEKVLPV.js";
85
+ import "./chunk-SNECH6QA.js";
85
86
  import "./chunk-K4WIOZFP.js";
86
87
  import "./chunk-6NLPPKBO.js";
87
88
  import "./chunk-WERLJGIC.js";
88
89
  import "./chunk-ISN5GRYI.js";
89
- import "./chunk-LFUVTS6V.js";
90
+ import "./chunk-EY7GKVPS.js";
90
91
  import "./chunk-T2EUWCJE.js";
91
92
  import "./chunk-KGPLIH7B.js";
92
93
  import "./chunk-M2WBOQ2Q.js";
@@ -10,17 +10,17 @@ import {
10
10
  prepareItem,
11
11
  publishItem,
12
12
  recordRewrittenInstall
13
- } from "./chunk-QKX7ITER.js";
14
- import "./chunk-7QNIXBQD.js";
13
+ } from "./chunk-BYADARIC.js";
14
+ import "./chunk-M2VXARYK.js";
15
15
  import "./chunk-AWDFDFI3.js";
16
16
  import "./chunk-P6LJ4Y32.js";
17
17
  import "./chunk-GMECXFAN.js";
18
- import "./chunk-7HTH5PFK.js";
18
+ import "./chunk-JVTWX5G3.js";
19
19
  import "./chunk-RQVDTPGD.js";
20
- import "./chunk-USWPZXEA.js";
20
+ import "./chunk-2D5WP2NI.js";
21
21
  import "./chunk-VC76R6W2.js";
22
22
  import "./chunk-X7HBSTCZ.js";
23
- import "./chunk-2MCXIY4B.js";
23
+ import "./chunk-B7RJV74O.js";
24
24
  import "./chunk-OFQWTKPW.js";
25
25
  import "./chunk-DPVXBVLL.js";
26
26
  import "./chunk-634HSJ3J.js";
@@ -6,13 +6,13 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-LMNZLZMJ.js";
9
+ } from "./chunk-ST4SHO3S.js";
10
10
  import "./chunk-K2FLNJVB.js";
11
11
  import {
12
12
  ensureDOMParser
13
13
  } from "./chunk-442JNXRM.js";
14
- import "./chunk-RTLPWOO6.js";
15
- import "./chunk-ZZPBXRYQ.js";
14
+ import "./chunk-POFJH2IS.js";
15
+ import "./chunk-54PZ2EQZ.js";
16
16
  import "./chunk-VWG7OQKU.js";
17
17
  import {
18
18
  defineCommand
@@ -41,12 +41,12 @@ import {
41
41
  import "./chunk-W2LGJSEN.js";
42
42
  import {
43
43
  withMeta
44
- } from "./chunk-TZEKVLPV.js";
44
+ } from "./chunk-SNECH6QA.js";
45
45
  import "./chunk-K4WIOZFP.js";
46
46
  import "./chunk-6NLPPKBO.js";
47
47
  import "./chunk-WERLJGIC.js";
48
48
  import "./chunk-ISN5GRYI.js";
49
- import "./chunk-LFUVTS6V.js";
49
+ import "./chunk-EY7GKVPS.js";
50
50
  import "./chunk-T2EUWCJE.js";
51
51
  import {
52
52
  __toESM
@@ -102,6 +102,33 @@ function classifyTweenPropertyGroup(properties) {
102
102
  if (groups.size === 1) return groups.values().next().value;
103
103
  return void 0;
104
104
  }
105
+ function mergePercentageKeyframes(keyframes) {
106
+ const byPercentage = /* @__PURE__ */ new Map();
107
+ for (const keyframe of keyframes) {
108
+ const existing = byPercentage.get(keyframe.percentage);
109
+ if (!existing) {
110
+ byPercentage.set(keyframe.percentage, {
111
+ ...keyframe,
112
+ properties: { ...keyframe.properties }
113
+ });
114
+ continue;
115
+ }
116
+ existing.properties = { ...existing.properties, ...keyframe.properties };
117
+ if (keyframe.ease !== void 0) existing.ease = keyframe.ease;
118
+ if (keyframe.auto !== void 0) existing.auto = keyframe.auto;
119
+ }
120
+ return [...byPercentage.values()].sort((a, b) => a.percentage - b.percentage);
121
+ }
122
+ function distributeArrayKeyframes(channels) {
123
+ return mergePercentageKeyframes(
124
+ [...channels].flatMap(
125
+ ([key, values]) => values.map((value, index) => ({
126
+ percentage: values.length > 1 ? Math.round(index / (values.length - 1) * 100) : 0,
127
+ properties: { [key]: value }
128
+ }))
129
+ )
130
+ );
131
+ }
105
132
  function buildArcPath(coords, curviness, autoRotate, isCubic) {
106
133
  const first = coords[0];
107
134
  if (coords.length < 2 || !first) return void 0;
@@ -1373,19 +1400,9 @@ function parseSimpleArrayKeyframes(node, scope) {
1373
1400
  easeEach = tryResolveStringProp(prop.value, scope) ?? easeEach;
1374
1401
  }
1375
1402
  }
1376
- const maxLen = Math.max(...[...arrayProps.values()].map((a) => a.length), 0);
1377
- const keyframes = [];
1378
- for (let i = 0; i < maxLen; i++) {
1379
- const percentage = maxLen > 1 ? Math.round(i / (maxLen - 1) * 100) : 0;
1380
- const properties = {};
1381
- for (const [key, values] of arrayProps) {
1382
- if (i < values.length) properties[key] = values[i];
1383
- }
1384
- keyframes.push({ percentage, properties });
1385
- }
1386
1403
  return {
1387
1404
  format: "simple-array",
1388
- keyframes,
1405
+ keyframes: distributeArrayKeyframes(arrayProps),
1389
1406
  ...ease ? { ease } : {},
1390
1407
  ...easeEach ? { easeEach } : {}
1391
1408
  };
@@ -1942,7 +1959,7 @@ var examples = [
1942
1959
  ["Only one element's keyframes", "hyperframes keyframes --selector '#puck-a'"],
1943
1960
  ["Runtime-aware hint for CSS/Anime compositions", "hyperframes keyframes --runtime all"]
1944
1961
  ];
1945
- function queryIncludingTemplates(html, selector) {
1962
+ function compositionRoots(html) {
1946
1963
  const doc = new DOMParser().parseFromString(html, "text/html");
1947
1964
  const roots = [doc];
1948
1965
  const queue = Array.from(doc.querySelectorAll("template"));
@@ -1952,7 +1969,10 @@ function queryIncludingTemplates(html, selector) {
1952
1969
  roots.push(content);
1953
1970
  queue.push(...Array.from(content.querySelectorAll("template")));
1954
1971
  }
1955
- return roots.flatMap((root) => Array.from(root.querySelectorAll(selector)));
1972
+ return roots;
1973
+ }
1974
+ function queryIncludingTemplates(html, selector) {
1975
+ return compositionRoots(html).flatMap((root) => Array.from(root.querySelectorAll(selector)));
1956
1976
  }
1957
1977
  function inlineScriptText(html) {
1958
1978
  return queryIncludingTemplates(html, "script").filter((s) => !s.getAttribute("src")).map((s) => s.textContent ?? "").join("\n");
@@ -2316,9 +2336,9 @@ function surfaceAnime(script) {
2316
2336
  function attachComposedAncestors(tweens, html) {
2317
2337
  const animated = [...new Set(tweens.filter((t) => t.method !== "set").map((t) => t.target))];
2318
2338
  if (animated.length < 2) return;
2319
- const doc = new DOMParser().parseFromString(html, "text/html");
2339
+ const roots = compositionRoots(html);
2320
2340
  for (const t of tweens) {
2321
- const ancestors = animatedAncestors(doc, t.target, animated);
2341
+ const ancestors = animatedAncestors(roots, t.target, animated);
2322
2342
  if (ancestors.length) {
2323
2343
  t.composedWith = ancestors.map((sel) => ({
2324
2344
  selector: sel,
@@ -2334,13 +2354,19 @@ var safeMatches = (el, sel) => {
2334
2354
  return false;
2335
2355
  }
2336
2356
  };
2337
- function animatedAncestors(doc, target, animated) {
2338
- let el = null;
2357
+ function firstCompositionMatch(roots, selector) {
2339
2358
  try {
2340
- el = doc.querySelector(target);
2359
+ for (const root of roots) {
2360
+ const el = Array.from(root.querySelectorAll(selector))[0];
2361
+ if (el) return el;
2362
+ }
2341
2363
  } catch {
2342
- return [];
2364
+ return null;
2343
2365
  }
2366
+ return null;
2367
+ }
2368
+ function animatedAncestors(roots, target, animated) {
2369
+ const el = firstCompositionMatch(roots, target);
2344
2370
  const out = [];
2345
2371
  for (let n = el?.parentElement ?? null; n; n = n.parentElement) {
2346
2372
  for (const sel of animated) {
@@ -2513,7 +2539,7 @@ function printOnionShotSaved(saved, elementCount) {
2513
2539
  console.log();
2514
2540
  }
2515
2541
  async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
2516
- const { captureMotionPathShot } = await import("./motionShot-2BT5D7DC.js");
2542
+ const { captureMotionPathShot } = await import("./motionShot-PTKB4ILH.js");
2517
2543
  const requests = collectShotSelectors(args.selector ? allComps : comps);
2518
2544
  const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
2519
2545
  if (guardError) {
@@ -2669,14 +2695,6 @@ function createKeyframesCommand(options = {}) {
2669
2695
  async run({ args }) {
2670
2696
  ensureDOMParser();
2671
2697
  const runtime = normalizeRuntime(args.runtime, commandOptions.defaultRuntime);
2672
- if (runtime === "css" || runtime === "anime") {
2673
- console.log(
2674
- c.dim(
2675
- `${commandOptions.name}: ${runtime} output is a static authoring surface; use validate/render/snapshot to verify runtime adapter seekability.`
2676
- )
2677
- );
2678
- console.log();
2679
- }
2680
2698
  const { comps: rawComps, allComps, projectName, projectDir, entryFile } = resolveScope(args);
2681
2699
  const comps = filterCompositionsByRuntime(rawComps, runtime);
2682
2700
  if (args.shot && await runOnionShot(comps, allComps, projectDir, entryFile, args)) return;
@@ -2686,6 +2704,14 @@ function createKeyframesCommand(options = {}) {
2686
2704
  );
2687
2705
  return;
2688
2706
  }
2707
+ if (runtime === "css" || runtime === "anime") {
2708
+ console.log(
2709
+ c.dim(
2710
+ `${commandOptions.name}: ${runtime} output is a static authoring surface; use validate/render/snapshot to verify runtime adapter seekability.`
2711
+ )
2712
+ );
2713
+ console.log();
2714
+ }
2689
2715
  const total = comps.reduce(
2690
2716
  (n, cmp) => n + cmp.tweens.length + cmp.cssKeyframes.length + cmp.anime.length,
2691
2717
  0