hyperframes 0.8.192 → 0.8.193

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 (168) hide show
  1. package/dist/{add-TZU2UW7A.js → add-JC6DKZKC.js} +11 -11
  2. package/dist/{animatedGifPrep-NLAXC3VV.js → animatedGifPrep-S6KXJGEL.js} +5 -5
  3. package/dist/api.js +13 -13
  4. package/dist/{asset-JAJXA6LB.js → asset-XITFIFE6.js} +2 -2
  5. package/dist/{assetCataloger-4WTX3J4I.js → assetCataloger-K5FNKG35.js} +5 -5
  6. package/dist/{audio-XLWC7JKS.js → audio-364UHTY4.js} +11 -11
  7. package/dist/{auth-5K6X3NPJ.js → auth-5JEESRE6.js} +1 -1
  8. package/dist/{autoUpdate-RNV7SKGB.js → autoUpdate-RVVYEHAA.js} +3 -3
  9. package/dist/{backgroundChecks-QXLVZVGX.js → backgroundChecks-DCBIYWIQ.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-THKSPDZR.js → batchRender-ZZ4QMBAA.js} +3 -3
  12. package/dist/{beats-K7CGCFVL.js → beats-YEL65M6G.js} +7 -7
  13. package/dist/{benchmark-PHRDIXNL.js → benchmark-RBTRPA76.js} +8 -8
  14. package/dist/{browser-GN6R5ZSK.js → browser-BVAYXT4R.js} +3 -3
  15. package/dist/{bundleWithLocalizedFonts-C325UNR4.js → bundleWithLocalizedFonts-JLB2OYMT.js} +2 -2
  16. package/dist/{capture-6UBQFHZQ.js → capture-GBXTMYLZ.js} +9 -9
  17. package/dist/{capture-BZ7APOGQ.js → capture-NIFX6IRS.js} +2 -2
  18. package/dist/{captureCompositionFrame-VORSCTWC.js → captureCompositionFrame-ATNNKUL5.js} +10 -10
  19. package/dist/{catalog-PHU2RUZ3.js → catalog-AGIF5SM5.js} +11 -11
  20. package/dist/{catch-up-HCNRM46J.js → catch-up-SZ3ULDTI.js} +4 -4
  21. package/dist/{check-TJ5ZLB4I.js → check-YLQS3TF4.js} +33 -33
  22. package/dist/{checkBrowser-DWP7ZXJ7.js → checkBrowser-QH4FMCBO.js} +28 -28
  23. package/dist/{chunk-7LLRMYP6.js → chunk-2LSCYS2H.js} +2 -2
  24. package/dist/{chunk-KZOZN4PI.js → chunk-2NERNYCJ.js} +1 -1
  25. package/dist/{chunk-RHYOWDI6.js → chunk-2SFDWMSW.js} +2 -2
  26. package/dist/{chunk-AEXVVABM.js → chunk-3W4B6G7Y.js} +1 -1
  27. package/dist/{chunk-E5V6WEMK.js → chunk-4LXZJIVY.js} +9 -9
  28. package/dist/{chunk-YWRQHRDY.js → chunk-4PPWAQYV.js} +7 -7
  29. package/dist/{chunk-WOKVXK4J.js → chunk-4TKJWWPL.js} +1 -1
  30. package/dist/{chunk-NXMYHJAL.js → chunk-4VYPICIA.js} +29 -1
  31. package/dist/{chunk-6WNLQI63.js → chunk-5J6TWLFG.js} +3 -3
  32. package/dist/{chunk-ULTKB5FC.js → chunk-6DLCOQR4.js} +461 -427
  33. package/dist/{chunk-CXRZBWSH.js → chunk-6LWUPIKD.js} +9 -9
  34. package/dist/{chunk-5IPKQHOL.js → chunk-6XUJVEY2.js} +1 -1
  35. package/dist/{chunk-MGBUWPXX.js → chunk-7HTH5PFK.js} +1 -1
  36. package/dist/{chunk-32NB4VMH.js → chunk-7QNIXBQD.js} +1 -1
  37. package/dist/{chunk-AR46ND2Q.js → chunk-7YKJF5JV.js} +1 -1
  38. package/dist/{chunk-7RSY7SZN.js → chunk-7YSFE4SZ.js} +1 -1
  39. package/dist/{chunk-IMSI7IFW.js → chunk-AR3DQYRR.js} +17 -17
  40. package/dist/{chunk-XX2PA4L3.js → chunk-BJAS2JLW.js} +1 -1
  41. package/dist/{chunk-J2ASTCU6.js → chunk-BP4EMEGH.js} +1 -1
  42. package/dist/{chunk-4HCJOFMB.js → chunk-C4Y3ZREE.js} +20 -1
  43. package/dist/{chunk-7UZC4N62.js → chunk-CGTZOY53.js} +1 -1
  44. package/dist/{chunk-OQL4AJ4X.js → chunk-D625D4TV.js} +4 -4
  45. package/dist/{chunk-R2U2G4OS.js → chunk-DSQ72G5I.js} +1 -1
  46. package/dist/{chunk-VRAXIQ6I.js → chunk-DYNHVCBF.js} +1 -1
  47. package/dist/{chunk-SBBQFPCJ.js → chunk-E77ALFLW.js} +1 -1
  48. package/dist/{chunk-5TRFLZ5Z.js → chunk-EFXMETRK.js} +1 -1
  49. package/dist/{chunk-MEE4NTPZ.js → chunk-F5LLORBP.js} +2 -2
  50. package/dist/{chunk-A4OI5ZNX.js → chunk-GKHMSSGY.js} +1 -1
  51. package/dist/{chunk-AMZJFCOX.js → chunk-GR5DQKDR.js} +5 -5
  52. package/dist/{chunk-W24SZ5FL.js → chunk-KU3UFQN7.js} +5 -8
  53. package/dist/{chunk-QX4TB4NH.js → chunk-L4JB7LI4.js} +320 -75
  54. package/dist/{chunk-K2AKVYNR.js → chunk-L5YLA54L.js} +2 -2
  55. package/dist/{chunk-3FV5BVWS.js → chunk-LFUVTS6V.js} +2 -2
  56. package/dist/{chunk-4E75LHAL.js → chunk-LMNZLZMJ.js} +1 -1
  57. package/dist/{chunk-LOKCBZYF.js → chunk-M3KZBDPB.js} +3 -3
  58. package/dist/{chunk-VOM2HLUI.js → chunk-MFUNDJEV.js} +3 -3
  59. package/dist/{chunk-7JJMT6LN.js → chunk-OFV3WSOE.js} +1 -1
  60. package/dist/{chunk-L2YGSAOL.js → chunk-OFYW4J7Y.js} +2 -2
  61. package/dist/{chunk-T6O5OLN2.js → chunk-QKX7ITER.js} +2 -2
  62. package/dist/{chunk-BV6YE455.js → chunk-RTLPWOO6.js} +1 -1
  63. package/dist/{chunk-BPKLUHFT.js → chunk-SOY2FPOR.js} +5 -5
  64. package/dist/{chunk-YMQQXPD5.js → chunk-TY3LDJA3.js} +5 -12
  65. package/dist/{chunk-2HP5GIQ3.js → chunk-TZEKVLPV.js} +1 -1
  66. package/dist/{chunk-QWLES6YV.js → chunk-UB7BIDBS.js} +3 -3
  67. package/dist/{chunk-JCDYDF54.js → chunk-UIC7B5KW.js} +1 -1
  68. package/dist/{chunk-2J3NA3OB.js → chunk-UNATIAOT.js} +7 -7
  69. package/dist/chunk-USWPZXEA.js +3897 -0
  70. package/dist/{chunk-ZEMDV6W2.js → chunk-V7ZA2BNW.js} +1 -1
  71. package/dist/{chunk-PFRG5P32.js → chunk-VLLFORE2.js} +1 -1
  72. package/dist/{chunk-EKGGSAWR.js → chunk-VPC4XIVI.js} +5 -5
  73. package/dist/{chunk-6XVKMBUA.js → chunk-VW63MHQU.js} +1 -1
  74. package/dist/{chunk-MVIJTXN5.js → chunk-WFS6S65A.js} +12 -12
  75. package/dist/{chunk-VNPADTDD.js → chunk-WIVOXGEP.js} +2 -2
  76. package/dist/{chunk-J2BSUF6X.js → chunk-X5CECNCK.js} +1 -1
  77. package/dist/{chunk-SK7TR7BL.js → chunk-XQPA4W3M.js} +2 -2
  78. package/dist/{chunk-BEOK6F26.js → chunk-YS4JUGNI.js} +2 -2
  79. package/dist/{chunk-ODBYZIOH.js → chunk-ZH7J2ZUL.js} +12 -12
  80. package/dist/{chunk-XF77MK3J.js → chunk-ZT45TCY3.js} +1 -1
  81. package/dist/{chunk-3CXIX6XS.js → chunk-ZTKFRXJB.js} +3 -3
  82. package/dist/{chunk-GANST5K3.js → chunk-ZZPBXRYQ.js} +1 -1
  83. package/dist/{clean-2RNCTDBT.js → clean-5HGESK5A.js} +14 -14
  84. package/dist/cli.js +54 -54
  85. package/dist/{cloud-NFIKESNZ.js → cloud-746PHS32.js} +4 -4
  86. package/dist/{cloudrun-7224BCX3.js → cloudrun-DO7WFLSM.js} +4 -4
  87. package/dist/{compare-HL44MXVX.js → compare-66YPRNG2.js} +26 -26
  88. package/dist/{compiler-WF5QTXV7.js → compiler-R4UYDWXO.js} +2 -2
  89. package/dist/{component-ZBZXSJBR.js → component-EQ3H6RFP.js} +3 -3
  90. package/dist/{compositions-76P7LDDX.js → compositions-ZZ7P5HT2.js} +9 -9
  91. package/dist/{contactSheet-43ISAESM.js → contactSheet-SZBJDOMT.js} +1 -1
  92. package/dist/{delete-4YZBYOHJ.js → delete-Z5MSLJSR.js} +2 -2
  93. package/dist/{deploy-UGUUGYLF.js → deploy-RGSAC2K5.js} +1 -1
  94. package/dist/{dist-5KKCRFPT.js → dist-RKK4YLAD.js} +2 -2
  95. package/dist/{doctor-GGVUK4NB.js → doctor-W4ZZDRTU.js} +9 -9
  96. package/dist/{events-OXPTHVDB.js → events-BSSL4A4W.js} +2 -2
  97. package/dist/{events-V2VU4J3B.js → events-UACT7PX3.js} +3 -3
  98. package/dist/{feedback-HFZ5SCUK.js → feedback-47ILDLQG.js} +6 -6
  99. package/dist/{ffmpeg-3VHY7GO3.js → ffmpeg-IEHSUNUT.js} +5 -5
  100. package/dist/{figma-7SEZTLBJ.js → figma-PLFIIYRU.js} +3 -3
  101. package/dist/fontLocalizeCli.js +7 -7
  102. package/dist/{get-Y2S2PXCM.js → get-PDWGJYNL.js} +2 -2
  103. package/dist/{gpuPolicy-UHPOWRV5.js → gpuPolicy-6UBXO6ME.js} +5 -5
  104. package/dist/{grade-compare-4VTXSQM5.js → grade-compare-5VWLQGM7.js} +26 -26
  105. package/dist/{help-HXNOACHI.js → help-DS3KMWYO.js} +1 -1
  106. package/dist/{history-XDJUI4LC.js → history-OC326NVZ.js} +9 -8
  107. package/dist/hyperframe.manifest.json +1 -1
  108. package/dist/hyperframe.runtime.iife.js +51 -51
  109. package/dist/hyperframes-player.global.js +1 -1
  110. package/dist/{info-KYRI3EZV.js → info-AUIFV6MX.js} +7 -7
  111. package/dist/{init-IL7EWMT5.js → init-MRTWWDFW.js} +25 -25
  112. package/dist/{inspect-TBNH23UC.js → inspect-55NOAXI2.js} +26 -26
  113. package/dist/{installer-O2YMFSI4.js → installer-YSFFGBBV.js} +4 -4
  114. package/dist/{keyframes-4GF62KAJ.js → keyframes-OO2BX2IB.js} +6 -6
  115. package/dist/{lambda-JFL6M4XZ.js → lambda-CXXY6QT3.js} +6 -6
  116. package/dist/{layout-7MAEFR65.js → layout-57GJXKDK.js} +26 -26
  117. package/dist/{lint-4AYHKYAM.js → lint-J4FK3Z6G.js} +6 -6
  118. package/dist/{list-3DP3D3MW.js → list-VDQUJ76B.js} +2 -2
  119. package/dist/{login-T54WQYRQ.js → login-TJSEALWW.js} +4 -4
  120. package/dist/{manager-QROK2IH3.js → manager-4PLYEEWP.js} +6 -6
  121. package/dist/{media-treatment-4CXF7MSG.js → media-treatment-GXP4PMJH.js} +11 -11
  122. package/dist/{models-IS3I6JKU.js → models-HQQQKEEP.js} +9 -9
  123. package/dist/{motionShot-DVYJZOTQ.js → motionShot-2BT5D7DC.js} +13 -13
  124. package/dist/{normalize-audio-4527JIK4.js → normalize-audio-SOLFMHNP.js} +4 -4
  125. package/dist/{open-5JE46SAX.js → open-KHEUODFQ.js} +11 -11
  126. package/dist/{parakeetRunner-7JIJGJJ7.js → parakeetRunner-BHU5NCAX.js} +10 -10
  127. package/dist/{pipeline-YEN3WFD2.js → pipeline-WFV5HDTD.js} +6 -6
  128. package/dist/{play-WFX67I7M.js → play-GB34CANJ.js} +17 -17
  129. package/dist/{preflight-D377HVUZ.js → preflight-REF3VSJ7.js} +6 -6
  130. package/dist/{present-XTSEKAC7.js → present-SIUTA7TD.js} +13 -13
  131. package/dist/{preview-5XH7EK6O.js → preview-T2GE7Z4A.js} +16 -16
  132. package/dist/{producer-TFFYF4ZM.js → producer-23KVQZAB.js} +1 -1
  133. package/dist/{projectConfig-6YUJHMCL.js → projectConfig-DBSNBPNP.js} +6 -6
  134. package/dist/{publication-JK33Y55E.js → publication-IXPUKYWJ.js} +2 -2
  135. package/dist/{publish-JHDGXWXU.js → publish-3BA5VHXJ.js} +7 -7
  136. package/dist/{remove-background-P44MYAPJ.js → remove-background-RMSCJVVQ.js} +7 -7
  137. package/dist/{render-RJ3I4E3A.js → render-6RNE2MLU.js} +12 -12
  138. package/dist/{render-RBINWWP5.js → render-XGOZMMWX.js} +27 -27
  139. package/dist/{render-HJ34EGMN.js → render-Y6CTQ3YW.js} +5 -5
  140. package/dist/{render-batch-3D6XQYUC.js → render-batch-VUR6N6EY.js} +5 -5
  141. package/dist/{resolver-HCLTFZUW.js → resolver-GJCUH57W.js} +4 -4
  142. package/dist/{sherpa-IPOUJM6Q.js → sherpa-VVAKRCPL.js} +9 -9
  143. package/dist/skills/hyperframes/references/format.md +1 -0
  144. package/dist/{skills-P67QEERC.js → skills-ZHBURVQG.js} +5 -5
  145. package/dist/{skillsUpdateCheck-IFMLRVIF.js → skillsUpdateCheck-VMDAL2O2.js} +3 -3
  146. package/dist/{snapshot-4YM4NNWJ.js → snapshot-KEOG56SL.js} +46 -41
  147. package/dist/{src-SSV66L3F.js → src-BH5NICGQ.js} +14 -4
  148. package/dist/{src-DCD3YMXX.js → src-TZLGFRRX.js} +6 -6
  149. package/dist/{staticProjectServer-C7PPGLEQ.js → staticProjectServer-BKXL5CXB.js} +14 -14
  150. package/dist/studio/assets/{hyperframes-player-ChN3cOr0.js → hyperframes-player-BMcUdmDb.js} +1 -1
  151. package/dist/studio/assets/{index-CHu83hHM.js → index-Ca-mgTnS.js} +4 -4
  152. package/dist/studio/assets/{index-BYbFcRR0.js → index-Ci6GuloR.js} +1 -1
  153. package/dist/studio/index.html +1 -1
  154. package/dist/{studio-api-6YZ7PIQR.js → studio-api-A5U6QAMC.js} +9 -7
  155. package/dist/{studioServer-EWHSE4GC.js → studioServer-5EC5CP4W.js} +43 -43
  156. package/dist/{telemetry-GGLBHZRZ.js → telemetry-BCKJXDSW.js} +3 -3
  157. package/dist/{timeline-NKHQJXJ2.js → timeline-AZWAXTAY.js} +15 -15
  158. package/dist/{tokens-FWNNDJ6R.js → tokens-X7NC3V7C.js} +2 -2
  159. package/dist/{transcribe-VD2TMMC2.js → transcribe-7NCY7QZ2.js} +8 -8
  160. package/dist/{transcribe-TRPKXZ7L.js → transcribe-SH26H755.js} +14 -14
  161. package/dist/{updateCheck-CUPS6LU3.js → updateCheck-Y7FUWQM4.js} +2 -2
  162. package/dist/{upgrade-23XO6MEX.js → upgrade-ZHGEVL65.js} +2 -2
  163. package/dist/{urlDownloader-YOAOONCK.js → urlDownloader-FPILIT7M.js} +4 -4
  164. package/dist/{validate-BWIW24G5.js → validate-KQOZR4F6.js} +20 -20
  165. package/dist/{video-XRXJS4GC.js → video-N2QAETFB.js} +5 -5
  166. package/dist/warmCheck.js +33 -33
  167. package/package.json +1 -1
  168. package/dist/chunk-B2XLXD7V.js +0 -3897
