hyperframes 0.8.144 → 0.8.145

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 (171) hide show
  1. package/README.md +3 -2
  2. package/dist/{add-CWRTVGDB.js → add-B6OUH46W.js} +11 -11
  3. package/dist/{animatedGifPrep-JTOHIWI4.js → animatedGifPrep-MIWRDJIO.js} +5 -5
  4. package/dist/{asset-KU2Z4UFM.js → asset-XJ2B2PU3.js} +2 -2
  5. package/dist/{assetCataloger-3CS2P7PA.js → assetCataloger-A5ZLSCMZ.js} +2 -2
  6. package/dist/{auth-IDSOIQWG.js → auth-5HOVCZMV.js} +1 -1
  7. package/dist/{autoUpdate-373B4BA2.js → autoUpdate-WVNL5K3D.js} +2 -2
  8. package/dist/{backgroundChecks-53Q3NAMG.js → backgroundChecks-IGF54SFH.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-UKZA6BME.js → batchRender-T6JEGCQV.js} +3 -3
  11. package/dist/{beats-N5JGEOFR.js → beats-37T6Y6QP.js} +10 -10
  12. package/dist/{benchmark-CUN3LN4V.js → benchmark-ZVVLOWPP.js} +8 -8
  13. package/dist/{browser-NCZT5AP6.js → browser-4SSJOLH4.js} +3 -3
  14. package/dist/{bundleWithLocalizedFonts-FWC7PE2D.js → bundleWithLocalizedFonts-XWK423QP.js} +2 -2
  15. package/dist/{capture-YLS32UHT.js → capture-2SF7YP57.js} +2 -2
  16. package/dist/{capture-QBLG3VJR.js → capture-KZXOPBMO.js} +8 -8
  17. package/dist/{catalog-HIWNAFHW.js → catalog-NLD4A2C6.js} +11 -11
  18. package/dist/{catch-up-HGS7KIAC.js → catch-up-4BSRN6IR.js} +4 -4
  19. package/dist/{check-FH6UYYLO.js → check-IA44QQWM.js} +28 -28
  20. package/dist/{checkBrowser-RNWNOMCZ.js → checkBrowser-VM35KZMW.js} +27 -27
  21. package/dist/{chunk-2DA2BBNY.js → chunk-3IBMBNYY.js} +1 -1
  22. package/dist/{chunk-F2SMS24Q.js → chunk-3KU3PFDW.js} +50 -80
  23. package/dist/{chunk-5WADG7PR.js → chunk-4ORLNTET.js} +1 -1
  24. package/dist/{chunk-NV4RXIQ7.js → chunk-4QWD6JYN.js} +2 -2
  25. package/dist/{chunk-A53CBD24.js → chunk-5NRXZGKK.js} +9 -9
  26. package/dist/{chunk-YJXHMIZA.js → chunk-5WVW7P23.js} +1 -1
  27. package/dist/{chunk-LFX2HEYP.js → chunk-6LGNTUZN.js} +7 -7
  28. package/dist/{chunk-7SDCIWHQ.js → chunk-ADF3X6GM.js} +2 -2
  29. package/dist/{chunk-WJB7WI4J.js → chunk-AUWHD7RA.js} +1 -1
  30. package/dist/{chunk-4OC7MQNB.js → chunk-BFACGEII.js} +2 -2
  31. package/dist/{chunk-AUBOF2PN.js → chunk-BIAC7IJT.js} +1 -1
  32. package/dist/{chunk-JEHFZQYT.js → chunk-CFUXNBWH.js} +1 -1
  33. package/dist/{chunk-Y6UPYWJS.js → chunk-DWUKJQTO.js} +2 -2
  34. package/dist/{chunk-NOPBBSLA.js → chunk-EPE2HRJK.js} +9 -9
  35. package/dist/{chunk-MXNDKDFT.js → chunk-FBCULCAL.js} +1 -1
  36. package/dist/{chunk-OUSLVRO4.js → chunk-FDT6KQV4.js} +75 -5
  37. package/dist/{chunk-GZM2EFOE.js → chunk-FXJJCPPB.js} +1 -1
  38. package/dist/{chunk-VYSUZEJG.js → chunk-GBGJ7A3D.js} +3 -3
  39. package/dist/{chunk-L5TUCXWR.js → chunk-GEMJYBRU.js} +2 -2
  40. package/dist/{chunk-4LAR447G.js → chunk-GMAJB2P6.js} +1 -1
  41. package/dist/{chunk-OIDN7G42.js → chunk-GRY3PN3K.js} +2 -2
  42. package/dist/{chunk-XGFHYAYN.js → chunk-GXJEGZL2.js} +23 -17
  43. package/dist/{chunk-GEWKFRFI.js → chunk-HB7FJOY4.js} +1 -1
  44. package/dist/{chunk-RG3QWWIE.js → chunk-ICKDMTLA.js} +1 -1
  45. package/dist/{chunk-EX6C672Y.js → chunk-IHTRYDFN.js} +1 -1
  46. package/dist/{chunk-ZOA2SC4P.js → chunk-KIFHYXPB.js} +2 -2
  47. package/dist/{chunk-I5KY7EZP.js → chunk-LAFJSYDL.js} +1 -1
  48. package/dist/{chunk-5HJ343GH.js → chunk-OB5MJR4W.js} +1 -1
  49. package/dist/{chunk-3XTEXWNN.js → chunk-OTHDVXOJ.js} +1 -1
  50. package/dist/{chunk-P6WH6QTV.js → chunk-PLR7Z6TC.js} +1 -1
  51. package/dist/{chunk-RI53TS2Y.js → chunk-QLSM7K5S.js} +2 -2
  52. package/dist/{chunk-7RAYSCYT.js → chunk-R42WWQVB.js} +1 -1
  53. package/dist/{chunk-SLCFKB3Y.js → chunk-U5QY7KTN.js} +5 -5
  54. package/dist/{chunk-5VMR4WBS.js → chunk-UXO2L7HJ.js} +98 -40
  55. package/dist/{chunk-LC3RQURJ.js → chunk-VHFEMFYL.js} +2 -2
  56. package/dist/{chunk-3VYNNWVA.js → chunk-VRW6EBHV.js} +1 -1
  57. package/dist/{chunk-KFKZ3ISO.js → chunk-XBX4QJP7.js} +1 -1
  58. package/dist/{chunk-54QISXOC.js → chunk-XIHCMVMG.js} +2 -2
  59. package/dist/{chunk-XU5GGV6R.js → chunk-ZF7SXQJ7.js} +1 -1
  60. package/dist/{chunk-RVFEDAUV.js → chunk-ZIYZ77MR.js} +3 -3
  61. package/dist/{chunk-YUAXFWSQ.js → chunk-ZSVUAVMT.js} +2 -2
  62. package/dist/{clean-KPX27IKJ.js → clean-RDKJB5FK.js} +11 -11
  63. package/dist/cli.js +52 -52
  64. package/dist/{cloud-P7DAOISN.js → cloud-QVPVVNCW.js} +4 -4
  65. package/dist/{cloudrun-XM56TBOH.js → cloudrun-3RE2UCQG.js} +3 -3
  66. package/dist/{compare-F6YAFZZM.js → compare-LEDOY7MO.js} +22 -22
  67. package/dist/{compiler-JZ4GNFMG.js → compiler-F54OZZPM.js} +6 -2
  68. package/dist/{component-3CFOGIQA.js → component-N42M67WY.js} +3 -3
  69. package/dist/{compositions-CPCMWF24.js → compositions-VB2J2LZI.js} +9 -9
  70. package/dist/{delete-GYVKOKB6.js → delete-Q6RWMJ4Z.js} +2 -2
  71. package/dist/{dist-YPWQDWJ4.js → dist-Q4BI5A73.js} +2 -2
  72. package/dist/{doctor-GWI3B6JT.js → doctor-JMMUHDRV.js} +7 -7
  73. package/dist/{events-V2QFN4YM.js → events-6ZBSIBE5.js} +2 -2
  74. package/dist/{events-BRRUDPPT.js → events-RGUAHIBW.js} +3 -3
  75. package/dist/{feedback-CXMD7FWL.js → feedback-FIID6MZW.js} +6 -6
  76. package/dist/{figma-YABDWD66.js → figma-BL3JJC36.js} +3 -3
  77. package/dist/fontLocalizeCli.js +7 -7
  78. package/dist/{get-L2SOQKHX.js → get-P46GS7S6.js} +2 -2
  79. package/dist/{gpuPolicy-NBJNWHYS.js → gpuPolicy-AQ2BPLBK.js} +5 -5
  80. package/dist/{grade-compare-STXQPKYQ.js → grade-compare-GDCWU7ZZ.js} +22 -22
  81. package/dist/{help-4H6BSFLB.js → help-HJR3RWFG.js} +1 -1
  82. package/dist/{history-4IQOLTHJ.js → history-GGO5AWJB.js} +5 -5
  83. package/dist/hyperframe-runtime.js +53 -53
  84. package/dist/hyperframe.manifest.json +1 -1
  85. package/dist/hyperframe.runtime.iife.js +53 -53
  86. package/dist/hyperframes-player.global.js +1 -1
  87. package/dist/{info-2CZOTNBC.js → info-3GFWUBJC.js} +7 -7
  88. package/dist/{init-6BXK42VS.js → init-36OPU2ZG.js} +20 -20
  89. package/dist/{inspect-VKU47TBH.js → inspect-F2HEL5ON.js} +23 -23
  90. package/dist/{installer-T2BSSUDY.js → installer-NI6P6GC4.js} +4 -4
  91. package/dist/{keyframes-IEYVHRPI.js → keyframes-7OY3LMAZ.js} +6 -6
  92. package/dist/{lambda-TIKG25CK.js → lambda-6GJIWNJ3.js} +4 -4
  93. package/dist/{layout-XOI4PT7A.js → layout-FTMLNL5A.js} +23 -23
  94. package/dist/{lint-DWCMVIX5.js → lint-U6POHUON.js} +6 -6
  95. package/dist/{list-7GXKG5QM.js → list-IP5KI5Q2.js} +2 -2
  96. package/dist/{login-BQ5L2UHX.js → login-4VWTVPHG.js} +4 -4
  97. package/dist/{media-treatment-IFB7OSZ3.js → media-treatment-XGV44AGV.js} +12 -9
  98. package/dist/{models-TY4PJ545.js → models-UCXB6UR5.js} +8 -8
  99. package/dist/{motionShot-WXMFHICW.js → motionShot-WPVNBXKA.js} +11 -11
  100. package/dist/{normalize-audio-RFD776HQ.js → normalize-audio-TYJ3UEHO.js} +4 -4
  101. package/dist/{open-7IXXGO2E.js → open-HENOLVB2.js} +4 -4
  102. package/dist/{parakeetRunner-IHLYYMTZ.js → parakeetRunner-VFQ6WFTD.js} +7 -7
  103. package/dist/{pipeline-TXKPLL2U.js → pipeline-6WPSC3H4.js} +5 -5
  104. package/dist/{play-J2KP64UK.js → play-OI53WNUM.js} +16 -16
  105. package/dist/{present-MHHNRVRA.js → present-NGMEQ4NO.js} +12 -12
  106. package/dist/{preview-CONUOFFQ.js → preview-VT2HWRWZ.js} +15 -15
  107. package/dist/{producer-ZI46K7HH.js → producer-7TYEAUF7.js} +1 -1
  108. package/dist/{projectConfig-FGGVG5MV.js → projectConfig-B2AF5DXY.js} +6 -6
  109. package/dist/{publication-TXFBMW6B.js → publication-2PANQVC6.js} +2 -2
  110. package/dist/{publish-YZSPBFRD.js → publish-O5OL42BG.js} +7 -7
  111. package/dist/{remove-background-4ATVLHLG.js → remove-background-T2JM6UVP.js} +6 -6
  112. package/dist/{render-6FBYLYGJ.js → render-OLPKOJRU.js} +8 -8
  113. package/dist/{render-GFW5BPES.js → render-W7OFXDOJ.js} +3 -3
  114. package/dist/{render-MH4IUPWB.js → render-Z253WHBK.js} +18 -18
  115. package/dist/{render-batch-XUCZ2PUJ.js → render-batch-46IIBFKL.js} +3 -3
  116. package/dist/{renderCancellation-XF7M7IUP.js → renderCancellation-QTZOCDJ2.js} +5 -5
  117. package/dist/{resolver-W7AYCQGS.js → resolver-J2PL5FVJ.js} +4 -4
  118. package/dist/{sherpa-LDUB5NLY.js → sherpa-ZF42V3RN.js} +7 -7
  119. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
  120. package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
  121. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
  122. package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
  123. package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
  124. package/dist/skills/hyperframes-cli/SKILL.md +2 -0
  125. package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
  126. package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
  127. package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
  128. package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
  129. package/dist/{skills-VENERS5X.js → skills-ACDOO3PX.js} +5 -5
  130. package/dist/{skillsUpdateCheck-UXFYTACG.js → skillsUpdateCheck-L5OXVVPU.js} +3 -3
  131. package/dist/{snapshot-C6T74HTI.js → snapshot-UUVNZOW5.js} +23 -23
  132. package/dist/{src-VUJ2FUFK.js → src-BSLKXEGX.js} +6 -4
  133. package/dist/{src-FS5RSVEI.js → src-KS3AWFGT.js} +6 -6
  134. package/dist/{staticProjectServer-V2RZ4DWD.js → staticProjectServer-2TTVGPQH.js} +12 -12
  135. package/dist/studio/assets/{hyperframes-player-Bw_jIaSX.js → hyperframes-player-DZ5JrMDg.js} +1 -1
  136. package/dist/studio/assets/{index-DyH9dT7b.js → index-BOs6C0aZ.js} +1 -1
  137. package/dist/studio/assets/{index-Cj7W_c7p.js → index-BqFRhNZa.js} +1 -1
  138. package/dist/studio/assets/{index-BVM9NuWl.js → index-D8W0a0Z9.js} +131 -131
  139. package/dist/studio/{chunk-3GHTHPZD.js → chunk-6JY3MTIX.js} +101 -2
  140. package/dist/studio/{chunk-G3EDKRZH.js → chunk-NZPJUZKT.js} +99 -3
  141. package/dist/studio/{chunk-PEAKCOUW.js → chunk-TP6D3U37.js} +3 -100
  142. package/dist/studio/{domEditingLayers-PYST4G45.js → domEditingLayers-PTP2ICGM.js} +3 -3
  143. package/dist/studio/index.d.ts +8 -5
  144. package/dist/studio/index.html +1 -1
  145. package/dist/studio/index.js +410 -429
  146. package/dist/studio/player.js +2 -2
  147. package/dist/{studio-api-TQE7KWKO.js → studio-api-WYWF7XRC.js} +6 -6
  148. package/dist/{studioServer-CYKSQK7L.js → studioServer-3FG4YTP7.js} +37 -35
  149. package/dist/{telemetry-A23PPRD6.js → telemetry-PAOOB4T4.js} +3 -3
  150. package/dist/{timeline-T3QSGT3A.js → timeline-JIIJKKPC.js} +12 -12
  151. package/dist/{tokens-RT5HWA6C.js → tokens-3QRAM75Z.js} +2 -2
  152. package/dist/{transcribe-FOLNOC5G.js → transcribe-QSBP5MUG.js} +7 -7
  153. package/dist/{transcribe-HCF64LQK.js → transcribe-SZB6UMXE.js} +6 -6
  154. package/dist/{updateCheck-27PIP3AA.js → updateCheck-V3DSB26K.js} +2 -2
  155. package/dist/{upgrade-TVGXBUPJ.js → upgrade-L5GISOEV.js} +2 -2
  156. package/dist/{urlDownloader-KBLBJKRL.js → urlDownloader-52FERT4X.js} +4 -4
  157. package/dist/{validate-ZMYGK4QI.js → validate-HVVLX7KO.js} +17 -17
  158. package/dist/{video-AVE5GIGM.js → video-MEOWRMFG.js} +5 -5
  159. package/package.json +1 -1
  160. package/dist/studio/chunk-3GHTHPZD.js.map +0 -1
  161. package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
  162. package/dist/studio/chunk-G3EDKRZH.js.map +0 -1
  163. package/dist/studio/chunk-PEAKCOUW.js.map +0 -1
  164. package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
  165. package/dist/studio/chunk-Y2OHHNM2.js.map +0 -1
  166. package/dist/studio/domEditingLayers-PYST4G45.js.map +0 -1
  167. package/dist/studio/index.css.map +0 -1
  168. package/dist/studio/index.js.map +0 -1
  169. package/dist/studio/player.js.map +0 -1
  170. package/dist/studio/styles/tailwind-preset.js.map +0 -1
  171. package/dist/studio/ui.js.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";var HyperframesPlayer=(()=>{var Ne=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Xn=Object.getOwnPropertyNames;var Kn=Object.prototype.hasOwnProperty;var Jn=(n,e)=>{for(var t in e)Ne(n,t,{get:e[t],enumerable:!0})},Qn=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Xn(e))!Kn.call(n,r)&&r!==t&&Ne(n,r,{get:()=>e[r],enumerable:!(i=Yn(e,r))||i.enumerable});return n};var Zn=n=>Qn(Ne({},"__esModule",{value:!0}),n);var Wr={};Jn(Wr,{HyperframesPlayer:()=>De,SPEED_PRESETS:()=>Ze,formatSpeed:()=>Z,formatTime:()=>Se});var Mt=n=>n!==null&&Number.isFinite(n)&&n>0;function de(n){let e=n.clipEndsSeconds.filter(i=>i===null).length;if(Mt(n.authoredDurationSeconds))return{seconds:n.authoredDurationSeconds,source:"authored",pendingClips:e};let t=n.clipEndsSeconds.filter(Mt);return t.length>0?{seconds:Math.max(...t),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var ei="http://www.w3.org/1999/xhtml";function kt(n){return n!=null&&n.nodeType===1}function Pe(n){return kt(n)&&n.namespaceURI===ei}function Le(n,e){return Pe(n)&&n.localName===e}function ti(n){return Le(n,"video")}function ni(n){return Le(n,"audio")}function k(n){return ti(n)||ni(n)}function Oe(n){return Le(n,"img")}function ce(n){if(n==null||n.trim()==="")return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function me(n=document){let e=n.querySelector('[data-composition-id][data-root="true"]');return Pe(e)?e:n.querySelector("[data-composition-id]")}var O=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),qr=Object.freeze([O.start,O.duration,O.trackIndex]),Yr=Object.freeze([O.derivedEnd]),Xr=Object.freeze([O.derivedEnd,O.legacyTrack]);function Fe(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var It=n=>{let e=Fe(n);return e!==null&&e>=0?e:null};function Ct(n){return It(n("data-playback-start"))??It(n("data-media-start"))??0}var $=.1,z=10;function Ve(n){return Number.isFinite(n)&&n>0?Math.max($,Math.min(z,n)):1}function Dt(n,e=1){let t=Number.parseFloat(n("data-playback-rate")??"");return Ve(Number.isFinite(t)&&t>0?t:e)}function Ue(n){let e=Fe(n("data-duration"));return e!==null&&e>0?e:null}function Nt(n,e){let t=Ue(n);if(t!==null)return t;let i=Fe(n("data-end"));return i!==null?i-e:null}var ii=3;function He(n,e,t){return Number.isFinite(n)?Math.max(0,n-e)/Ve(t):null}function We(n){let{tag:e,authoredDurationSeconds:t,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=n;if(t!==null&&t>0)return{seconds:t,source:"authored"};if(e==="img")return{seconds:ii,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=He(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Lt="data-fx-chain",Jr=Lt.slice(5);var j=(n="frequency",e="Frequency",t=1e3,i=20,r=2e4)=>({kind:"number",key:n,label:e,unit:"Hz",min:i,max:r,step:1,default:t,scale:"log",automatable:!0}),Ge=(n=.707,e="Bandwidth \u2014 higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:n,scale:"log",automatable:!0,hint:e}),pe=(n=-40,e=40,t=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:n,max:e,step:.1,default:t,automatable:!0}),Pt={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Ot=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[pe(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[j("frequency","Frequency",1e3),pe(-40,40,0),Ge(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[j("frequency","Frequency",200,20,2e3),pe(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[j("frequency","Frequency",4e3,500,2e4),pe(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies \u2014 the usual fix for rumble on a voice.",params:[j("frequency","Cutoff",300,20,2e4),Ge(.707),Pt],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[j("frequency","Cutoff",8e3,100,2e4),Ge(.707),Pt],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Hard ceiling \u2014 nothing gets past the limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times \u2014 a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],Qr=new Map(Ot.map(n=>[n.id,n]));var Zr=Ot.map(n=>n.id);function ri(n){return 10**(n/20)}var Ft=ri(12);var $e="data-automation",uo=$e.slice(5),Be=1,oi=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},fe="volume",he="rate";function Vt(n){if(n===fe)return{kind:"volume"};if(n===he)return{kind:"rate"};let e=n.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===ai){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,t,i]=e;return!t||!i?null:{kind:"fx",nodeId:t,param:i}}var ai="preset";var si={min:0,max:Ft,step:.01,unit:"",label:"Volume",scale:"linear",default:1},ui={min:$,max:z,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function q(n){if(typeof n=="number")return Number.isFinite(n)?n:null;if(typeof n=="string"&&n.trim()!==""){let e=Number(n);return Number.isFinite(e)?e:null}return null}function li(n){let e=q(n);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Ut(n,e){let t=q(n),i=q(e);if(t===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(t),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function di(n){let e=li(n?.curve),t=Ut(n?.viaX,n?.viaY);return{...e?{curve:e}:{},...t?{viaX:t.x,viaY:t.y}:{}}}function ci(n,e){let t=q(n?.t),i=q(n?.v);if(t===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,t),v:r,...di(n)}}function mi(n,e){let t=n.map(r=>ci(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of t)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,oi)}function pi(n){let e=[];for(let t of n.lanes){if(!Vt(t.target))continue;let i=t.target===fe?si:t.target===he?ui:null,r=mi(t.points??[],i);r.length>0&&e.push({target:t.target,points:r})}return{version:Be,lanes:e}}function Ht(n){let e;try{e=JSON.parse(n)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let t=e;if(t.version!==Be)throw new I(`Unsupported automation version: ${String(t.version)}`);if(!Array.isArray(t.lanes))throw new I("Automation is missing a `lanes` array.");let i=t.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Vt(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return pi({version:Be,lanes:i})}function fi(n,e){return e?Math.pow(n,Math.pow(2,2*e)):n}function hi(n,e){let t=n-.5,i=e-.5,r=.999,o=1e6,a=t>0?t/(r-n):t<0?-t/(n-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:n+t/u,cy:e+i/u,w:u}}function bi(n,e,t){let{cx:i,cy:r,w:o}=hi(e,t),a=2-2*o,s=n*a-1+2*o*i,u=-n*a-2*o*i,d=gi(s,u,n),l=1-d,b=l*l+2*o*d*l+d*d;return b>0?(2*o*r*d*l+d*d)/b:n}function gi(n,e,t){if(Math.abs(n)<1e-12)return Math.abs(e)<1e-12?t:-t/e;let i=Math.sqrt(Math.max(0,e*e-4*n*t)),r=(-e+i)/(2*n),o=(-e-i)/(2*n),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):t}function _i(n,e){let t=Ut(e.viaX,e.viaY);return t?bi(Math.min(1,Math.max(0,n)),t.x,t.y):fi(n,e.curve)}function yi(n,e,t,i){return i==="log"&&n>0&&e>0?Math.exp(Math.log(n)+(Math.log(e)-Math.log(n))*t):n+(e-n)*t}function be(n,e,t="linear"){let i=n.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let b=a+s>>1;i[b].t<=e?a=b:s=b}let u=i[a],d=i[s],l=d.t-u.t;return l<=0?d.v:yi(u.v,d.v,_i((e-u.t)/l,u),t)}var ge=new Map,vi=64;function Wt(n,e=fe){let t=`${e}\0${n}`,i=ge.get(t);if(i!==void 0)return i;let r=null;try{r=Ht(n).lanes.find(o=>o.target===e)??null}catch{r=null}return ge.size>vi&&ge.clear(),ge.set(t,r),r}var Gt=48,Bt=new WeakMap;function Ai(n){let e=n.points,t=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let l=be(n,d,"log");r.push(u),o.push(o[o.length-1]+(l+be(n,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,l=e[u].t;if(!(l<=0))for(let b=1;b<=Gt;b+=1)a(Math.max(d,0)+(l-d)*b/Gt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:t,lastRate:i}}function Si(n){let e=Bt.get(n);return e||(e=Ai(n),Bt.set(n,e)),e}function Ei(n){return typeof n!="number"&&n.points.length>0}function Ti(n,e,t){let i=0,r=n.length-1;for(;r-i>1;){let o=i+r>>1;n[o]<=t?i=o:r=o}return e[i]+(e[r]-e[i])*(t-n[i])/(n[r]-n[i])}function ze(n,e){if(typeof n=="number")return e/n;if(!Ei(n))return e;let{ts:t,ss:i,firstRate:r,lastRate:o}=Si(n),a=t.length-1;return e<=0?e/r:e>=i[a]?t[a]+(e-i[a])/o:Ti(i,t,e)}function Ri(n){return n?Wt(n,he):null}function $t(n,e){return Ri(n)??e}var bo=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var _=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),_o=Object.freeze([_.start,_.duration,_.trackIndex]),yo=Object.freeze([_.derivedEnd]),vo=Object.freeze([_.derivedEnd,_.legacyTrack]);function C(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var qt=/^[A-Za-z0-9_.:-]+$/;function Yt(n,e){let t=n.charCodeAt(e);return t>=48&&t<=57}function zt(n,e){let t=e;for(;t>=0&&Yt(n,t);)t--;return t}function xi(n,e){let t=e;for(;t>=0&&(n[t]??"").trim()==="";)t--;return t}function wi(n){let e=n.length-1;if(!Yt(n,e))return null;let t=zt(n,e);return n[t]==="."&&(t=zt(n,t-1)),t+1}function Mi(n){let e=wi(n);if(e==null)return null;let t=xi(n,e-1),i=n[t];if(i!=="+"&&i!=="-")return null;let r=n.slice(0,t).trim();if(!qt.test(r))return null;let o=Number(n.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function _e(n){let e=(n??"").trim();if(!e)return null;let t=C(e);if(t!=null)return{kind:"absolute",value:t};if(qt.test(e))return{kind:"reference",refId:e,offset:0};let i=Mi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function x(n,e,t,i){n.push({code:e,attribute:t,value:i})}function ki(n,e,t,i){if(e==null||e.trim()==="")return t.defaultStart===void 0?0:t.defaultStart;if(!n)return x(i,"invalid-start",_.start,e),null;if(n.kind==="absolute")return Math.max(0,n.value);let r=t.resolveReferenceEnd?.(n.refId);return r==null||!Number.isFinite(r)?(x(i,"unresolved-start-reference",_.start,e),null):Math.max(0,r+n.offset)}var Ii=1e-9;function Ci(n,e){return Math.abs(n-e)<=Ii}function Di(n,e,t){let i=C(n);if(i==null){x(t,"deprecated-end",_.derivedEnd,n),x(t,"invalid-end",_.derivedEnd,n);return}if(e==null){x(t,"deprecated-end",_.derivedEnd,n);return}Ci(i,e)||(x(t,"deprecated-end",_.derivedEnd,n),x(t,"conflicting-end",_.derivedEnd,n))}function Ni(n,e,t){let i=C(n);return i==null||i<0?(x(t,"invalid-duration",_.duration,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Pi(n,e,t){x(t,"deprecated-end",_.derivedEnd,n);let i=C(n);return i==null?(x(t,"invalid-end",_.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(x(t,"end-before-start",_.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Li(n,e,t){let i=n.getAttribute(_.duration),r=n.getAttribute(_.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Pi(r,e,t);let o=Ni(i,e,t);return r!=null&&Di(r,o.end,t),o}function jt(n,e,t,i){let r=C(n);return r==null||!Number.isInteger(r)?(x(i,"invalid-track-index",e,n),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:t}}function Oi(n,e){let t=n.getAttribute(_.trackIndex),i=n.getAttribute(_.legacyTrack);if(t==null&&i==null)return{trackIndex:0,trackSource:"default"};if(t==null&&i!=null)return x(e,"deprecated-layer",_.legacyTrack,i),jt(i,_.legacyTrack,"legacy-layer",e);let r=jt(t??"",_.trackIndex,"track-index",e);if(i==null)return r;x(e,"deprecated-layer",_.legacyTrack,i);let o=C(i);return o!=null&&o!==r.trackIndex&&x(e,"conflicting-layer",_.legacyTrack,i),r}function je(n,e={}){let t=[],i=n.getAttribute(_.start),r=_e(i),o=ki(r,i,e,t),a=Li(n,o,t),s=Oi(n,t);return{startExpression:r,start:o,...a,...s,diagnostics:t}}function N(n){return C(n)}function Y(n){return Dt(e=>n.getAttribute(e),k(n)?n.defaultPlaybackRate:1)}function qe(n){return $t(n.getAttribute("data-automation"),Y(n))}function Ye(n){return Ct(e=>n.getAttribute(e))}function F(n,e){return Fi(e,Ye(n),qe(n))}function Xe(n){let e=We({tag:"video",authoredDurationSeconds:Ue(t=>n.getAttribute(t)),sourceDurationSeconds:Number.isFinite(n.duration)?n.duration:null,mediaStartSeconds:Ye(n),playbackRate:Y(n)});return e.source==="media"?F(n,n.duration):e.seconds}function ye(n,e=0){return!Oe(n)||!n.hasAttribute("data-start")&&!n.hasAttribute("data-track-index")?null:We({tag:"img",authoredDurationSeconds:Nt(t=>n.getAttribute(t),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Fi(n,e,t){return typeof t=="number"?He(n,e,t):Number.isFinite(n)?ze(t,Math.max(0,n-e)):null}function Xt(){return globalThis}function X(n,e){if(typeof window>"u")return;let t=Xt(),i=t.__hf?.onSwallowed;if(i)try{i({label:n,error:e})}catch(r){}(t.__hfDebug||t.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${n} swallowed:`,e)}var Kt="data-hf-authored-duration",Jt="data-hf-authored-end";function K(n){if(n==null||typeof n=="string"&&n.trim()==="")return null;let e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:null}function ve(n){let e=K(n.start);if(e==null)return null;let t=Math.max(0,e),i=K(n.duration),r=K(n.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:t,duration:o,end:t+o};let a=K(n.end),s=K(n.authoredEnd),u=a!=null&&a>t?a:s!=null&&s>t?s:null;return{start:t,duration:u==null?null:u-t,end:u}}var Qt="data-hf-media-start-basis";function Zt(n){return n?.trim().toLowerCase()==="global"?"global":"local"}function Vi(n){return Zt(n.basis)==="global"?n.authoredStart:n.hostStart+n.authoredStart}function en(n){return nn(n)?Vi({authoredStart:n.authoredStart,hostStart:n.hostStart,basis:n.basis}):n.ordinaryStart()}function tn(n){return nn(n)&&Zt(n.basis)==="global"}function nn(n){return!n.hasAutoStart&&n.authoredStart!=null&&n.hostStart>0}function V(n){let e=n.timelineRegistry??{},t=n.includeAuthoredTimingAttrs??!1,i=n.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=m=>{let p=i.getElementById(m);return p||(i.querySelector(`[data-composition-id="${CSS.escape(m)}"]`)??null)},u=m=>{let p=o.get(m);if(p!==void 0)return p;let h=null,v=ve({start:0,duration:m.getAttribute("data-duration"),authoredDuration:t?m.getAttribute("data-hf-authored-duration"):null});if(v?.duration!=null&&v.duration>0&&(h=v.duration),h==null||h<=0){let E=l(m,0),A=ve({start:E,end:m.getAttribute("data-end"),authoredEnd:t?m.getAttribute("data-hf-authored-end"):null});A?.duration!=null&&A.duration>0&&(h=A.duration)}if((h==null||h<=0)&&k(m)&&(h=F(m,m.duration)),(h==null||h<=0)&&(h=ye(m)),h==null||h<=0){let E=m.getAttribute("data-composition-id");if(E){let A=e[E]??null;if(A&&typeof A.duration=="function")try{let T=Number(A.duration());Number.isFinite(T)&&T>0&&(h=T)}catch(T){X("runtime.startResolver.site1",T)}}}return h!=null&&Number.isFinite(h)&&h>0?(o.set(m,h),h):(o.set(m,null),null)},d=(m,p)=>{if(m.hasAttribute("data-composition-id")){let v=m.parentElement?.closest("[data-composition-id]");return v?l(v,p):0}let h=m.closest("[data-composition-id]");return h?l(h,p):0},l=(m,p)=>{let h=r.get(m);if(h!==void 0)return h??p;if(a.has(m))return p;a.add(m);try{let v=_e(m.getAttribute("data-start"));if(!v){if(m.hasAttribute("data-composition-id")){let R=m.parentElement;if(R&&(R.hasAttribute("data-composition-src")||R.hasAttribute("data-composition-id")||R.hasAttribute("data-composition-file"))){let M=l(R,p);return r.set(m,M),M}}return r.set(m,p),p}if(v.kind==="absolute"){let R=Math.max(0,v.value),M=Math.max(0,d(m,p)+R);return r.set(m,M),M}let E=s(v.refId);if(!E)return r.set(m,p),p;let A=l(E,0),T=u(E);if(T==null||T<=0){let R=Math.max(0,A+v.offset);return r.set(m,R),R}let P=Math.max(0,A+T+v.offset);return r.set(m,P),P}finally{a.delete(m)}},b=m=>{let p=m.closest("[data-composition-id]");return{authoredStart:N(m.getAttribute("data-start")),hostStart:p?l(p,0):0,hasAutoStart:m.hasAttribute("data-hf-auto-start"),basis:m.getAttribute(Qt)}};return{resolveStartForElement:(m,p=0)=>l(m,Math.max(0,p)),resolveDurationForElement:m=>u(m),resolveMediaStartForElement:m=>{let p=b(m);return en({...p,ordinaryStart:()=>l(m,p.hostStart)})},resolveHostStartForElement:m=>d(m,0),isRootGlobalMediaStartForElement:m=>k(m)&&tn(b(m))}}function rn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var on=7200,Ke=1/60,J=n=>n!==null&&n>Ke?n:null;function Ui(n){return{width:ce(n.getAttribute("data-width")),height:ce(n.getAttribute("data-height"))}}function Hi(n,e){let t=[];for(let i of n.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=Ke||t.push(Math.max(0,r)+o)}return J(de({authoredDurationSeconds:null,clipEndsSeconds:t}).seconds)}function Wi(n,e){let t=[];for(let r of n.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==n)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||t.push(Math.max(0,o)+a)}let i=N(n.getAttribute("data-duration"));return J(de({authoredDurationSeconds:null,clipEndsSeconds:[i,...t]}).seconds)}var Gi=n=>n.hasAttribute("data-composition-id")||n.hasAttribute("data-composition-src");function Bi(n,e,{unregisteredLottie:t}){let i=[];for(let o of n.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(k(o)||Gi(o))&&i.push(null)}(t||n.querySelector("[data-lottie-src]"))&&i.push(null);let r=de({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function $i(n){if(n.declared!==null&&Number.isFinite(n.declared)&&n.declared>0)return n.declared;let e=J(n.timeline()),t=Math.max(0,...n.floors().map(u=>u??0)),i=Number.isFinite(n.fallback)&&n.fallback>Ke?n.fallback:0,r=Math.max(t,i),a=e!==null&&e>=on&&J(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):J(t)!==null?s=r:i>0?s=i:s=n.derived(),s>0?s:0}function an(n){let e=me(n);if(!e)return null;let t=V({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:n}),i=$i({declared:N(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[Hi(n,{mediaStart:t.resolveMediaStartForElement,mediaDuration:Xe}),Wi(e,t)],fallback:0,derived:()=>Bi(e,t,{unregisteredLottie:!1}).seconds??0});return{...Ui(e),fps:rn().canonicalFps,durationSeconds:i}}var sn="hyperframes-studio-preview";var un="__hfPreviewErrors";function ln(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function U(n){return typeof n=="object"&&n!==null}function dn(n){return U(n)&&typeof n.getDuration=="function"}function cn(n){return U(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var H="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.144/dist/hyperframe.runtime.iife.js";function Q(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function zi(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=Q(e.getAttribute("data-width")),i=Q(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}function ji(n){return Array.isArray(n)?n.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ae=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let t=null;try{t=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(t={kind:"error",message:i instanceof Error?i.message:String(i)})}if(t){this.stop(),t.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(t.message)):this._callbacks.onReady(t.result);return}e>=40&&(this.stop(),this._failure={document:this._iframe.contentDocument},this._callbacks.onError("Composition timeline not found after 8s"))},200)}_poll(e){let t=this._iframe.contentWindow;if(!t)return null;let i=ji(Reflect.get(t,un));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(t,"__timelines"),a=this.hasRuntimeBridge(t);if(ln({hasRuntime:a,hasTimelines:U(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(t,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,t){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=t?an(t)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:zi(t)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return U(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=this._callbacks.resolveRuntimeUrl?.()??H,this._runtimeScript=t,t.onerror=()=>{this._runtimeScript!==t||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+t.src))},(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!U(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return cn(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(dn(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var mn=`