@@ -1,4 +1,4 @@
1
- "use strict";var HyperframesPlayer=(()=>{var Ge=Object.defineProperty;var ri=Object.getOwnPropertyDescriptor;var oi=Object.getOwnPropertyNames;var ai=Object.prototype.hasOwnProperty;var si=(t,e)=>{for(var n in e)Ge(t,n,{get:e[n],enumerable:!0})},ui=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oi(e))!ai.call(t,r)&&r!==n&&Ge(t,r,{get:()=>e[r],enumerable:!(i=ri(e,r))||i.enumerable});return t};var li=t=>ui(Ge({},"__esModule",{value:!0}),t);var ro={};si(ro,{HyperframesPlayer:()=>We,SPEED_PRESETS:()=>lt,formatSpeed:()=>F,formatTime:()=>Ce});var Nt=t=>t!==null&&Number.isFinite(t)&&t>0;function ve(t){let e=t.clipEndsSeconds.filter(i=>i===null).length;if(Nt(t.authoredDurationSeconds))return{seconds:t.authoredDurationSeconds,source:"authored",pendingClips:e};let n=t.clipEndsSeconds.filter(Nt);return n.length>0?{seconds:Math.max(...n),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 di="http://www.w3.org/1999/xhtml";function Pt(t){return t!=null&&t.nodeType===1}function $e(t){return Pt(t)&&t.namespaceURI===di}function Be(t,e){return $e(t)&&t.localName===e}function ci(t){return Be(t,"video")}function mi(t){return Be(t,"audio")}function I(t){return ci(t)||mi(t)}function ze(t){return Be(t,"img")}function Ae(t){if(t==null||t.trim()==="")return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function Se(t=document){let e=t.querySelector('[data-composition-id][data-root="true"]');return $e(e)?e:t.querySelector("[data-composition-id]")}var H=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),co=Object.freeze([H.start,H.duration,H.trackIndex]),mo=Object.freeze([H.derivedEnd]),po=Object.freeze([H.derivedEnd,H.legacyTrack]);function je(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Lt=t=>{let e=je(t);return e!==null&&e>=0?e:null};function Ot(t){return Lt(t("data-playback-start"))??Lt(t("data-media-start"))??0}var J=.1,Z=10;function qe(t){return Number.isFinite(t)&&t>0?Math.max(J,Math.min(Z,t)):1}function Ft(t,e=1){let n=Number.parseFloat(t("data-playback-rate")??"");return qe(Number.isFinite(n)&&n>0?n:e)}function Ye(t){let e=je(t("data-duration"));return e!==null&&e>0?e:null}function Ut(t,e){let n=Ye(t);if(n!==null)return n;let i=je(t("data-end"));return i!==null?i-e:null}var pi=3;function Xe(t,e,n){return Number.isFinite(t)?Math.max(0,t-e)/qe(n):null}function Ke(t){let{tag:e,authoredDurationSeconds:n,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=t;if(n!==null&&n>0)return{seconds:n,source:"authored"};if(e==="img")return{seconds:pi,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Xe(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Ht="data-fx-chain",ho=Ht.slice(5);var Q=(t="frequency",e="Frequency",n=1e3,i=20,r=2e4)=>({kind:"number",key:t,label:e,unit:"Hz",min:i,max:r,step:1,default:n,scale:"log",automatable:!0}),Je=(t=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:t,scale:"log",automatable:!0,hint:e}),Ee=(t=-40,e=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:t,max:e,step:.1,default:n,automatable:!0}),Vt={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."},Wt=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-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:[Q("frequency","Frequency",1e3),Ee(-40,40,0),Je(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[Q("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[Q("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[Q("frequency","Cutoff",300,20,2e4),Je(.707),Vt],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[Q("frequency","Cutoff",8e3,100,2e4),Je(.707),Vt],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:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery 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:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{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, 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"}],bo=new Map(Wt.map(t=>[t.id,t]));var go=Wt.map(t=>t.id);function fi(t){return 10**(t/20)}var Gt=fi(12);var Qe="data-automation",xo=Qe.slice(5),Ze=1,bi=512,M=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Bt(t){if(t===Te)return{kind:"volume"};if(t===Re)return{kind:"rate"};let e=t.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===gi){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,n,i]=e;return!n||!i?null:{kind:"fx",nodeId:n,param:i}}var gi="preset";var _i={min:0,max:Gt,step:.01,unit:"",label:"Volume",scale:"linear",default:1};var yi={min:J,max:Z,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function ee(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let e=Number(t);return Number.isFinite(e)?e:null}return null}function vi(t){let e=ee(t);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function zt(t,e){let n=ee(t),i=ee(e);if(n===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(n),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Ai(t){let e=vi(t?.curve),n=zt(t?.viaX,t?.viaY);return{...e?{curve:e}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Si(t,e){let n=ee(t?.t),i=ee(t?.v);if(n===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,n),v:r,...Ai(t)}}function Ei(t,e){let n=t.map(r=>Si(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of n)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,bi)}function Ti(t){let e=[];for(let n of t.lanes){if(!Bt(n.target))continue;let i=n.target===Te?_i:n.target===Re?yi:null,r=Ei(n.points??[],i);r.length>0&&e.push({target:n.target,points:r})}return{version:Ze,lanes:e}}function jt(t){let e;try{e=JSON.parse(t)}catch(r){throw new M(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new M("Automation must be a JSON object.");let n=e;if(n.version!==Ze)throw new M(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new M("Automation is missing a `lanes` array.");let i=n.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new M(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Bt(a.target))throw new M(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new M(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Ti({version:Ze,lanes:i})}function Ri(t,e){return e?Math.pow(t,Math.pow(2,2*e)):t}function xi(t,e){let n=t-.5,i=e-.5,r=.999,o=1e6,a=n>0?n/(r-t):n<0?-n/(t-(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:t+n/u,cy:e+i/u,w:u}}function wi(t,e,n){let{cx:i,cy:r,w:o}=xi(e,n),a=2-2*o,s=t*a-1+2*o*i,u=-t*a-2*o*i,c=ki(s,u,t),m=1-c,g=m*m+2*o*c*m+c*c;return g>0?(2*o*r*c*m+c*c)/g:t}function ki(t,e,n){if(Math.abs(t)<1e-12)return Math.abs(e)<1e-12?n:-n/e;let i=Math.sqrt(Math.max(0,e*e-4*t*n)),r=(-e+i)/(2*t),o=(-e-i)/(2*t),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)):n}function Ii(t,e){let n=zt(e.viaX,e.viaY);return n?wi(Math.min(1,Math.max(0,t)),n.x,n.y):Ri(t,e.curve)}function Mi(t,e,n,i){return i==="log"&&t>0&&e>0?Math.exp(Math.log(t)+(Math.log(e)-Math.log(t))*n):t+(e-t)*n}function xe(t,e,n="linear"){let i=t.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 g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],c=i[s],m=c.t-u.t;return m<=0?c.v:Mi(u.v,c.v,Ii((e-u.t)/m,u),n)}var we=new Map,Di=64;function qt(t,e=Te){let n=`${e}\0${t}`,i=we.get(n);if(i!==void 0)return i;let r=null;try{r=jt(t).lanes.find(o=>o.target===e)??null}catch{r=null}return we.size>Di&&we.clear(),we.set(n,r),r}var Yt=48,Xt=new WeakMap;function Ci(t){let e=t.points,n=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let c=r[r.length-1];if(u<=c)return;let m=xe(t,c,"log");r.push(u),o.push(o[o.length-1]+(m+xe(t,u,"log"))/2*(u-c))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let c=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=Yt;g+=1)a(Math.max(c,0)+(m-c)*g/Yt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:n,lastRate:i}}function Ni(t){let e=Xt.get(t);return e||(e=Ci(t),Xt.set(t,e)),e}function Pi(t){return typeof t!="number"&&t.points.length>0}function Li(t,e,n){let i=0,r=t.length-1;for(;r-i>1;){let o=i+r>>1;t[o]<=n?i=o:r=o}return e[i]+(e[r]-e[i])*(n-t[i])/(t[r]-t[i])}function et(t,e){if(typeof t=="number")return e/t;if(!Pi(t))return e;let{ts:n,ss:i,firstRate:r,lastRate:o}=Ni(t),a=n.length-1;return e<=0?e/r:e>=i[a]?n[a]+(e-i[a])/o:Li(i,n,e)}function Oi(t){return t?qt(t,Re):null}function Kt(t,e){return Oi(t)??e}var No=[{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 v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Lo=Object.freeze([v.start,v.duration,v.trackIndex]),Oo=Object.freeze([v.derivedEnd]),Fo=Object.freeze([v.derivedEnd,v.legacyTrack]);function D(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Qt=/^[A-Za-z0-9_.:-]+$/;function en(t,e){let n=t.charCodeAt(e);return n>=48&&n<=57}function Jt(t,e){let n=e;for(;n>=0&&en(t,n);)n--;return n}function Fi(t,e){let n=e;for(;n>=0&&(t[n]??"").trim()==="";)n--;return n}function Ui(t){let e=t.length-1;if(!en(t,e))return null;let n=Jt(t,e);return t[n]==="."&&(n=Jt(t,n-1)),n+1}function Vi(t){let e=Ui(t);if(e==null)return null;let n=Fi(t,e-1),i=t[n];if(i!=="+"&&i!=="-")return null;let r=t.slice(0,n).trim();if(!Qt.test(r))return null;let o=Number(t.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function te(t){let e=(t??"").trim();if(!e)return null;let n=D(e);if(n!=null)return{kind:"absolute",value:n};if(Qt.test(e))return{kind:"reference",refId:e,offset:0};let i=Vi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(t,e,n,i){t.push({code:e,attribute:n,value:i})}function Hi(t,e,n,i){if(e==null||e.trim()==="")return n.defaultStart===void 0?0:n.defaultStart;if(!t)return T(i,"invalid-start",v.start,e),null;if(t.kind==="absolute")return Math.max(0,t.value);let r=n.resolveReferenceEnd?.(t.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+t.offset)}var Wi=1e-9;function Gi(t,e){return Math.abs(t-e)<=Wi}function $i(t,e,n){let i=D(t);if(i==null){T(n,"deprecated-end",v.derivedEnd,t),T(n,"invalid-end",v.derivedEnd,t);return}if(e==null){T(n,"deprecated-end",v.derivedEnd,t);return}Gi(i,e)||(T(n,"deprecated-end",v.derivedEnd,t),T(n,"conflicting-end",v.derivedEnd,t))}function Bi(t,e,n){let i=D(t);return i==null||i<0?(T(n,"invalid-duration",v.duration,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function zi(t,e,n){T(n,"deprecated-end",v.derivedEnd,t);let i=D(t);return i==null?(T(n,"invalid-end",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(n,"end-before-start",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function ji(t,e,n){let i=t.getAttribute(v.duration),r=t.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:zi(r,e,n);let o=Bi(i,e,n);return r!=null&&$i(r,o.end,n),o}function Zt(t,e,n,i){let r=D(t);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,t),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:n}}function qi(t,e){let n=t.getAttribute(v.trackIndex),i=t.getAttribute(v.legacyTrack);if(n==null&&i==null)return{trackIndex:0,trackSource:"default"};if(n==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Zt(i,v.legacyTrack,"legacy-layer",e);let r=Zt(n??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=D(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function tt(t,e={}){let n=[],i=t.getAttribute(v.start),r=te(i),o=Hi(r,i,e,n),a=ji(t,o,n),s=qi(t,n);return{startExpression:r,start:o,...a,...s,diagnostics:n}}function C(t){return D(t)}function ne(t){return Ft(e=>t.getAttribute(e),I(t)?t.defaultPlaybackRate:1)}function nt(t){return Kt(t.getAttribute("data-automation"),ne(t))}function it(t){return Ot(e=>t.getAttribute(e))}function W(t,e){return Yi(e,it(t),nt(t))}function rt(t){let e=Ke({tag:"video",authoredDurationSeconds:Ye(n=>t.getAttribute(n)),sourceDurationSeconds:Number.isFinite(t.duration)?t.duration:null,mediaStartSeconds:it(t),playbackRate:ne(t)});return e.source==="media"?W(t,t.duration):e.seconds}function ke(t,e=0){return!ze(t)||!t.hasAttribute("data-start")&&!t.hasAttribute("data-track-index")?null:Ke({tag:"img",authoredDurationSeconds:Ut(n=>t.getAttribute(n),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Yi(t,e,n){return typeof n=="number"?Xe(t,e,n):Number.isFinite(t)?et(n,Math.max(0,t-e)):null}function tn(){return globalThis}function ie(t,e){if(typeof window>"u")return;let n=tn(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}var Xi=t=>t.paused?.()===!0?(t.startTime?.()??0)+(t.totalDuration?.()??0)/Math.abs(t.timeScale?.()||1):0;function re(t){try{if(typeof t?.duration!="function")return null;let e=t.getChildren?.(!1,!1,!0),n=Array.isArray(e)?e:[],i=Math.max(Number(t.duration()),...n.map(Xi));return Number.isFinite(i)?i:null}catch(e){return ie("runtime.timelineDuration",e),null}}var nn="data-hf-authored-duration",rn="data-hf-authored-end";function oe(t){if(t==null||typeof t=="string"&&t.trim()==="")return null;let e=typeof t=="number"?t:Number(t);return Number.isFinite(e)?e:null}function Ie(t){let e=oe(t.start);if(e==null)return null;let n=Math.max(0,e),i=oe(t.duration),r=oe(t.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=oe(t.end),s=oe(t.authoredEnd),u=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:u==null?null:u-n,end:u}}var G=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Zo=Object.freeze([G.start,G.duration,G.trackIndex]),Qo=Object.freeze([G.derivedEnd]),ea=Object.freeze([G.derivedEnd,G.legacyTrack]);function Ki(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var on=t=>{let e=Ki(t);return e!==null&&e>=0?e:null};function Ji(t){return on(t("data-playback-start"))??on(t("data-media-start"))??0}var an="data-hf-media-start-basis";function sn(t){return t?.trim().toLowerCase()==="global"?"global":"local"}function Zi(t){return sn(t.basis)==="global"?t.authoredStart:t.hostStart+t.authoredStart}function un(t){return dn(t)?Zi({authoredStart:t.authoredStart,hostStart:t.hostStart,basis:t.basis}):t.ordinaryStart()}function ln(t){return dn(t)&&sn(t.basis)==="global"}function dn(t){return!t.hasAutoStart&&t.authoredStart!=null&&t.hostStart!==0}function ot(t){return Ji(e=>t.getAttribute(e))}function cn(t,e){return t-ot(e)}function O(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=t.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>n?l.getAttribute(f):null,c=l=>Ie({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Ie({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(re(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=c(l)??m(I(l)?W(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||te(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>cn(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},N=(l,f)=>{let _=te(l.getAttribute("data-start"));if(!_){let K=A(l);return K?R(K,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let w=s(_.refId);if(!w)return f;let L=R(w,0),be=y(w)??0,ge=Math.min(0,S(l,0));return Math.max(ge,L+be+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let w=N(l,f);return r.set(l,w),w}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:C(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(an)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return un({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||ot(_)<=0)continue;let w=R(_,0),L=c(_);f.push({start:w,end:L?w+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>I(l)&&ln(k(l))}}function mn(){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 pn=7200,at=1/60,ae=t=>t!==null&&t>at?t:null;function Qi(t){return{width:Ae(t.getAttribute("data-width")),height:Ae(t.getAttribute("data-height"))}}function er(t,e){let n=[];for(let i of t.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<=at||n.push(Math.max(0,r)+o)}return ae(ve({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function tr(t,e){let n=[];for(let r of t.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==t)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let i=C(t.getAttribute("data-duration"));return ae(ve({authoredDurationSeconds:null,clipEndsSeconds:[i,...n]}).seconds)}var nr=t=>t.hasAttribute("data-composition-id")||t.hasAttribute("data-composition-src");function ir(t,e,{unregisteredLottie:n}){let i=[];for(let o of t.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):(I(o)||nr(o))&&i.push(null)}(n||t.querySelector("[data-lottie-src]"))&&i.push(null);let r=ve({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function rr(t){if(t.declared!==null&&Number.isFinite(t.declared)&&t.declared>0)return t.declared;let e=ae(t.timeline()),n=Math.max(0,...t.floors().map(u=>u??0)),i=Number.isFinite(t.fallback)&&t.fallback>at?t.fallback:0,r=Math.max(n,i),a=e!==null&&e>=pn&&ae(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):ae(n)!==null?s=r:i>0?s=i:s=t.derived(),s>0?s:0}function fn(t){let e=Se(t);if(!e)return null;let n=O({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:t}),i=rr({declared:C(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[er(t,{mediaStart:n.resolveMediaStartForElement,mediaDuration:rt}),tr(e,n)],fallback:0,derived:()=>ir(e,n,{unregisteredLottie:!1}).seconds??0});return{...Qi(e),fps:mn().canonicalFps,durationSeconds:i}}var Me="hyperframes-studio-preview";var hn="data-hf-upcoming";var bn="__hfPreviewErrors";var gn="data-hf-autostamped";function _n(t){return t.hasRuntime||t.runtimeInjected?!1:!!(t.hasNestedCompositions||t.hasTimelines&&t.attempts>=5)}function $(t){return typeof t=="object"&&t!==null}function yn(t){return $(t)&&typeof t.getDuration=="function"}function vn(t){return $(t)&&typeof t.duration=="function"&&typeof t.time=="function"&&typeof t.seek=="function"&&typeof t.play=="function"&&typeof t.pause=="function"}var B="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.192/dist/hyperframe.runtime.iife.js";function se(t){if(t===null)return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function or(t){let e=t?.querySelector("[data-composition-id][data-width][data-height]")??t?.querySelector("[data-width][data-height]");if(!e)return null;let n=se(e.getAttribute("data-width")),i=se(e.getAttribute("data-height"));return n!==null&&i!==null?{width:n,height:i}:null}function ar(t){return Array.isArray(t)?t.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var De=class{constructor(e,n){this._iframe=e;this._callbacks=n}_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 n=null;try{n=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(n={kind:"error",message:i instanceof Error?i.message:String(i)})}n??=this._deadlineOutcome(e),n&&(this.stop(),n.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(n.message)):this._callbacks.onReady(n.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let n=this._iframe.contentWindow;if(!n)return null;let i=ar(Reflect.get(n,bn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(n,"__timelines"),a=this.hasRuntimeBridge(n);if(_n({hasRuntime:a,hasTimelines:$(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(n,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,n){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=n?fn(n)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:or(n)}}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 $(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let n=e.createElement("script");n.src=this._callbacks.resolveRuntimeUrl?.()??B,this._runtimeScript=n,n.onerror=()=>{this._runtimeScript!==n||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+n.src))},(e.head||e.documentElement).appendChild(n),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let n=Reflect.get(e,"__timelines");if(!$(n))return null;let i=Object.keys(n);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in n?r:i[i.length-1],a=n[o];return vn(a)?a:null}_resolvePlaybackDurationAdapter(e){let n=Reflect.get(e,"__player");if(yn(n))return{kind:"runtime",getDuration:()=>n.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var An=`
1
+ "use strict";var HyperframesPlayer=(()=>{var Ge=Object.defineProperty;var ri=Object.getOwnPropertyDescriptor;var oi=Object.getOwnPropertyNames;var ai=Object.prototype.hasOwnProperty;var si=(t,e)=>{for(var n in e)Ge(t,n,{get:e[n],enumerable:!0})},ui=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oi(e))!ai.call(t,r)&&r!==n&&Ge(t,r,{get:()=>e[r],enumerable:!(i=ri(e,r))||i.enumerable});return t};var li=t=>ui(Ge({},"__esModule",{value:!0}),t);var ro={};si(ro,{HyperframesPlayer:()=>We,SPEED_PRESETS:()=>lt,formatSpeed:()=>F,formatTime:()=>Ce});var Nt=t=>t!==null&&Number.isFinite(t)&&t>0;function ve(t){let e=t.clipEndsSeconds.filter(i=>i===null).length;if(Nt(t.authoredDurationSeconds))return{seconds:t.authoredDurationSeconds,source:"authored",pendingClips:e};let n=t.clipEndsSeconds.filter(Nt);return n.length>0?{seconds:Math.max(...n),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 di="http://www.w3.org/1999/xhtml";function Pt(t){return t!=null&&t.nodeType===1}function $e(t){return Pt(t)&&t.namespaceURI===di}function Be(t,e){return $e(t)&&t.localName===e}function ci(t){return Be(t,"video")}function mi(t){return Be(t,"audio")}function I(t){return ci(t)||mi(t)}function ze(t){return Be(t,"img")}function Ae(t){if(t==null||t.trim()==="")return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function Se(t=document){let e=t.querySelector('[data-composition-id][data-root="true"]');return $e(e)?e:t.querySelector("[data-composition-id]")}var H=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),co=Object.freeze([H.start,H.duration,H.trackIndex]),mo=Object.freeze([H.derivedEnd]),po=Object.freeze([H.derivedEnd,H.legacyTrack]);function je(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Lt=t=>{let e=je(t);return e!==null&&e>=0?e:null};function Ot(t){return Lt(t("data-playback-start"))??Lt(t("data-media-start"))??0}var J=.1,Z=10;function qe(t){return Number.isFinite(t)&&t>0?Math.max(J,Math.min(Z,t)):1}function Ft(t,e=1){let n=Number.parseFloat(t("data-playback-rate")??"");return qe(Number.isFinite(n)&&n>0?n:e)}function Ye(t){let e=je(t("data-duration"));return e!==null&&e>0?e:null}function Ut(t,e){let n=Ye(t);if(n!==null)return n;let i=je(t("data-end"));return i!==null?i-e:null}var pi=3;function Xe(t,e,n){return Number.isFinite(t)?Math.max(0,t-e)/qe(n):null}function Ke(t){let{tag:e,authoredDurationSeconds:n,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=t;if(n!==null&&n>0)return{seconds:n,source:"authored"};if(e==="img")return{seconds:pi,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Xe(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Ht="data-fx-chain",ho=Ht.slice(5);var Q=(t="frequency",e="Frequency",n=1e3,i=20,r=2e4)=>({kind:"number",key:t,label:e,unit:"Hz",min:i,max:r,step:1,default:n,scale:"log",automatable:!0}),Je=(t=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:t,scale:"log",automatable:!0,hint:e}),Ee=(t=-40,e=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:t,max:e,step:.1,default:n,automatable:!0}),Vt={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."},Wt=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-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:[Q("frequency","Frequency",1e3),Ee(-40,40,0),Je(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[Q("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[Q("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[Q("frequency","Cutoff",300,20,2e4),Je(.707),Vt],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[Q("frequency","Cutoff",8e3,100,2e4),Je(.707),Vt],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:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery 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:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{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, 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"}],bo=new Map(Wt.map(t=>[t.id,t]));var go=Wt.map(t=>t.id);function fi(t){return 10**(t/20)}var Gt=fi(12);var Qe="data-automation",xo=Qe.slice(5),Ze=1,bi=512,M=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Bt(t){if(t===Te)return{kind:"volume"};if(t===Re)return{kind:"rate"};let e=t.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===gi){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,n,i]=e;return!n||!i?null:{kind:"fx",nodeId:n,param:i}}var gi="preset";var _i={min:0,max:Gt,step:.01,unit:"",label:"Volume",scale:"linear",default:1};var yi={min:J,max:Z,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function ee(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let e=Number(t);return Number.isFinite(e)?e:null}return null}function vi(t){let e=ee(t);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function zt(t,e){let n=ee(t),i=ee(e);if(n===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(n),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Ai(t){let e=vi(t?.curve),n=zt(t?.viaX,t?.viaY);return{...e?{curve:e}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Si(t,e){let n=ee(t?.t),i=ee(t?.v);if(n===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,n),v:r,...Ai(t)}}function Ei(t,e){let n=t.map(r=>Si(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of n)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,bi)}function Ti(t){let e=[];for(let n of t.lanes){if(!Bt(n.target))continue;let i=n.target===Te?_i:n.target===Re?yi:null,r=Ei(n.points??[],i);r.length>0&&e.push({target:n.target,points:r})}return{version:Ze,lanes:e}}function jt(t){let e;try{e=JSON.parse(t)}catch(r){throw new M(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new M("Automation must be a JSON object.");let n=e;if(n.version!==Ze)throw new M(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new M("Automation is missing a `lanes` array.");let i=n.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new M(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Bt(a.target))throw new M(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new M(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Ti({version:Ze,lanes:i})}function Ri(t,e){return e?Math.pow(t,Math.pow(2,2*e)):t}function xi(t,e){let n=t-.5,i=e-.5,r=.999,o=1e6,a=n>0?n/(r-t):n<0?-n/(t-(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:t+n/u,cy:e+i/u,w:u}}function wi(t,e,n){let{cx:i,cy:r,w:o}=xi(e,n),a=2-2*o,s=t*a-1+2*o*i,u=-t*a-2*o*i,c=ki(s,u,t),m=1-c,g=m*m+2*o*c*m+c*c;return g>0?(2*o*r*c*m+c*c)/g:t}function ki(t,e,n){if(Math.abs(t)<1e-12)return Math.abs(e)<1e-12?n:-n/e;let i=Math.sqrt(Math.max(0,e*e-4*t*n)),r=(-e+i)/(2*t),o=(-e-i)/(2*t),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)):n}function Ii(t,e){let n=zt(e.viaX,e.viaY);return n?wi(Math.min(1,Math.max(0,t)),n.x,n.y):Ri(t,e.curve)}function Mi(t,e,n,i){return i==="log"&&t>0&&e>0?Math.exp(Math.log(t)+(Math.log(e)-Math.log(t))*n):t+(e-t)*n}function xe(t,e,n="linear"){let i=t.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 g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],c=i[s],m=c.t-u.t;return m<=0?c.v:Mi(u.v,c.v,Ii((e-u.t)/m,u),n)}var we=new Map,Di=64;function qt(t,e=Te){let n=`${e}\0${t}`,i=we.get(n);if(i!==void 0)return i;let r=null;try{r=jt(t).lanes.find(o=>o.target===e)??null}catch{r=null}return we.size>Di&&we.clear(),we.set(n,r),r}var Yt=48,Xt=new WeakMap;function Ci(t){let e=t.points,n=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let c=r[r.length-1];if(u<=c)return;let m=xe(t,c,"log");r.push(u),o.push(o[o.length-1]+(m+xe(t,u,"log"))/2*(u-c))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let c=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=Yt;g+=1)a(Math.max(c,0)+(m-c)*g/Yt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:n,lastRate:i}}function Ni(t){let e=Xt.get(t);return e||(e=Ci(t),Xt.set(t,e)),e}function Pi(t){return typeof t!="number"&&t.points.length>0}function Li(t,e,n){let i=0,r=t.length-1;for(;r-i>1;){let o=i+r>>1;t[o]<=n?i=o:r=o}return e[i]+(e[r]-e[i])*(n-t[i])/(t[r]-t[i])}function et(t,e){if(typeof t=="number")return e/t;if(!Pi(t))return e;let{ts:n,ss:i,firstRate:r,lastRate:o}=Ni(t),a=n.length-1;return e<=0?e/r:e>=i[a]?n[a]+(e-i[a])/o:Li(i,n,e)}function Oi(t){return t?qt(t,Re):null}function Kt(t,e){return Oi(t)??e}var No=[{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 v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Lo=Object.freeze([v.start,v.duration,v.trackIndex]),Oo=Object.freeze([v.derivedEnd]),Fo=Object.freeze([v.derivedEnd,v.legacyTrack]);function D(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Qt=/^[A-Za-z0-9_.:-]+$/;function en(t,e){let n=t.charCodeAt(e);return n>=48&&n<=57}function Jt(t,e){let n=e;for(;n>=0&&en(t,n);)n--;return n}function Fi(t,e){let n=e;for(;n>=0&&(t[n]??"").trim()==="";)n--;return n}function Ui(t){let e=t.length-1;if(!en(t,e))return null;let n=Jt(t,e);return t[n]==="."&&(n=Jt(t,n-1)),n+1}function Vi(t){let e=Ui(t);if(e==null)return null;let n=Fi(t,e-1),i=t[n];if(i!=="+"&&i!=="-")return null;let r=t.slice(0,n).trim();if(!Qt.test(r))return null;let o=Number(t.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function te(t){let e=(t??"").trim();if(!e)return null;let n=D(e);if(n!=null)return{kind:"absolute",value:n};if(Qt.test(e))return{kind:"reference",refId:e,offset:0};let i=Vi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(t,e,n,i){t.push({code:e,attribute:n,value:i})}function Hi(t,e,n,i){if(e==null||e.trim()==="")return n.defaultStart===void 0?0:n.defaultStart;if(!t)return T(i,"invalid-start",v.start,e),null;if(t.kind==="absolute")return Math.max(0,t.value);let r=n.resolveReferenceEnd?.(t.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+t.offset)}var Wi=1e-9;function Gi(t,e){return Math.abs(t-e)<=Wi}function $i(t,e,n){let i=D(t);if(i==null){T(n,"deprecated-end",v.derivedEnd,t),T(n,"invalid-end",v.derivedEnd,t);return}if(e==null){T(n,"deprecated-end",v.derivedEnd,t);return}Gi(i,e)||(T(n,"deprecated-end",v.derivedEnd,t),T(n,"conflicting-end",v.derivedEnd,t))}function Bi(t,e,n){let i=D(t);return i==null||i<0?(T(n,"invalid-duration",v.duration,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function zi(t,e,n){T(n,"deprecated-end",v.derivedEnd,t);let i=D(t);return i==null?(T(n,"invalid-end",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(n,"end-before-start",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function ji(t,e,n){let i=t.getAttribute(v.duration),r=t.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:zi(r,e,n);let o=Bi(i,e,n);return r!=null&&$i(r,o.end,n),o}function Zt(t,e,n,i){let r=D(t);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,t),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:n}}function qi(t,e){let n=t.getAttribute(v.trackIndex),i=t.getAttribute(v.legacyTrack);if(n==null&&i==null)return{trackIndex:0,trackSource:"default"};if(n==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Zt(i,v.legacyTrack,"legacy-layer",e);let r=Zt(n??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=D(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function tt(t,e={}){let n=[],i=t.getAttribute(v.start),r=te(i),o=Hi(r,i,e,n),a=ji(t,o,n),s=qi(t,n);return{startExpression:r,start:o,...a,...s,diagnostics:n}}function C(t){return D(t)}function ne(t){return Ft(e=>t.getAttribute(e),I(t)?t.defaultPlaybackRate:1)}function nt(t){return Kt(t.getAttribute("data-automation"),ne(t))}function it(t){return Ot(e=>t.getAttribute(e))}function W(t,e){return Yi(e,it(t),nt(t))}function rt(t){let e=Ke({tag:"video",authoredDurationSeconds:Ye(n=>t.getAttribute(n)),sourceDurationSeconds:Number.isFinite(t.duration)?t.duration:null,mediaStartSeconds:it(t),playbackRate:ne(t)});return e.source==="media"?W(t,t.duration):e.seconds}function ke(t,e=0){return!ze(t)||!t.hasAttribute("data-start")&&!t.hasAttribute("data-track-index")?null:Ke({tag:"img",authoredDurationSeconds:Ut(n=>t.getAttribute(n),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Yi(t,e,n){return typeof n=="number"?Xe(t,e,n):Number.isFinite(t)?et(n,Math.max(0,t-e)):null}function tn(){return globalThis}function ie(t,e){if(typeof window>"u")return;let n=tn(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}var Xi=t=>t.paused?.()===!0?(t.startTime?.()??0)+(t.totalDuration?.()??0)/Math.abs(t.timeScale?.()||1):0;function re(t){try{if(typeof t?.duration!="function")return null;let e=t.getChildren?.(!1,!1,!0),n=Array.isArray(e)?e:[],i=Math.max(Number(t.duration()),...n.map(Xi));return Number.isFinite(i)?i:null}catch(e){return ie("runtime.timelineDuration",e),null}}var nn="data-hf-authored-duration",rn="data-hf-authored-end";function oe(t){if(t==null||typeof t=="string"&&t.trim()==="")return null;let e=typeof t=="number"?t:Number(t);return Number.isFinite(e)?e:null}function Ie(t){let e=oe(t.start);if(e==null)return null;let n=Math.max(0,e),i=oe(t.duration),r=oe(t.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=oe(t.end),s=oe(t.authoredEnd),u=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:u==null?null:u-n,end:u}}var G=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Zo=Object.freeze([G.start,G.duration,G.trackIndex]),Qo=Object.freeze([G.derivedEnd]),ea=Object.freeze([G.derivedEnd,G.legacyTrack]);function Ki(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var on=t=>{let e=Ki(t);return e!==null&&e>=0?e:null};function Ji(t){return on(t("data-playback-start"))??on(t("data-media-start"))??0}var an="data-hf-media-start-basis";function sn(t){return t?.trim().toLowerCase()==="global"?"global":"local"}function Zi(t){return sn(t.basis)==="global"?t.authoredStart:t.hostStart+t.authoredStart}function un(t){return dn(t)?Zi({authoredStart:t.authoredStart,hostStart:t.hostStart,basis:t.basis}):t.ordinaryStart()}function ln(t){return dn(t)&&sn(t.basis)==="global"}function dn(t){return!t.hasAutoStart&&t.authoredStart!=null&&t.hostStart!==0}function ot(t){return Ji(e=>t.getAttribute(e))}function cn(t,e){return t-ot(e)}function O(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=t.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>n?l.getAttribute(f):null,c=l=>Ie({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Ie({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(re(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=c(l)??m(I(l)?W(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||te(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>cn(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},N=(l,f)=>{let _=te(l.getAttribute("data-start"));if(!_){let K=A(l);return K?R(K,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let w=s(_.refId);if(!w)return f;let L=R(w,0),be=y(w)??0,ge=Math.min(0,S(l,0));return Math.max(ge,L+be+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let w=N(l,f);return r.set(l,w),w}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:C(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(an)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return un({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||ot(_)<=0)continue;let w=R(_,0),L=c(_);f.push({start:w,end:L?w+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>I(l)&&ln(k(l))}}function mn(){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 pn=7200,at=1/60,ae=t=>t!==null&&t>at?t:null;function Qi(t){return{width:Ae(t.getAttribute("data-width")),height:Ae(t.getAttribute("data-height"))}}function er(t,e){let n=[];for(let i of t.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<=at||n.push(Math.max(0,r)+o)}return ae(ve({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function tr(t,e){let n=[];for(let r of t.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==t)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let i=C(t.getAttribute("data-duration"));return ae(ve({authoredDurationSeconds:null,clipEndsSeconds:[i,...n]}).seconds)}var nr=t=>t.hasAttribute("data-composition-id")||t.hasAttribute("data-composition-src");function ir(t,e,{unregisteredLottie:n}){let i=[];for(let o of t.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):(I(o)||nr(o))&&i.push(null)}(n||t.querySelector("[data-lottie-src]"))&&i.push(null);let r=ve({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function rr(t){if(t.declared!==null&&Number.isFinite(t.declared)&&t.declared>0)return t.declared;let e=ae(t.timeline()),n=Math.max(0,...t.floors().map(u=>u??0)),i=Number.isFinite(t.fallback)&&t.fallback>at?t.fallback:0,r=Math.max(n,i),a=e!==null&&e>=pn&&ae(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):ae(n)!==null?s=r:i>0?s=i:s=t.derived(),s>0?s:0}function fn(t){let e=Se(t);if(!e)return null;let n=O({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:t}),i=rr({declared:C(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[er(t,{mediaStart:n.resolveMediaStartForElement,mediaDuration:rt}),tr(e,n)],fallback:0,derived:()=>ir(e,n,{unregisteredLottie:!1}).seconds??0});return{...Qi(e),fps:mn().canonicalFps,durationSeconds:i}}var Me="hyperframes-studio-preview";var hn="data-hf-upcoming";var bn="__hfPreviewErrors";var gn="data-hf-autostamped";function _n(t){return t.hasRuntime||t.runtimeInjected?!1:!!(t.hasNestedCompositions||t.hasTimelines&&t.attempts>=5)}function $(t){return typeof t=="object"&&t!==null}function yn(t){return $(t)&&typeof t.getDuration=="function"}function vn(t){return $(t)&&typeof t.duration=="function"&&typeof t.time=="function"&&typeof t.seek=="function"&&typeof t.play=="function"&&typeof t.pause=="function"}var B="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.193/dist/hyperframe.runtime.iife.js";function se(t){if(t===null)return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function or(t){let e=t?.querySelector("[data-composition-id][data-width][data-height]")??t?.querySelector("[data-width][data-height]");if(!e)return null;let n=se(e.getAttribute("data-width")),i=se(e.getAttribute("data-height"));return n!==null&&i!==null?{width:n,height:i}:null}function ar(t){return Array.isArray(t)?t.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var De=class{constructor(e,n){this._iframe=e;this._callbacks=n}_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 n=null;try{n=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(n={kind:"error",message:i instanceof Error?i.message:String(i)})}n??=this._deadlineOutcome(e),n&&(this.stop(),n.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(n.message)):this._callbacks.onReady(n.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let n=this._iframe.contentWindow;if(!n)return null;let i=ar(Reflect.get(n,bn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(n,"__timelines"),a=this.hasRuntimeBridge(n);if(_n({hasRuntime:a,hasTimelines:$(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(n,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,n){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=n?fn(n)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:or(n)}}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 $(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let n=e.createElement("script");n.src=this._callbacks.resolveRuntimeUrl?.()??B,this._runtimeScript=n,n.onerror=()=>{this._runtimeScript!==n||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+n.src))},(e.head||e.documentElement).appendChild(n),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let n=Reflect.get(e,"__timelines");if(!$(n))return null;let i=Object.keys(n);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in n?r:i[i.length-1],a=n[o];return vn(a)?a:null}_resolvePlaybackDurationAdapter(e){let n=Reflect.get(e,"__player");if(yn(n))return{kind:"runtime",getDuration:()=>n.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var An=`
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-4E75LHAL.js";
9
+ } from "./chunk-LMNZLZMJ.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-BV6YE455.js";
18
- import "./chunk-GANST5K3.js";
17
+ import "./chunk-RTLPWOO6.js";
18
+ import "./chunk-ZZPBXRYQ.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import {
21
21
  defineCommand
@@ -25,11 +25,11 @@ import "./chunk-JVBRJMOP.js";
25
25
  import {
26
26
  c
27
27
  } from "./chunk-ZTZA4UWZ.js";
28
- import "./chunk-MGBUWPXX.js";
28
+ import "./chunk-7HTH5PFK.js";
29
29
  import "./chunk-RQVDTPGD.js";
30
30
  import {
31
31
  isHtmlElement
32
- } from "./chunk-B2XLXD7V.js";
32
+ } from "./chunk-USWPZXEA.js";
33
33
  import "./chunk-VC76R6W2.js";
34
34
  import "./chunk-X7HBSTCZ.js";
35
35
  import {
@@ -53,12 +53,12 @@ import "./chunk-RXATE6FZ.js";
53
53
  import "./chunk-W2LGJSEN.js";
54
54
  import {
55
55
  withMeta
56
- } from "./chunk-2HP5GIQ3.js";
56
+ } from "./chunk-TZEKVLPV.js";
57
57
  import "./chunk-K4WIOZFP.js";
58
58
  import "./chunk-6NLPPKBO.js";
59
59
  import "./chunk-WERLJGIC.js";
60
60
  import "./chunk-ISN5GRYI.js";
61
- import "./chunk-3FV5BVWS.js";
61
+ import "./chunk-LFUVTS6V.js";
62
62
  import "./chunk-T2EUWCJE.js";
63
63
  import "./chunk-M2WBOQ2Q.js";
64
64
 
@@ -6,24 +6,24 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  gateRegistryItemsCompatibility
9
- } from "./chunk-XF77MK3J.js";
9
+ } from "./chunk-ZT45TCY3.js";
10
10
  import {
11
11
  copyDirSync
12
12
  } from "./chunk-CIWX5UKC.js";
13
13
  import {
14
14
  initialModelForLanguage
15
- } from "./chunk-LOKCBZYF.js";
16
- import "./chunk-J2ASTCU6.js";
15
+ } from "./chunk-M3KZBDPB.js";
16
+ import "./chunk-BP4EMEGH.js";
17
17
  import {
18
18
  DEFAULT_MODEL,
19
19
  hasFFmpeg
20
- } from "./chunk-PFRG5P32.js";
20
+ } from "./chunk-VLLFORE2.js";
21
21
  import "./chunk-WQ6ZXHFQ.js";
22
22
  import {
23
23
  findFFmpeg,
24
24
  findFFprobe,
25
25
  getFFmpegInstallHint
26
- } from "./chunk-VRAXIQ6I.js";
26
+ } from "./chunk-DYNHVCBF.js";
27
27
  import {
28
28
  Ee,
29
29
  R,
@@ -43,19 +43,19 @@ import {
43
43
  listRegistryItems,
44
44
  loadAllItems,
45
45
  resolveItemWithDependencies
46
- } from "./chunk-J2BSUF6X.js";
46
+ } from "./chunk-X5CECNCK.js";
47
47
  import "./chunk-JHOCK3DG.js";
48
48
  import {
49
49
  installItem
50
- } from "./chunk-T6O5OLN2.js";
51
- import "./chunk-32NB4VMH.js";
50
+ } from "./chunk-QKX7ITER.js";
51
+ import "./chunk-7QNIXBQD.js";
52
52
  import "./chunk-AWDFDFI3.js";
53
53
  import "./chunk-P6LJ4Y32.js";
54
54
  import "./chunk-GMECXFAN.js";
55
55
  import {
56
56
  trackInitTemplate
57
- } from "./chunk-BV6YE455.js";
58
- import "./chunk-GANST5K3.js";
57
+ } from "./chunk-RTLPWOO6.js";
58
+ import "./chunk-ZZPBXRYQ.js";
59
59
  import "./chunk-VWG7OQKU.js";
60
60
  import {
61
61
  defineCommand,
@@ -70,12 +70,12 @@ import {
70
70
  c,
71
71
  isColorSupported
72
72
  } from "./chunk-ZTZA4UWZ.js";
73
- import "./chunk-QX4TB4NH.js";
73
+ import "./chunk-L4JB7LI4.js";
74
74
  import "./chunk-IZCW2NKT.js";
75
- import "./chunk-MGBUWPXX.js";
75
+ import "./chunk-7HTH5PFK.js";
76
76
  import "./chunk-RQVDTPGD.js";
77
- import "./chunk-AEXVVABM.js";
78
- import "./chunk-B2XLXD7V.js";
77
+ import "./chunk-3W4B6G7Y.js";
78
+ import "./chunk-USWPZXEA.js";
79
79
  import "./chunk-VC76R6W2.js";
80
80
  import "./chunk-X7HBSTCZ.js";
81
81
  import {
@@ -112,7 +112,7 @@ import "./chunk-WERLJGIC.js";
112
112
  import "./chunk-ISN5GRYI.js";
113
113
  import {
114
114
  VERSION
115
- } from "./chunk-3FV5BVWS.js";
115
+ } from "./chunk-LFUVTS6V.js";
116
116
  import "./chunk-T2EUWCJE.js";
117
117
  import "./chunk-UOFAE5RF.js";
118
118
  import {
@@ -702,7 +702,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
702
702
  "utf-8"
703
703
  );
704
704
  if (!existsSync2(resolve(destDir, "hyperframes.json"))) {
705
- const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-6YUJHMCL.js");
705
+ const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-DBSNBPNP.js");
706
706
  const { normalizeSkillSlug } = await import("./skill-ZHVLH7KX.js");
707
707
  const skill = normalizeSkillSlug(authoringSkill);
708
708
  createProjectConfig(
@@ -723,7 +723,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
723
723
  }
724
724
  }
725
725
  async function keepSkillsCurrent(destDir) {
726
- const { updateSkills } = await import("./skills-P67QEERC.js");
726
+ const { updateSkills } = await import("./skills-ZHBURVQG.js");
727
727
  console.log();
728
728
  console.log(c.bold("Checking AI coding skills against GitHub..."));
729
729
  try {
@@ -919,17 +919,17 @@ var init_default = defineCommand({
919
919
  if (audioPath) {
920
920
  sourceFilePath2 = audioPath;
921
921
  copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
922
- const { getMediaDurationSeconds } = await import("./transcribe-VD2TMMC2.js");
922
+ const { getMediaDurationSeconds } = await import("./transcribe-7NCY7QZ2.js");
923
923
  videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
924
924
  console.log(`Audio: ${basename(audioPath)}`);
925
925
  }
926
926
  if (sourceFilePath2 && !skipTranscribe) {
927
927
  try {
928
- const { ensureWhisper, ensureModel } = await import("./manager-QROK2IH3.js");
928
+ const { ensureWhisper, ensureModel } = await import("./manager-4PLYEEWP.js");
929
929
  await ensureWhisper();
930
930
  await ensureModel(initialTranscriptionModel);
931
931
  console.log("Transcribing...");
932
- const { transcribe: runTranscribe } = await import("./transcribe-VD2TMMC2.js");
932
+ const { transcribe: runTranscribe } = await import("./transcribe-7NCY7QZ2.js");
933
933
  const result = await runTranscribe(sourceFilePath2, destDir2, {
934
934
  model: modelFlag,
935
935
  language: languageFlag
@@ -1075,7 +1075,7 @@ var init_default = defineCommand({
1075
1075
  mkdirSync(destDir, { recursive: true });
1076
1076
  sourceFilePath = audioPath;
1077
1077
  copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
1078
- const { getMediaDurationSeconds } = await import("./transcribe-VD2TMMC2.js");
1078
+ const { getMediaDurationSeconds } = await import("./transcribe-7NCY7QZ2.js");
1079
1079
  videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
1080
1080
  R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
1081
1081
  }
@@ -1085,7 +1085,7 @@ var init_default = defineCommand({
1085
1085
  initialValue: true
1086
1086
  });
1087
1087
  if (!q(transcribeChoice) && transcribeChoice) {
1088
- const { findWhisper } = await import("./manager-QROK2IH3.js");
1088
+ const { findWhisper } = await import("./manager-4PLYEEWP.js");
1089
1089
  const needsInstall = findWhisper() === void 0;
1090
1090
  if (needsInstall) {
1091
1091
  R.info(c.dim("whisper-cpp not found \u2014 installing automatically..."));
@@ -1095,7 +1095,7 @@ var init_default = defineCommand({
1095
1095
  needsInstall ? "Installing whisper-cpp (this may take a moment)..." : "Preparing transcription..."
1096
1096
  );
1097
1097
  try {
1098
- const { ensureWhisper, ensureModel } = await import("./manager-QROK2IH3.js");
1098
+ const { ensureWhisper, ensureModel } = await import("./manager-4PLYEEWP.js");
1099
1099
  await ensureWhisper({
1100
1100
  onProgress: (msg) => spin2.message(msg)
1101
1101
  });
@@ -1103,7 +1103,7 @@ var init_default = defineCommand({
1103
1103
  onProgress: (msg) => spin2.message(msg)
1104
1104
  });
1105
1105
  spin2.message("Transcribing audio...");
1106
- const { transcribe: runTranscribe } = await import("./transcribe-VD2TMMC2.js");
1106
+ const { transcribe: runTranscribe } = await import("./transcribe-7NCY7QZ2.js");
1107
1107
  const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
1108
1108
  model: modelFlag,
1109
1109
  language: languageFlag,
@@ -1181,7 +1181,7 @@ ${c.dim("Use --example blank for offline use.")}`
1181
1181
  }
1182
1182
  R.info("Opening studio preview...");
1183
1183
  try {
1184
- const previewCmd = await import("./preview-5XH7EK6O.js").then((m) => m.default);
1184
+ const previewCmd = await import("./preview-T2GE7Z4A.js").then((m) => m.default);
1185
1185
  await runCommand(previewCmd, { rawArgs: [destDir] });
1186
1186
  } catch {
1187
1187
  }
@@ -6,45 +6,45 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createInspectCommand
9
- } from "./chunk-CXRZBWSH.js";
10
- import "./chunk-4E75LHAL.js";
11
- import "./chunk-EKGGSAWR.js";
12
- import "./chunk-K2AKVYNR.js";
9
+ } from "./chunk-6LWUPIKD.js";
10
+ import "./chunk-LMNZLZMJ.js";
11
+ import "./chunk-VPC4XIVI.js";
12
+ import "./chunk-L5YLA54L.js";
13
13
  import "./chunk-X7MTZ4T2.js";
14
14
  import "./chunk-XUHOIDKG.js";
15
- import "./chunk-2J3NA3OB.js";
16
- import "./chunk-SK7TR7BL.js";
15
+ import "./chunk-UNATIAOT.js";
16
+ import "./chunk-XQPA4W3M.js";
17
17
  import "./chunk-6JR2XUEE.js";
18
18
  import "./chunk-FBVUAH7N.js";
19
- import "./chunk-4HCJOFMB.js";
20
- import "./chunk-7RSY7SZN.js";
19
+ import "./chunk-C4Y3ZREE.js";
20
+ import "./chunk-7YSFE4SZ.js";
21
21
  import "./chunk-ALVXFXUG.js";
22
- import "./chunk-E5V6WEMK.js";
23
- import "./chunk-JCDYDF54.js";
22
+ import "./chunk-4LXZJIVY.js";
23
+ import "./chunk-UIC7B5KW.js";
24
24
  import "./chunk-MOEGCMKI.js";
25
- import "./chunk-QWLES6YV.js";
25
+ import "./chunk-UB7BIDBS.js";
26
26
  import "./chunk-DKPNNYBZ.js";
27
- import "./chunk-6XVKMBUA.js";
27
+ import "./chunk-VW63MHQU.js";
28
28
  import "./chunk-K2FLNJVB.js";
29
29
  import "./chunk-EHSBBBR2.js";
30
- import "./chunk-WOKVXK4J.js";
30
+ import "./chunk-4TKJWWPL.js";
31
31
  import "./chunk-442JNXRM.js";
32
- import "./chunk-BEOK6F26.js";
33
- import "./chunk-5IPKQHOL.js";
32
+ import "./chunk-YS4JUGNI.js";
33
+ import "./chunk-6XUJVEY2.js";
34
34
  import "./chunk-XT7X6QCP.js";
35
35
  import "./chunk-4YYJOFKS.js";
36
36
  import "./chunk-HVW7ABXD.js";
37
- import "./chunk-J2BSUF6X.js";
37
+ import "./chunk-X5CECNCK.js";
38
38
  import "./chunk-JHOCK3DG.js";
39
- import "./chunk-T6O5OLN2.js";
40
- import "./chunk-32NB4VMH.js";
39
+ import "./chunk-QKX7ITER.js";
40
+ import "./chunk-7QNIXBQD.js";
41
41
  import "./chunk-AWDFDFI3.js";
42
42
  import "./chunk-P6LJ4Y32.js";
43
43
  import "./chunk-GMECXFAN.js";
44
44
  import "./chunk-E3P3LJG6.js";
45
45
  import "./chunk-EOVYQ3IG.js";
46
- import "./chunk-BV6YE455.js";
47
- import "./chunk-GANST5K3.js";
46
+ import "./chunk-RTLPWOO6.js";
47
+ import "./chunk-ZZPBXRYQ.js";
48
48
  import "./chunk-VWG7OQKU.js";
49
49
  import "./chunk-S3S4TGEH.js";
50
50
  import "./chunk-54HJ63Q2.js";
@@ -53,12 +53,12 @@ import "./chunk-ZTZA4UWZ.js";
53
53
  import "./chunk-KLIKCX6Q.js";
54
54
  import "./chunk-EVMY7IPL.js";
55
55
  import "./chunk-7FMUTGOH.js";
56
- import "./chunk-QX4TB4NH.js";
56
+ import "./chunk-L4JB7LI4.js";
57
57
  import "./chunk-IZCW2NKT.js";
58
- import "./chunk-MGBUWPXX.js";
58
+ import "./chunk-7HTH5PFK.js";
59
59
  import "./chunk-RQVDTPGD.js";
60
- import "./chunk-AEXVVABM.js";
61
- import "./chunk-B2XLXD7V.js";
60
+ import "./chunk-3W4B6G7Y.js";
61
+ import "./chunk-USWPZXEA.js";
62
62
  import "./chunk-VC76R6W2.js";
63
63
  import "./chunk-X7HBSTCZ.js";
64
64
  import "./chunk-2MCXIY4B.js";
@@ -81,12 +81,12 @@ import "./chunk-SDYDNHEE.js";
81
81
  import "./chunk-3422KMTD.js";
82
82
  import "./chunk-RXATE6FZ.js";
83
83
  import "./chunk-W2LGJSEN.js";
84
- import "./chunk-2HP5GIQ3.js";
84
+ import "./chunk-TZEKVLPV.js";
85
85
  import "./chunk-K4WIOZFP.js";
86
86
  import "./chunk-6NLPPKBO.js";
87
87
  import "./chunk-WERLJGIC.js";
88
88
  import "./chunk-ISN5GRYI.js";
89
- import "./chunk-3FV5BVWS.js";
89
+ import "./chunk-LFUVTS6V.js";
90
90
  import "./chunk-T2EUWCJE.js";
91
91
  import "./chunk-KGPLIH7B.js";
92
92
  import "./chunk-M2WBOQ2Q.js";
@@ -10,14 +10,14 @@ import {
10
10
  prepareItem,
11
11
  publishItem,
12
12
  recordRewrittenInstall
13
- } from "./chunk-T6O5OLN2.js";
14
- import "./chunk-32NB4VMH.js";
13
+ } from "./chunk-QKX7ITER.js";
14
+ import "./chunk-7QNIXBQD.js";
15
15
  import "./chunk-AWDFDFI3.js";
16
16
  import "./chunk-P6LJ4Y32.js";
17
17
  import "./chunk-GMECXFAN.js";
18
- import "./chunk-MGBUWPXX.js";
18
+ import "./chunk-7HTH5PFK.js";
19
19
  import "./chunk-RQVDTPGD.js";
20
- import "./chunk-B2XLXD7V.js";
20
+ import "./chunk-USWPZXEA.js";
21
21
  import "./chunk-VC76R6W2.js";
22
22
  import "./chunk-X7HBSTCZ.js";
23
23
  import "./chunk-2MCXIY4B.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-4E75LHAL.js";
9
+ } from "./chunk-LMNZLZMJ.js";
10
10
  import "./chunk-K2FLNJVB.js";
11
11
  import {
12
12
  ensureDOMParser
13
13
  } from "./chunk-442JNXRM.js";
14
- import "./chunk-BV6YE455.js";
15
- import "./chunk-GANST5K3.js";
14
+ import "./chunk-RTLPWOO6.js";
15
+ import "./chunk-ZZPBXRYQ.js";
16
16
  import "./chunk-VWG7OQKU.js";
17
17
  import {
18
18
  defineCommand
@@ -41,12 +41,12 @@ import {
41
41
  import "./chunk-W2LGJSEN.js";
42
42
  import {
43
43
  withMeta
44
- } from "./chunk-2HP5GIQ3.js";
44
+ } from "./chunk-TZEKVLPV.js";
45
45
  import "./chunk-K4WIOZFP.js";
46
46
  import "./chunk-6NLPPKBO.js";
47
47
  import "./chunk-WERLJGIC.js";
48
48
  import "./chunk-ISN5GRYI.js";
49
- import "./chunk-3FV5BVWS.js";
49
+ import "./chunk-LFUVTS6V.js";
50
50
  import "./chunk-T2EUWCJE.js";
51
51
  import {
52
52
  __toESM
@@ -2513,7 +2513,7 @@ function printOnionShotSaved(saved, elementCount) {
2513
2513
  console.log();
2514
2514
  }
2515
2515
  async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
2516
- const { captureMotionPathShot } = await import("./motionShot-DVYJZOTQ.js");
2516
+ const { captureMotionPathShot } = await import("./motionShot-2BT5D7DC.js");
2517
2517
  const requests = collectShotSelectors(args.selector ? allComps : comps);
2518
2518
  const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
2519
2519
  if (guardError) {
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-2R5ZKWSV.js";
14
14
  import {
15
15
  defaultCloudFps
16
- } from "./chunk-6XVKMBUA.js";
16
+ } from "./chunk-VW63MHQU.js";
17
17
  import {
18
18
  defineCommand
19
19
  } from "./chunk-S3S4TGEH.js";
@@ -26,9 +26,9 @@ import {
26
26
  import {
27
27
  DISTRIBUTED_FPS,
28
28
  isDistributedFps
29
- } from "./chunk-MGBUWPXX.js";
29
+ } from "./chunk-7HTH5PFK.js";
30
30
  import "./chunk-RQVDTPGD.js";
31
- import "./chunk-B2XLXD7V.js";
31
+ import "./chunk-USWPZXEA.js";
32
32
  import "./chunk-VC76R6W2.js";
33
33
  import "./chunk-X7HBSTCZ.js";
34
34
  import "./chunk-2MCXIY4B.js";
@@ -244,7 +244,7 @@ var lambda_default = defineCommand({
244
244
  }
245
245
  switch (subcommand) {
246
246
  case "deploy": {
247
- const { runDeploy } = await import("./deploy-UGUUGYLF.js");
247
+ const { runDeploy } = await import("./deploy-RGSAC2K5.js");
248
248
  const { parseReservedConcurrency } = await import("./sam-FHJ7IL7T.js");
249
249
  await runDeploy({
250
250
  stackName,
@@ -302,7 +302,7 @@ var lambda_default = defineCommand({
302
302
  );
303
303
  failCommand();
304
304
  }
305
- const { runRender } = await import("./render-HJ34EGMN.js");
305
+ const { runRender } = await import("./render-Y6CTQ3YW.js");
306
306
  const renderResolution = parseOutputResolution(args["output-resolution"]);
307
307
  await runRender({
308
308
  projectDir,
@@ -358,7 +358,7 @@ var lambda_default = defineCommand({
358
358
  );
359
359
  failCommand();
360
360
  }
361
- const { runRenderBatch } = await import("./render-batch-3D6XQYUC.js");
361
+ const { runRenderBatch } = await import("./render-batch-VUR6N6EY.js");
362
362
  const batchResolution = parseOutputResolution(args["output-resolution"]);
363
363
  await runRenderBatch({
364
364
  projectDir,