1
+ "use strict";var HyperframesPlayer=(()=>{var Ne=Object.defineProperty;var Yn=Object.getOwnPropertyDescriptor;var Xn=Object.getOwnPropertyNames;var Kn=Object.prototype.hasOwnProperty;var Jn=(n,e)=>{for(var t in e)Ne(n,t,{get:e[t],enumerable:!0})},Qn=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Xn(e))!Kn.call(n,r)&&r!==t&&Ne(n,r,{get:()=>e[r],enumerable:!(i=Yn(e,r))||i.enumerable});return n};var Zn=n=>Qn(Ne({},"__esModule",{value:!0}),n);var Wr={};Jn(Wr,{HyperframesPlayer:()=>De,SPEED_PRESETS:()=>Ze,formatSpeed:()=>Z,formatTime:()=>Se});var Mt=n=>n!==null&&Number.isFinite(n)&&n>0;function de(n){let e=n.clipEndsSeconds.filter(i=>i===null).length;if(Mt(n.authoredDurationSeconds))return{seconds:n.authoredDurationSeconds,source:"authored",pendingClips:e};let t=n.clipEndsSeconds.filter(Mt);return t.length>0?{seconds:Math.max(...t),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var ei="http://www.w3.org/1999/xhtml";function kt(n){return n!=null&&n.nodeType===1}function Pe(n){return kt(n)&&n.namespaceURI===ei}function Le(n,e){return Pe(n)&&n.localName===e}function ti(n){return Le(n,"video")}function ni(n){return Le(n,"audio")}function k(n){return ti(n)||ni(n)}function Oe(n){return Le(n,"img")}function ce(n){if(n==null||n.trim()==="")return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function me(n=document){let e=n.querySelector('[data-composition-id][data-root="true"]');return Pe(e)?e:n.querySelector("[data-composition-id]")}var O=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),qr=Object.freeze([O.start,O.duration,O.trackIndex]),Yr=Object.freeze([O.derivedEnd]),Xr=Object.freeze([O.derivedEnd,O.legacyTrack]);function Fe(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var It=n=>{let e=Fe(n);return e!==null&&e>=0?e:null};function Ct(n){return It(n("data-playback-start"))??It(n("data-media-start"))??0}var $=.1,z=10;function Ve(n){return Number.isFinite(n)&&n>0?Math.max($,Math.min(z,n)):1}function Dt(n,e=1){let t=Number.parseFloat(n("data-playback-rate")??"");return Ve(Number.isFinite(t)&&t>0?t:e)}function Ue(n){let e=Fe(n("data-duration"));return e!==null&&e>0?e:null}function Nt(n,e){let t=Ue(n);if(t!==null)return t;let i=Fe(n("data-end"));return i!==null?i-e:null}var ii=3;function He(n,e,t){return Number.isFinite(n)?Math.max(0,n-e)/Ve(t):null}function We(n){let{tag:e,authoredDurationSeconds:t,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=n;if(t!==null&&t>0)return{seconds:t,source:"authored"};if(e==="img")return{seconds:ii,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=He(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Lt="data-fx-chain",Jr=Lt.slice(5);var j=(n="frequency",e="Frequency",t=1e3,i=20,r=2e4)=>({kind:"number",key:n,label:e,unit:"Hz",min:i,max:r,step:1,default:t,scale:"log",automatable:!0}),Ge=(n=.707,e="Bandwidth \u2014 higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:n,scale:"log",automatable:!0,hint:e}),pe=(n=-40,e=40,t=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:n,max:e,step:.1,default:t,automatable:!0}),Pt={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Ot=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[pe(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[j("frequency","Frequency",1e3),pe(-40,40,0),Ge(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[j("frequency","Frequency",200,20,2e3),pe(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[j("frequency","Frequency",4e3,500,2e4),pe(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies \u2014 the usual fix for rumble on a voice.",params:[j("frequency","Cutoff",300,20,2e4),Ge(.707),Pt],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[j("frequency","Cutoff",8e3,100,2e4),Ge(.707),Pt],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Hard ceiling \u2014 nothing gets past the limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times \u2014 a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],Qr=new Map(Ot.map(n=>[n.id,n]));var Zr=Ot.map(n=>n.id);function ri(n){return 10**(n/20)}var Ft=ri(12);var $e="data-automation",uo=$e.slice(5),Be=1,oi=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},fe="volume",he="rate";function Vt(n){if(n===fe)return{kind:"volume"};if(n===he)return{kind:"rate"};let e=n.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===ai){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,t,i]=e;return!t||!i?null:{kind:"fx",nodeId:t,param:i}}var ai="preset";var si={min:0,max:Ft,step:.01,unit:"",label:"Volume",scale:"linear",default:1},ui={min:$,max:z,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function q(n){if(typeof n=="number")return Number.isFinite(n)?n:null;if(typeof n=="string"&&n.trim()!==""){let e=Number(n);return Number.isFinite(e)?e:null}return null}function li(n){let e=q(n);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Ut(n,e){let t=q(n),i=q(e);if(t===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(t),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function di(n){let e=li(n?.curve),t=Ut(n?.viaX,n?.viaY);return{...e?{curve:e}:{},...t?{viaX:t.x,viaY:t.y}:{}}}function ci(n,e){let t=q(n?.t),i=q(n?.v);if(t===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,t),v:r,...di(n)}}function mi(n,e){let t=n.map(r=>ci(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of t)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,oi)}function pi(n){let e=[];for(let t of n.lanes){if(!Vt(t.target))continue;let i=t.target===fe?si:t.target===he?ui:null,r=mi(t.points??[],i);r.length>0&&e.push({target:t.target,points:r})}return{version:Be,lanes:e}}function Ht(n){let e;try{e=JSON.parse(n)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let t=e;if(t.version!==Be)throw new I(`Unsupported automation version: ${String(t.version)}`);if(!Array.isArray(t.lanes))throw new I("Automation is missing a `lanes` array.");let i=t.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Vt(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return pi({version:Be,lanes:i})}function fi(n,e){return e?Math.pow(n,Math.pow(2,2*e)):n}function hi(n,e){let t=n-.5,i=e-.5,r=.999,o=1e6,a=t>0?t/(r-n):t<0?-t/(n-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:n+t/u,cy:e+i/u,w:u}}function bi(n,e,t){let{cx:i,cy:r,w:o}=hi(e,t),a=2-2*o,s=n*a-1+2*o*i,u=-n*a-2*o*i,d=gi(s,u,n),l=1-d,b=l*l+2*o*d*l+d*d;return b>0?(2*o*r*d*l+d*d)/b:n}function gi(n,e,t){if(Math.abs(n)<1e-12)return Math.abs(e)<1e-12?t:-t/e;let i=Math.sqrt(Math.max(0,e*e-4*n*t)),r=(-e+i)/(2*n),o=(-e-i)/(2*n),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):t}function _i(n,e){let t=Ut(e.viaX,e.viaY);return t?bi(Math.min(1,Math.max(0,n)),t.x,t.y):fi(n,e.curve)}function yi(n,e,t,i){return i==="log"&&n>0&&e>0?Math.exp(Math.log(n)+(Math.log(e)-Math.log(n))*t):n+(e-n)*t}function be(n,e,t="linear"){let i=n.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let b=a+s>>1;i[b].t<=e?a=b:s=b}let u=i[a],d=i[s],l=d.t-u.t;return l<=0?d.v:yi(u.v,d.v,_i((e-u.t)/l,u),t)}var ge=new Map,vi=64;function Wt(n,e=fe){let t=`${e}\0${n}`,i=ge.get(t);if(i!==void 0)return i;let r=null;try{r=Ht(n).lanes.find(o=>o.target===e)??null}catch{r=null}return ge.size>vi&&ge.clear(),ge.set(t,r),r}var Gt=48,Bt=new WeakMap;function Ai(n){let e=n.points,t=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let l=be(n,d,"log");r.push(u),o.push(o[o.length-1]+(l+be(n,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,l=e[u].t;if(!(l<=0))for(let b=1;b<=Gt;b+=1)a(Math.max(d,0)+(l-d)*b/Gt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:t,lastRate:i}}function Si(n){let e=Bt.get(n);return e||(e=Ai(n),Bt.set(n,e)),e}function Ei(n){return typeof n!="number"&&n.points.length>0}function Ti(n,e,t){let i=0,r=n.length-1;for(;r-i>1;){let o=i+r>>1;n[o]<=t?i=o:r=o}return e[i]+(e[r]-e[i])*(t-n[i])/(n[r]-n[i])}function ze(n,e){if(typeof n=="number")return e/n;if(!Ei(n))return e;let{ts:t,ss:i,firstRate:r,lastRate:o}=Si(n),a=t.length-1;return e<=0?e/r:e>=i[a]?t[a]+(e-i[a])/o:Ti(i,t,e)}function Ri(n){return n?Wt(n,he):null}function $t(n,e){return Ri(n)??e}var bo=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var _=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),_o=Object.freeze([_.start,_.duration,_.trackIndex]),yo=Object.freeze([_.derivedEnd]),vo=Object.freeze([_.derivedEnd,_.legacyTrack]);function C(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var qt=/^[A-Za-z0-9_.:-]+$/;function Yt(n,e){let t=n.charCodeAt(e);return t>=48&&t<=57}function zt(n,e){let t=e;for(;t>=0&&Yt(n,t);)t--;return t}function xi(n,e){let t=e;for(;t>=0&&(n[t]??"").trim()==="";)t--;return t}function wi(n){let e=n.length-1;if(!Yt(n,e))return null;let t=zt(n,e);return n[t]==="."&&(t=zt(n,t-1)),t+1}function Mi(n){let e=wi(n);if(e==null)return null;let t=xi(n,e-1),i=n[t];if(i!=="+"&&i!=="-")return null;let r=n.slice(0,t).trim();if(!qt.test(r))return null;let o=Number(n.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function _e(n){let e=(n??"").trim();if(!e)return null;let t=C(e);if(t!=null)return{kind:"absolute",value:t};if(qt.test(e))return{kind:"reference",refId:e,offset:0};let i=Mi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function x(n,e,t,i){n.push({code:e,attribute:t,value:i})}function ki(n,e,t,i){if(e==null||e.trim()==="")return t.defaultStart===void 0?0:t.defaultStart;if(!n)return x(i,"invalid-start",_.start,e),null;if(n.kind==="absolute")return Math.max(0,n.value);let r=t.resolveReferenceEnd?.(n.refId);return r==null||!Number.isFinite(r)?(x(i,"unresolved-start-reference",_.start,e),null):Math.max(0,r+n.offset)}var Ii=1e-9;function Ci(n,e){return Math.abs(n-e)<=Ii}function Di(n,e,t){let i=C(n);if(i==null){x(t,"deprecated-end",_.derivedEnd,n),x(t,"invalid-end",_.derivedEnd,n);return}if(e==null){x(t,"deprecated-end",_.derivedEnd,n);return}Ci(i,e)||(x(t,"deprecated-end",_.derivedEnd,n),x(t,"conflicting-end",_.derivedEnd,n))}function Ni(n,e,t){let i=C(n);return i==null||i<0?(x(t,"invalid-duration",_.duration,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Pi(n,e,t){x(t,"deprecated-end",_.derivedEnd,n);let i=C(n);return i==null?(x(t,"invalid-end",_.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(x(t,"end-before-start",_.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Li(n,e,t){let i=n.getAttribute(_.duration),r=n.getAttribute(_.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Pi(r,e,t);let o=Ni(i,e,t);return r!=null&&Di(r,o.end,t),o}function jt(n,e,t,i){let r=C(n);return r==null||!Number.isInteger(r)?(x(i,"invalid-track-index",e,n),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:t}}function Oi(n,e){let t=n.getAttribute(_.trackIndex),i=n.getAttribute(_.legacyTrack);if(t==null&&i==null)return{trackIndex:0,trackSource:"default"};if(t==null&&i!=null)return x(e,"deprecated-layer",_.legacyTrack,i),jt(i,_.legacyTrack,"legacy-layer",e);let r=jt(t??"",_.trackIndex,"track-index",e);if(i==null)return r;x(e,"deprecated-layer",_.legacyTrack,i);let o=C(i);return o!=null&&o!==r.trackIndex&&x(e,"conflicting-layer",_.legacyTrack,i),r}function je(n,e={}){let t=[],i=n.getAttribute(_.start),r=_e(i),o=ki(r,i,e,t),a=Li(n,o,t),s=Oi(n,t);return{startExpression:r,start:o,...a,...s,diagnostics:t}}function N(n){return C(n)}function Y(n){return Dt(e=>n.getAttribute(e),k(n)?n.defaultPlaybackRate:1)}function qe(n){return $t(n.getAttribute("data-automation"),Y(n))}function Ye(n){return Ct(e=>n.getAttribute(e))}function F(n,e){return Fi(e,Ye(n),qe(n))}function Xe(n){let e=We({tag:"video",authoredDurationSeconds:Ue(t=>n.getAttribute(t)),sourceDurationSeconds:Number.isFinite(n.duration)?n.duration:null,mediaStartSeconds:Ye(n),playbackRate:Y(n)});return e.source==="media"?F(n,n.duration):e.seconds}function ye(n,e=0){return!Oe(n)||!n.hasAttribute("data-start")&&!n.hasAttribute("data-track-index")?null:We({tag:"img",authoredDurationSeconds:Nt(t=>n.getAttribute(t),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Fi(n,e,t){return typeof t=="number"?He(n,e,t):Number.isFinite(n)?ze(t,Math.max(0,n-e)):null}function Xt(){return globalThis}function X(n,e){if(typeof window>"u")return;let t=Xt(),i=t.__hf?.onSwallowed;if(i)try{i({label:n,error:e})}catch(r){}(t.__hfDebug||t.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${n} swallowed:`,e)}var Kt="data-hf-authored-duration",Jt="data-hf-authored-end";function K(n){if(n==null||typeof n=="string"&&n.trim()==="")return null;let e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:null}function ve(n){let e=K(n.start);if(e==null)return null;let t=Math.max(0,e),i=K(n.duration),r=K(n.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:t,duration:o,end:t+o};let a=K(n.end),s=K(n.authoredEnd),u=a!=null&&a>t?a:s!=null&&s>t?s:null;return{start:t,duration:u==null?null:u-t,end:u}}var Qt="data-hf-media-start-basis";function Zt(n){return n?.trim().toLowerCase()==="global"?"global":"local"}function Vi(n){return Zt(n.basis)==="global"?n.authoredStart:n.hostStart+n.authoredStart}function en(n){return nn(n)?Vi({authoredStart:n.authoredStart,hostStart:n.hostStart,basis:n.basis}):n.ordinaryStart()}function tn(n){return nn(n)&&Zt(n.basis)==="global"}function nn(n){return!n.hasAutoStart&&n.authoredStart!=null&&n.hostStart>0}function V(n){let e=n.timelineRegistry??{},t=n.includeAuthoredTimingAttrs??!1,i=n.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=m=>{let p=i.getElementById(m);return p||(i.querySelector(`[data-composition-id="${CSS.escape(m)}"]`)??null)},u=m=>{let p=o.get(m);if(p!==void 0)return p;let h=null,v=ve({start:0,duration:m.getAttribute("data-duration"),authoredDuration:t?m.getAttribute("data-hf-authored-duration"):null});if(v?.duration!=null&&v.duration>0&&(h=v.duration),h==null||h<=0){let E=l(m,0),A=ve({start:E,end:m.getAttribute("data-end"),authoredEnd:t?m.getAttribute("data-hf-authored-end"):null});A?.duration!=null&&A.duration>0&&(h=A.duration)}if((h==null||h<=0)&&k(m)&&(h=F(m,m.duration)),(h==null||h<=0)&&(h=ye(m)),h==null||h<=0){let E=m.getAttribute("data-composition-id");if(E){let A=e[E]??null;if(A&&typeof A.duration=="function")try{let T=Number(A.duration());Number.isFinite(T)&&T>0&&(h=T)}catch(T){X("runtime.startResolver.site1",T)}}}return h!=null&&Number.isFinite(h)&&h>0?(o.set(m,h),h):(o.set(m,null),null)},d=(m,p)=>{if(m.hasAttribute("data-composition-id")){let v=m.parentElement?.closest("[data-composition-id]");return v?l(v,p):0}let h=m.closest("[data-composition-id]");return h?l(h,p):0},l=(m,p)=>{let h=r.get(m);if(h!==void 0)return h??p;if(a.has(m))return p;a.add(m);try{let v=_e(m.getAttribute("data-start"));if(!v){if(m.hasAttribute("data-composition-id")){let R=m.parentElement;if(R&&(R.hasAttribute("data-composition-src")||R.hasAttribute("data-composition-id")||R.hasAttribute("data-composition-file"))){let M=l(R,p);return r.set(m,M),M}}return r.set(m,p),p}if(v.kind==="absolute"){let R=Math.max(0,v.value),M=Math.max(0,d(m,p)+R);return r.set(m,M),M}let E=s(v.refId);if(!E)return r.set(m,p),p;let A=l(E,0),T=u(E);if(T==null||T<=0){let R=Math.max(0,A+v.offset);return r.set(m,R),R}let P=Math.max(0,A+T+v.offset);return r.set(m,P),P}finally{a.delete(m)}},b=m=>{let p=m.closest("[data-composition-id]");return{authoredStart:N(m.getAttribute("data-start")),hostStart:p?l(p,0):0,hasAutoStart:m.hasAttribute("data-hf-auto-start"),basis:m.getAttribute(Qt)}};return{resolveStartForElement:(m,p=0)=>l(m,Math.max(0,p)),resolveDurationForElement:m=>u(m),resolveMediaStartForElement:m=>{let p=b(m);return en({...p,ordinaryStart:()=>l(m,p.hostStart)})},resolveHostStartForElement:m=>d(m,0),isRootGlobalMediaStartForElement:m=>k(m)&&tn(b(m))}}function rn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var on=7200,Ke=1/60,J=n=>n!==null&&n>Ke?n:null;function Ui(n){return{width:ce(n.getAttribute("data-width")),height:ce(n.getAttribute("data-height"))}}function Hi(n,e){let t=[];for(let i of n.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=Ke||t.push(Math.max(0,r)+o)}return J(de({authoredDurationSeconds:null,clipEndsSeconds:t}).seconds)}function Wi(n,e){let t=[];for(let r of n.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==n)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||t.push(Math.max(0,o)+a)}let i=N(n.getAttribute("data-duration"));return J(de({authoredDurationSeconds:null,clipEndsSeconds:[i,...t]}).seconds)}var Gi=n=>n.hasAttribute("data-composition-id")||n.hasAttribute("data-composition-src");function Bi(n,e,{unregisteredLottie:t}){let i=[];for(let o of n.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(k(o)||Gi(o))&&i.push(null)}(t||n.querySelector("[data-lottie-src]"))&&i.push(null);let r=de({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function $i(n){if(n.declared!==null&&Number.isFinite(n.declared)&&n.declared>0)return n.declared;let e=J(n.timeline()),t=Math.max(0,...n.floors().map(u=>u??0)),i=Number.isFinite(n.fallback)&&n.fallback>Ke?n.fallback:0,r=Math.max(t,i),a=e!==null&&e>=on&&J(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):J(t)!==null?s=r:i>0?s=i:s=n.derived(),s>0?s:0}function an(n){let e=me(n);if(!e)return null;let t=V({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:n}),i=$i({declared:N(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[Hi(n,{mediaStart:t.resolveMediaStartForElement,mediaDuration:Xe}),Wi(e,t)],fallback:0,derived:()=>Bi(e,t,{unregisteredLottie:!1}).seconds??0});return{...Ui(e),fps:rn().canonicalFps,durationSeconds:i}}var sn="hyperframes-studio-preview";var un="__hfPreviewErrors";function ln(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function U(n){return typeof n=="object"&&n!==null}function dn(n){return U(n)&&typeof n.getDuration=="function"}function cn(n){return U(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var H="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.145/dist/hyperframe.runtime.iife.js";function Q(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function zi(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=Q(e.getAttribute("data-width")),i=Q(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}function ji(n){return Array.isArray(n)?n.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ae=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let t=null;try{t=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(t={kind:"error",message:i instanceof Error?i.message:String(i)})}if(t){this.stop(),t.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(t.message)):this._callbacks.onReady(t.result);return}e>=40&&(this.stop(),this._failure={document:this._iframe.contentDocument},this._callbacks.onError("Composition timeline not found after 8s"))},200)}_poll(e){let t=this._iframe.contentWindow;if(!t)return null;let i=ji(Reflect.get(t,un));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(t,"__timelines"),a=this.hasRuntimeBridge(t);if(ln({hasRuntime:a,hasTimelines:U(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(t,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,t){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=t?an(t)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:zi(t)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return U(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=this._callbacks.resolveRuntimeUrl?.()??H,this._runtimeScript=t,t.onerror=()=>{this._runtimeScript!==t||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+t.src))},(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!U(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return cn(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(dn(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var mn=`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -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-KFKZ3ISO.js";
9
+ } from "./chunk-XBX4QJP7.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-RG3QWWIE.js";
18
- import "./chunk-XU5GGV6R.js";
17
+ import "./chunk-ICKDMTLA.js";
18
+ import "./chunk-ZF7SXQJ7.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import "./chunk-GQJZORQP.js";
21
21
  import "./chunk-AMKC3AXA.js";
@@ -25,8 +25,8 @@ import {
25
25
  import "./chunk-54HJ63Q2.js";
26
26
  import "./chunk-PBN6GBJE.js";
27
27
  import "./chunk-USDEMXXL.js";
28
- import "./chunk-3VYNNWVA.js";
29
- import "./chunk-WJB7WI4J.js";
28
+ import "./chunk-VRW6EBHV.js";
29
+ import "./chunk-AUWHD7RA.js";
30
30
  import "./chunk-VC76R6W2.js";
31
31
  import "./chunk-YA62XGXS.js";
32
32
  import {
@@ -45,12 +45,12 @@ import "./chunk-2PSPARWP.js";
45
45
  import "./chunk-T42U2W2R.js";
46
46
  import {
47
47
  withMeta
48
- } from "./chunk-P6WH6QTV.js";
48
+ } from "./chunk-PLR7Z6TC.js";
49
49
  import "./chunk-K4WIOZFP.js";
50
50
  import "./chunk-XUXGIA7H.js";
51
51
  import "./chunk-WERLJGIC.js";
52
52
  import "./chunk-ISN5GRYI.js";
53
- import "./chunk-4OC7MQNB.js";
53
+ import "./chunk-BFACGEII.js";
54
54
  import "./chunk-KNU5COPB.js";
55
55
  import {
56
56
  c
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  gateRegistryItemsCompatibility
9
- } from "./chunk-4LAR447G.js";
9
+ } from "./chunk-GMAJB2P6.js";
10
10
  import {
11
11
  initialModelForLanguage
12
- } from "./chunk-3XTEXWNN.js";
12
+ } from "./chunk-OTHDVXOJ.js";
13
13
  import "./chunk-6IHWCZ3W.js";
14
- import "./chunk-MXNDKDFT.js";
14
+ import "./chunk-FBCULCAL.js";
15
15
  import "./chunk-XT7X6QCP.js";
16
16
  import {
17
17
  writeNewFileSync
@@ -20,11 +20,11 @@ import {
20
20
  listRegistryItems,
21
21
  loadAllItems,
22
22
  resolveItemWithDependencies
23
- } from "./chunk-AUBOF2PN.js";
23
+ } from "./chunk-BIAC7IJT.js";
24
24
  import {
25
25
  installItem
26
- } from "./chunk-54QISXOC.js";
27
- import "./chunk-I5KY7EZP.js";
26
+ } from "./chunk-XIHCMVMG.js";
27
+ import "./chunk-LAFJSYDL.js";
28
28
  import "./chunk-AWDFDFI3.js";
29
29
  import "./chunk-P6LJ4Y32.js";
30
30
  import {
@@ -39,8 +39,8 @@ import {
39
39
  } from "./chunk-ZEUONDQG.js";
40
40
  import {
41
41
  trackInitTemplate
42
- } from "./chunk-RG3QWWIE.js";
43
- import "./chunk-XU5GGV6R.js";
42
+ } from "./chunk-ICKDMTLA.js";
43
+ import "./chunk-ZF7SXQJ7.js";
44
44
  import "./chunk-VWG7OQKU.js";
45
45
  import "./chunk-GQJZORQP.js";
46
46
  import "./chunk-AMKC3AXA.js";
@@ -65,12 +65,12 @@ import {
65
65
  failCommand,
66
66
  finishCommand
67
67
  } from "./chunk-PBN6GBJE.js";
68
- import "./chunk-5VMR4WBS.js";
69
- import "./chunk-OUSLVRO4.js";
68
+ import "./chunk-UXO2L7HJ.js";
69
+ import "./chunk-FDT6KQV4.js";
70
70
  import "./chunk-NE55C6S5.js";
71
71
  import "./chunk-USDEMXXL.js";
72
- import "./chunk-3VYNNWVA.js";
73
- import "./chunk-WJB7WI4J.js";
72
+ import "./chunk-VRW6EBHV.js";
73
+ import "./chunk-AUWHD7RA.js";
74
74
  import "./chunk-VC76R6W2.js";
75
75
  import "./chunk-YA62XGXS.js";
76
76
  import {
@@ -103,7 +103,7 @@ import "./chunk-WERLJGIC.js";
103
103
  import "./chunk-ISN5GRYI.js";
104
104
  import {
105
105
  VERSION
106
- } from "./chunk-4OC7MQNB.js";
106
+ } from "./chunk-BFACGEII.js";
107
107
  import "./chunk-KNU5COPB.js";
108
108
  import "./chunk-UOFAE5RF.js";
109
109
  import {
@@ -675,7 +675,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
675
675
  "utf-8"
676
676
  );
677
677
  if (!existsSync2(resolve(destDir, "hyperframes.json"))) {
678
- const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-FGGVG5MV.js");
678
+ const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-B2AF5DXY.js");
679
679
  const { normalizeSkillSlug } = await import("./skill-ZHVLH7KX.js");
680
680
  const skill = normalizeSkillSlug(authoringSkill);
681
681
  createProjectConfig(
@@ -696,7 +696,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
696
696
  }
697
697
  }
698
698
  async function keepSkillsCurrent(destDir) {
699
- const { updateSkills } = await import("./skills-VENERS5X.js");
699
+ const { updateSkills } = await import("./skills-ACDOO3PX.js");
700
700
  console.log();
701
701
  console.log(c.bold("Checking AI coding skills against GitHub..."));
702
702
  try {
@@ -893,7 +893,7 @@ var init_default = defineCommand({
893
893
  if (audioPath) {
894
894
  sourceFilePath2 = audioPath;
895
895
  copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
896
- const { getMediaDurationSeconds } = await import("./transcribe-HCF64LQK.js");
896
+ const { getMediaDurationSeconds } = await import("./transcribe-SZB6UMXE.js");
897
897
  videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
898
898
  console.log(`Audio: ${basename(audioPath)}`);
899
899
  }
@@ -903,7 +903,7 @@ var init_default = defineCommand({
903
903
  await ensureWhisper();
904
904
  await ensureModel(initialTranscriptionModel);
905
905
  console.log("Transcribing...");
906
- const { transcribe: runTranscribe } = await import("./transcribe-HCF64LQK.js");
906
+ const { transcribe: runTranscribe } = await import("./transcribe-SZB6UMXE.js");
907
907
  const result = await runTranscribe(sourceFilePath2, destDir2, {
908
908
  model: modelFlag,
909
909
  language: languageFlag
@@ -1051,7 +1051,7 @@ var init_default = defineCommand({
1051
1051
  mkdirSync(destDir, { recursive: true });
1052
1052
  sourceFilePath = audioPath;
1053
1053
  copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
1054
- const { getMediaDurationSeconds } = await import("./transcribe-HCF64LQK.js");
1054
+ const { getMediaDurationSeconds } = await import("./transcribe-SZB6UMXE.js");
1055
1055
  videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
1056
1056
  R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
1057
1057
  }
@@ -1079,7 +1079,7 @@ var init_default = defineCommand({
1079
1079
  onProgress: (msg) => spin2.message(msg)
1080
1080
  });
1081
1081
  spin2.message("Transcribing audio...");
1082
- const { transcribe: runTranscribe } = await import("./transcribe-HCF64LQK.js");
1082
+ const { transcribe: runTranscribe } = await import("./transcribe-SZB6UMXE.js");
1083
1083
  const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
1084
1084
  model: modelFlag,
1085
1085
  language: languageFlag,
@@ -1161,7 +1161,7 @@ ${c.dim("Use --example blank for offline use.")}`
1161
1161
  }
1162
1162
  R.info("Opening studio preview...");
1163
1163
  try {
1164
- const previewCmd = await import("./preview-CONUOFFQ.js").then((m) => m.default);
1164
+ const previewCmd = await import("./preview-VT2HWRWZ.js").then((m) => m.default);
1165
1165
  await runCommand(previewCmd, { rawArgs: [destDir] });
1166
1166
  } catch {
1167
1167
  }
@@ -6,39 +6,39 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createInspectCommand
9
- } from "./chunk-A53CBD24.js";
10
- import "./chunk-RVFEDAUV.js";
9
+ } from "./chunk-5NRXZGKK.js";
10
+ import "./chunk-ZIYZ77MR.js";
11
11
  import "./chunk-XUHOIDKG.js";
12
12
  import "./chunk-X7MTZ4T2.js";
13
- import "./chunk-Y6UPYWJS.js";
14
- import "./chunk-KFKZ3ISO.js";
15
- import "./chunk-SLCFKB3Y.js";
13
+ import "./chunk-DWUKJQTO.js";
14
+ import "./chunk-XBX4QJP7.js";
15
+ import "./chunk-U5QY7KTN.js";
16
16
  import "./chunk-FH7WODJH.js";
17
- import "./chunk-5WADG7PR.js";
18
- import "./chunk-GZM2EFOE.js";
17
+ import "./chunk-4ORLNTET.js";
18
+ import "./chunk-FXJJCPPB.js";
19
19
  import "./chunk-WPNE5NEP.js";
20
20
  import "./chunk-K2FLNJVB.js";
21
- import "./chunk-XGFHYAYN.js";
22
- import "./chunk-YJXHMIZA.js";
21
+ import "./chunk-GXJEGZL2.js";
22
+ import "./chunk-5WVW7P23.js";
23
23
  import "./chunk-QZ3AZTXI.js";
24
24
  import "./chunk-DDIVWXN7.js";
25
- import "./chunk-ZOA2SC4P.js";
25
+ import "./chunk-KIFHYXPB.js";
26
26
  import "./chunk-G75ENCEZ.js";
27
27
  import "./chunk-EOVYQ3IG.js";
28
- import "./chunk-7SDCIWHQ.js";
28
+ import "./chunk-ADF3X6GM.js";
29
29
  import "./chunk-442JNXRM.js";
30
- import "./chunk-JEHFZQYT.js";
30
+ import "./chunk-CFUXNBWH.js";
31
31
  import "./chunk-XT7X6QCP.js";
32
32
  import "./chunk-4YYJOFKS.js";
33
33
  import "./chunk-HVW7ABXD.js";
34
- import "./chunk-AUBOF2PN.js";
35
- import "./chunk-54QISXOC.js";
36
- import "./chunk-I5KY7EZP.js";
34
+ import "./chunk-BIAC7IJT.js";
35
+ import "./chunk-XIHCMVMG.js";
36
+ import "./chunk-LAFJSYDL.js";
37
37
  import "./chunk-AWDFDFI3.js";
38
38
  import "./chunk-P6LJ4Y32.js";
39
39
  import "./chunk-374QQGBQ.js";
40
- import "./chunk-RG3QWWIE.js";
41
- import "./chunk-XU5GGV6R.js";
40
+ import "./chunk-ICKDMTLA.js";
41
+ import "./chunk-ZF7SXQJ7.js";
42
42
  import "./chunk-VWG7OQKU.js";
43
43
  import "./chunk-GQJZORQP.js";
44
44
  import "./chunk-AMKC3AXA.js";
@@ -48,12 +48,12 @@ import "./chunk-54HJ63Q2.js";
48
48
  import "./chunk-PBN6GBJE.js";
49
49
  import "./chunk-KC5XXX3X.js";
50
50
  import "./chunk-TJSTGSAW.js";
51
- import "./chunk-5VMR4WBS.js";
52
- import "./chunk-OUSLVRO4.js";
51
+ import "./chunk-UXO2L7HJ.js";
52
+ import "./chunk-FDT6KQV4.js";
53
53
  import "./chunk-NE55C6S5.js";
54
54
  import "./chunk-USDEMXXL.js";
55
- import "./chunk-3VYNNWVA.js";
56
- import "./chunk-WJB7WI4J.js";
55
+ import "./chunk-VRW6EBHV.js";
56
+ import "./chunk-AUWHD7RA.js";
57
57
  import "./chunk-VC76R6W2.js";
58
58
  import "./chunk-YA62XGXS.js";
59
59
  import "./chunk-MQZVBHEY.js";
@@ -72,12 +72,12 @@ import "./chunk-BSQ7XANM.js";
72
72
  import "./chunk-SDYDNHEE.js";
73
73
  import "./chunk-2PSPARWP.js";
74
74
  import "./chunk-T42U2W2R.js";
75
- import "./chunk-P6WH6QTV.js";
75
+ import "./chunk-PLR7Z6TC.js";
76
76
  import "./chunk-K4WIOZFP.js";
77
77
  import "./chunk-XUXGIA7H.js";
78
78
  import "./chunk-WERLJGIC.js";
79
79
  import "./chunk-ISN5GRYI.js";
80
- import "./chunk-4OC7MQNB.js";
80
+ import "./chunk-BFACGEII.js";
81
81
  import "./chunk-KNU5COPB.js";
82
82
  import "./chunk-3GXQPCJC.js";
83
83
  import "./chunk-ZTZA4UWZ.js";
@@ -10,13 +10,13 @@ import {
10
10
  prepareItem,
11
11
  publishItem,
12
12
  recordRewrittenInstall
13
- } from "./chunk-54QISXOC.js";
14
- import "./chunk-I5KY7EZP.js";
13
+ } from "./chunk-XIHCMVMG.js";
14
+ import "./chunk-LAFJSYDL.js";
15
15
  import "./chunk-AWDFDFI3.js";
16
16
  import "./chunk-P6LJ4Y32.js";
17
17
  import "./chunk-GMECXFAN.js";
18
- import "./chunk-3VYNNWVA.js";
19
- import "./chunk-WJB7WI4J.js";
18
+ import "./chunk-VRW6EBHV.js";
19
+ import "./chunk-AUWHD7RA.js";
20
20
  import "./chunk-VC76R6W2.js";
21
21
  import "./chunk-YA62XGXS.js";
22
22
  import "./chunk-MQZVBHEY.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-KFKZ3ISO.js";
9
+ } from "./chunk-XBX4QJP7.js";
10
10
  import "./chunk-K2FLNJVB.js";
11
11
  import {
12
12
  ensureDOMParser
13
13
  } from "./chunk-442JNXRM.js";
14
- import "./chunk-RG3QWWIE.js";
15
- import "./chunk-XU5GGV6R.js";
14
+ import "./chunk-ICKDMTLA.js";
15
+ import "./chunk-ZF7SXQJ7.js";
16
16
  import "./chunk-VWG7OQKU.js";
17
17
  import "./chunk-GQJZORQP.js";
18
18
  import "./chunk-AMKC3AXA.js";
@@ -39,12 +39,12 @@ import {
39
39
  } from "./chunk-2PSPARWP.js";
40
40
  import {
41
41
  withMeta
42
- } from "./chunk-P6WH6QTV.js";
42
+ } from "./chunk-PLR7Z6TC.js";
43
43
  import "./chunk-K4WIOZFP.js";
44
44
  import "./chunk-XUXGIA7H.js";
45
45
  import "./chunk-WERLJGIC.js";
46
46
  import "./chunk-ISN5GRYI.js";
47
- import "./chunk-4OC7MQNB.js";
47
+ import "./chunk-BFACGEII.js";
48
48
  import "./chunk-KNU5COPB.js";
49
49
  import {
50
50
  c
@@ -2369,7 +2369,7 @@ function printOnionShotSaved(saved, elementCount) {
2369
2369
  console.log();
2370
2370
  }
2371
2371
  async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
2372
- const { captureMotionPathShot } = await import("./motionShot-WXMFHICW.js");
2372
+ const { captureMotionPathShot } = await import("./motionShot-WPVNBXKA.js");
2373
2373
  const requests = collectShotSelectors(args.selector ? allComps : comps);
2374
2374
  const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
2375
2375
  if (guardError) {
@@ -16,8 +16,8 @@ import {
16
16
  import {
17
17
  failCommand
18
18
  } from "./chunk-PBN6GBJE.js";
19
- import "./chunk-3VYNNWVA.js";
20
- import "./chunk-WJB7WI4J.js";
19
+ import "./chunk-VRW6EBHV.js";
20
+ import "./chunk-AUWHD7RA.js";
21
21
  import "./chunk-VC76R6W2.js";
22
22
  import "./chunk-YA62XGXS.js";
23
23
  import "./chunk-MQZVBHEY.js";
@@ -289,7 +289,7 @@ Or, for an opt-in dev setup:
289
289
  console.error(`[lambda render] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
290
290
  failCommand();
291
291
  }
292
- const { runRender } = await import("./render-GFW5BPES.js");
292
+ const { runRender } = await import("./render-W7OFXDOJ.js");
293
293
  const renderResolution = parseOutputResolution(args["output-resolution"]);
294
294
  await runRender({
295
295
  projectDir,
@@ -343,7 +343,7 @@ Or, for an opt-in dev setup:
343
343
  console.error(`[lambda render-batch] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
344
344
  failCommand();
345
345
  }
346
- const { runRenderBatch } = await import("./render-batch-XUCZ2PUJ.js");
346
+ const { runRenderBatch } = await import("./render-batch-46IIBFKL.js");
347
347
  const batchResolution = parseOutputResolution(args["output-resolution"]);
348
348
  await runRenderBatch({
349
349
  projectDir,
@@ -10,39 +10,39 @@ import {
10
10
  layout_default,
11
11
  loadBrowserScript,
12
12
  parseAt
13
- } from "./chunk-A53CBD24.js";
14
- import "./chunk-RVFEDAUV.js";
13
+ } from "./chunk-5NRXZGKK.js";
14
+ import "./chunk-ZIYZ77MR.js";
15
15
  import "./chunk-XUHOIDKG.js";
16
16
  import "./chunk-X7MTZ4T2.js";
17
- import "./chunk-Y6UPYWJS.js";
18
- import "./chunk-KFKZ3ISO.js";
19
- import "./chunk-SLCFKB3Y.js";
17
+ import "./chunk-DWUKJQTO.js";
18
+ import "./chunk-XBX4QJP7.js";
19
+ import "./chunk-U5QY7KTN.js";
20
20
  import "./chunk-FH7WODJH.js";
21
- import "./chunk-5WADG7PR.js";
22
- import "./chunk-GZM2EFOE.js";
21
+ import "./chunk-4ORLNTET.js";
22
+ import "./chunk-FXJJCPPB.js";
23
23
  import "./chunk-WPNE5NEP.js";
24
24
  import "./chunk-K2FLNJVB.js";
25
- import "./chunk-XGFHYAYN.js";
26
- import "./chunk-YJXHMIZA.js";
25
+ import "./chunk-GXJEGZL2.js";
26
+ import "./chunk-5WVW7P23.js";
27
27
  import "./chunk-QZ3AZTXI.js";
28
28
  import "./chunk-DDIVWXN7.js";
29
- import "./chunk-ZOA2SC4P.js";
29
+ import "./chunk-KIFHYXPB.js";
30
30
  import "./chunk-G75ENCEZ.js";
31
31
  import "./chunk-EOVYQ3IG.js";
32
- import "./chunk-7SDCIWHQ.js";
32
+ import "./chunk-ADF3X6GM.js";
33
33
  import "./chunk-442JNXRM.js";
34
- import "./chunk-JEHFZQYT.js";
34
+ import "./chunk-CFUXNBWH.js";
35
35
  import "./chunk-XT7X6QCP.js";
36
36
  import "./chunk-4YYJOFKS.js";
37
37
  import "./chunk-HVW7ABXD.js";
38
- import "./chunk-AUBOF2PN.js";
39
- import "./chunk-54QISXOC.js";
40
- import "./chunk-I5KY7EZP.js";
38
+ import "./chunk-BIAC7IJT.js";
39
+ import "./chunk-XIHCMVMG.js";
40
+ import "./chunk-LAFJSYDL.js";
41
41
  import "./chunk-AWDFDFI3.js";
42
42
  import "./chunk-P6LJ4Y32.js";
43
43
  import "./chunk-374QQGBQ.js";
44
- import "./chunk-RG3QWWIE.js";
45
- import "./chunk-XU5GGV6R.js";
44
+ import "./chunk-ICKDMTLA.js";
45
+ import "./chunk-ZF7SXQJ7.js";
46
46
  import "./chunk-VWG7OQKU.js";
47
47
  import "./chunk-GQJZORQP.js";
48
48
  import "./chunk-AMKC3AXA.js";
@@ -52,12 +52,12 @@ import "./chunk-54HJ63Q2.js";
52
52
  import "./chunk-PBN6GBJE.js";
53
53
  import "./chunk-KC5XXX3X.js";
54
54
  import "./chunk-TJSTGSAW.js";
55
- import "./chunk-5VMR4WBS.js";
56
- import "./chunk-OUSLVRO4.js";
55
+ import "./chunk-UXO2L7HJ.js";
56
+ import "./chunk-FDT6KQV4.js";
57
57
  import "./chunk-NE55C6S5.js";
58
58
  import "./chunk-USDEMXXL.js";
59
- import "./chunk-3VYNNWVA.js";
60
- import "./chunk-WJB7WI4J.js";
59
+ import "./chunk-VRW6EBHV.js";
60
+ import "./chunk-AUWHD7RA.js";
61
61
  import "./chunk-VC76R6W2.js";
62
62
  import "./chunk-YA62XGXS.js";
63
63
  import "./chunk-MQZVBHEY.js";
@@ -76,12 +76,12 @@ import "./chunk-BSQ7XANM.js";
76
76
  import "./chunk-SDYDNHEE.js";
77
77
  import "./chunk-2PSPARWP.js";
78
78
  import "./chunk-T42U2W2R.js";
79
- import "./chunk-P6WH6QTV.js";
79
+ import "./chunk-PLR7Z6TC.js";
80
80
  import "./chunk-K4WIOZFP.js";
81
81
  import "./chunk-XUXGIA7H.js";
82
82
  import "./chunk-WERLJGIC.js";
83
83
  import "./chunk-ISN5GRYI.js";
84
- import "./chunk-4OC7MQNB.js";
84
+ import "./chunk-BFACGEII.js";
85
85
  import "./chunk-KNU5COPB.js";
86
86
  import "./chunk-3GXQPCJC.js";
87
87
  import "./chunk-ZTZA4UWZ.js";