hyperframes 0.8.106 → 0.8.107

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 (164) hide show
  1. package/dist/{add-QRAI4CAF.js → add-DXZ3HNQI.js} +16 -16
  2. package/dist/{animatedGifPrep-RZVYVAXD.js → animatedGifPrep-2IQB4DGE.js} +7 -7
  3. package/dist/{asset-WFBQ5VS6.js → asset-KZIG3MZN.js} +2 -2
  4. package/dist/{assetCataloger-BQREHRS2.js → assetCataloger-4GE6PIUA.js} +3 -3
  5. package/dist/{auth-LVD6TWYG.js → auth-5IYF3H67.js} +2 -2
  6. package/dist/{autoUpdate-HGE2PUZY.js → autoUpdate-5C3FXM6Y.js} +2 -2
  7. package/dist/{backgroundChecks-63CSE4XR.js → backgroundChecks-75WGW4NB.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-AQN5PRXM.js → batchRender-FKKS3YBX.js} +4 -4
  10. package/dist/{beats-OBCN5OSQ.js → beats-ISR36NSK.js} +11 -11
  11. package/dist/{benchmark-DYHJSR7W.js → benchmark-U6TQ6DS2.js} +13 -13
  12. package/dist/{browser-JLYV5T7O.js → browser-VDS6QAVA.js} +10 -10
  13. package/dist/{bundleWithLocalizedFonts-JKJKZR2S.js → bundleWithLocalizedFonts-PMWWW5YG.js} +2 -2
  14. package/dist/{capture-5BCJWVC7.js → capture-5KE34KCD.js} +2 -2
  15. package/dist/{capture-QYLHIYKJ.js → capture-BKA3UCZS.js} +8 -8
  16. package/dist/{catalog-6UYNKENR.js → catalog-ZXOSU27O.js} +16 -16
  17. package/dist/{check-YOGAZ6UE.js → check-MZMZCXPN.js} +31 -31
  18. package/dist/{checkBrowser-M73YHPNM.js → checkBrowser-UIZJXYCQ.js} +30 -30
  19. package/dist/{chunk-LAHK4P7Q.js → chunk-3CYAZWF2.js} +3 -3
  20. package/dist/{chunk-TMLEIURT.js → chunk-3LBFLW7E.js} +1 -1
  21. package/dist/{chunk-JXXE3SWC.js → chunk-3WG63KFW.js} +11 -11
  22. package/dist/{chunk-UUE5BZGE.js → chunk-4DJXCVQJ.js} +53 -20
  23. package/dist/{chunk-I77CAR4W.js → chunk-4W4UDPCH.js} +2 -2
  24. package/dist/{chunk-PB2OX2JY.js → chunk-6QWHIARJ.js} +1 -1
  25. package/dist/{chunk-4WAMN4IF.js → chunk-73VPF3SS.js} +1 -1
  26. package/dist/{chunk-YVWILZCO.js → chunk-7BI5BYMQ.js} +5 -5
  27. package/dist/{chunk-4I6AQUWG.js → chunk-ADP6TMYP.js} +8 -8
  28. package/dist/{chunk-OSZJCBZX.js → chunk-AO4PBESP.js} +7 -7
  29. package/dist/{chunk-TYA65W4U.js → chunk-BRTGJ73L.js} +2 -2
  30. package/dist/{chunk-PUB5XZYL.js → chunk-C3KEF3UA.js} +1 -1
  31. package/dist/{chunk-VW5OMJNG.js → chunk-D5EJCP26.js} +14 -10
  32. package/dist/{chunk-Y2CZEJPK.js → chunk-FLUBCMNT.js} +2 -2
  33. package/dist/{chunk-5TBFBLIX.js → chunk-GLTHJJIF.js} +2 -2
  34. package/dist/{chunk-NRMYDPFQ.js → chunk-HGL4WJDI.js} +9 -9
  35. package/dist/{chunk-HFFR7TN7.js → chunk-HJCTKNXF.js} +2 -1
  36. package/dist/{chunk-FTXU3TQ4.js → chunk-I73Z6OOE.js} +1 -1
  37. package/dist/{chunk-2IZZZJDZ.js → chunk-J6CSEDK7.js} +4 -4
  38. package/dist/{chunk-USWOTTSP.js → chunk-JNY3VJWB.js} +1 -1
  39. package/dist/{chunk-J3Q3YC6P.js → chunk-KTPQ67TX.js} +1 -1
  40. package/dist/{chunk-JYRPUDVZ.js → chunk-L7XDI3DT.js} +1 -1
  41. package/dist/{chunk-6CN2QLB5.js → chunk-NHTRUAMD.js} +1 -1
  42. package/dist/{chunk-DVCYGZ7R.js → chunk-NX6G66F4.js} +2 -2
  43. package/dist/{chunk-6LPWMCPY.js → chunk-OGTR33KN.js} +2 -2
  44. package/dist/{chunk-HUHJYNST.js → chunk-P7XRDAWU.js} +1 -1
  45. package/dist/{chunk-FOKUJKBN.js → chunk-PMLZPNIB.js} +13 -2
  46. package/dist/{chunk-6F6EEQNB.js → chunk-PSGDNMM6.js} +1 -1
  47. package/dist/{chunk-O5TBFZ7X.js → chunk-PU2IOWX4.js} +2 -2
  48. package/dist/{chunk-AZQLJHAO.js → chunk-PZTEY73C.js} +1 -1
  49. package/dist/{chunk-XZSH5GS7.js → chunk-QH6UFY2O.js} +4 -4
  50. package/dist/{chunk-UVUAU3CH.js → chunk-QM2NUN2B.js} +47 -25
  51. package/dist/{chunk-TH4APNRP.js → chunk-R4IB642V.js} +2 -2
  52. package/dist/{chunk-GOI4GCUB.js → chunk-SGBOZ2HF.js} +1 -1
  53. package/dist/{chunk-GVZYTDOD.js → chunk-SKPL32FI.js} +1 -1
  54. package/dist/{chunk-IQ4UCWV7.js → chunk-T3BOWXPX.js} +1 -1
  55. package/dist/{chunk-AXWBDWAV.js → chunk-T4Z4UNSX.js} +3 -3
  56. package/dist/{chunk-IBCGKQB5.js → chunk-TI5Z4SWP.js} +3 -3
  57. package/dist/{chunk-2LCIQS3K.js → chunk-TPPIERG3.js} +3 -3
  58. package/dist/{chunk-TLYU5625.js → chunk-UUDQD62L.js} +6 -6
  59. package/dist/{chunk-TEXPOC5V.js → chunk-VMDEGITC.js} +2 -2
  60. package/dist/{chunk-I6M4GXMC.js → chunk-WBVPQC7J.js} +1 -1
  61. package/dist/{chunk-4Z5O7BTD.js → chunk-WEATBQTR.js} +10 -1
  62. package/dist/{chunk-R5RF3LGS.js → chunk-XMAL2A7Y.js} +1 -1
  63. package/dist/{chunk-4NJZZHYT.js → chunk-YVEZT6WT.js} +1 -1
  64. package/dist/{chunk-M4KS6MJN.js → chunk-YY5J75H5.js} +4 -4
  65. package/dist/{chunk-32Y3HRS3.js → chunk-Z4UAXNWV.js} +2 -2
  66. package/dist/{clean-GRX3GXKR.js → clean-46MZVA37.js} +16 -16
  67. package/dist/cli.js +50 -50
  68. package/dist/{cloud-TQCNBM6H.js → cloud-GAZQGPCW.js} +4 -4
  69. package/dist/{cloudrun-ISE6GSUO.js → cloudrun-ZWL7SLDD.js} +5 -5
  70. package/dist/{compare-QAWB3O4U.js → compare-66AAJESM.js} +25 -25
  71. package/dist/{compiler-QMEZK6CU.js → compiler-3N7XQRH6.js} +3 -3
  72. package/dist/{component-NXNNSXN7.js → component-3OCOHK2B.js} +3 -3
  73. package/dist/{compositions-I4PIPJKO.js → compositions-H2BP4N6F.js} +12 -12
  74. package/dist/{delete-ZC4ZRBBF.js → delete-WNJLVPGO.js} +4 -4
  75. package/dist/{deterministicFonts-XS3PGWH5.js → deterministicFonts-A4CNCSAL.js} +2 -2
  76. package/dist/{dist-E44WU6LH.js → dist-AY2RBEXL.js} +1 -1
  77. package/dist/{dist-R24TLUYO.js → dist-HSEMXPG3.js} +3 -3
  78. package/dist/docs/data-attributes.md +1 -1
  79. package/dist/{doctor-EFQ4XNT3.js → doctor-IFOZS45N.js} +11 -11
  80. package/dist/{events-COIPJKSK.js → events-5EKFJCCZ.js} +9 -9
  81. package/dist/{events-AVPSJNYU.js → events-6TH3FU3F.js} +10 -10
  82. package/dist/{feedback-3DYZDMLC.js → feedback-QRQNMORT.js} +11 -11
  83. package/dist/{figma-7XPHSMNG.js → figma-WONEPLUQ.js} +3 -3
  84. package/dist/fontLocalizeCli.js +10 -10
  85. package/dist/{get-TSBHDMKL.js → get-C7FCYNI2.js} +4 -4
  86. package/dist/{gpuPolicy-BQFPO7UA.js → gpuPolicy-BXXQF3VC.js} +7 -7
  87. package/dist/{grade-compare-5Y4LXQFG.js → grade-compare-SCCSZ5P3.js} +25 -25
  88. package/dist/{gsapParser-EZGJSSV5.js → gsapParser-KVMPC2SC.js} +5 -1
  89. package/dist/{help-5YBRP3C4.js → help-FJOUNXVD.js} +1 -1
  90. package/dist/{history-SRNXKL6D.js → history-OZY36NEC.js} +16 -16
  91. package/dist/hyperframe-runtime.js +10 -10
  92. package/dist/hyperframe.manifest.json +1 -1
  93. package/dist/hyperframe.runtime.iife.js +10 -10
  94. package/dist/hyperframes-player.global.js +1 -1
  95. package/dist/{info-U4BOXV2I.js → info-RG4SZQ2C.js} +12 -12
  96. package/dist/{init-T4JYHIBM.js → init-YGZCDKSS.js} +98 -42
  97. package/dist/{inspect-XYLD2BMM.js → inspect-X547EZ4I.js} +26 -26
  98. package/dist/{installer-UZSVMUKT.js → installer-6J24NTIV.js} +5 -5
  99. package/dist/{keyframes-BGPXWP7O.js → keyframes-EIWEION2.js} +13 -13
  100. package/dist/{lambda-U4WIJQCJ.js → lambda-DSZDMP7P.js} +6 -6
  101. package/dist/{layout-UREZQ37U.js → layout-B7KCBLBH.js} +26 -26
  102. package/dist/{lint-LSTEZZ6T.js → lint-RBDG4ERJ.js} +13 -13
  103. package/dist/{lintProject-4P4C6AN2.js → lintProject-CMPAR7BS.js} +1 -1
  104. package/dist/{list-6VICFTAM.js → list-BPHPHLDJ.js} +4 -4
  105. package/dist/{login-MXDIDOOG.js → login-HV7KBW2J.js} +4 -4
  106. package/dist/{media-treatment-ZVCWEACM.js → media-treatment-RS6BZSQC.js} +13 -13
  107. package/dist/{models-LXUIU5DC.js → models-K4U7GRXV.js} +8 -8
  108. package/dist/{motionShot-2LYUQF3T.js → motionShot-5AI2DALY.js} +11 -11
  109. package/dist/{normalize-audio-H3SI5V63.js → normalize-audio-J2PG6YXH.js} +11 -11
  110. package/dist/{pipeline-OFFKTFXS.js → pipeline-HIUESSET.js} +7 -7
  111. package/dist/{play-P56CWNVC.js → play-TTLQXBAH.js} +21 -21
  112. package/dist/{preflight-TVCVP5P2.js → preflight-63ODQ625.js} +8 -8
  113. package/dist/{present-ATMOWKMH.js → present-XKGZ26FQ.js} +17 -17
  114. package/dist/{preview-7U6HYHYE.js → preview-O2YEKMYJ.js} +18 -18
  115. package/dist/{producer-LGG3TOUI.js → producer-ZTQIJO7E.js} +1 -1
  116. package/dist/{projectConfig-V53SEFIS.js → projectConfig-VVFH7XW5.js} +7 -7
  117. package/dist/{publication-7RKKPKLM.js → publication-NALPAHDC.js} +3 -3
  118. package/dist/{publish-TRRFCEMQ.js → publish-G7OL45EL.js} +9 -9
  119. package/dist/{remove-background-HJFT46Z5.js → remove-background-LOLKFKLT.js} +8 -8
  120. package/dist/{render-2QZBNE2V.js → render-EXSRG666.js} +22 -22
  121. package/dist/{render-TPZ5FXHS.js → render-I65IU7RM.js} +4 -4
  122. package/dist/{render-YB7BARWL.js → render-ULQLUIWD.js} +15 -15
  123. package/dist/{render-batch-4ZF5C2LN.js → render-batch-RSNCREPB.js} +4 -4
  124. package/dist/{renderCancellation-4PYGAN5D.js → renderCancellation-2WB4SGXR.js} +7 -7
  125. package/dist/renderSetupWorker.js +1 -1
  126. package/dist/{resolver-4JRJPC6S.js → resolver-CVN2IM2R.js} +5 -5
  127. package/dist/{sherpa-MNCWRFD4.js → sherpa-OJUI54HG.js} +10 -10
  128. package/dist/{skills-ETBA5B46.js → skills-CPS5E5YP.js} +12 -12
  129. package/dist/{skillsUpdateCheck-DQOUIYV5.js → skillsUpdateCheck-3IT5CJWU.js} +3 -3
  130. package/dist/{snapshot-W3HTBAYH.js → snapshot-MSGC7HTA.js} +26 -26
  131. package/dist/{src-QF6RYX76.js → src-EZBJT4VH.js} +9 -9
  132. package/dist/{src-QX5PPANW.js → src-SV7CNZXN.js} +6 -6
  133. package/dist/{staticProjectServer-WBXW2CA4.js → staticProjectServer-5JAGMYT7.js} +15 -15
  134. package/dist/{status-C3IDZFDG.js → status-4W3EJYEH.js} +7 -7
  135. package/dist/studio/assets/{hyperframes-player-dl6K6ABp.js → hyperframes-player-h4mktSdm.js} +1 -1
  136. package/dist/studio/assets/{index-CMiYVGv5.js → index-CM1xA_jD.js} +195 -200
  137. package/dist/studio/assets/{index-ooaZZhKf.js → index-D8GKc2D9.js} +1 -1
  138. package/dist/studio/assets/{index-DKT5NF1Y.js → index-zoqPmBF6.js} +1 -1
  139. package/dist/studio/{chunk-ICTZJPQQ.js → chunk-4OZC426H.js} +12 -3
  140. package/dist/studio/chunk-4OZC426H.js.map +1 -0
  141. package/dist/studio/index.d.ts +367 -11
  142. package/dist/studio/index.html +1 -1
  143. package/dist/studio/index.js +1064 -714
  144. package/dist/studio/index.js.map +1 -1
  145. package/dist/studio/player.js +1 -1
  146. package/dist/{studio-api-6IJPJVG6.js → studio-api-L2TJ2JTK.js} +9 -9
  147. package/dist/{studioServer-77CY4XPO.js → studioServer-UV7YRYWN.js} +42 -41
  148. package/dist/{system-OAB2LYBV.js → system-OL4MXRPK.js} +7 -7
  149. package/dist/{telemetry-XTN5BO5S.js → telemetry-WRUU725E.js} +10 -10
  150. package/dist/templates/_shared/AGENTS.md +1 -1
  151. package/dist/templates/_shared/CLAUDE.md +1 -1
  152. package/dist/templates/from-file/index.html +3 -2
  153. package/dist/templates/warm-grain/index.html +2 -10
  154. package/dist/{timeline-YKKTGPL7.js → timeline-P43A53BW.js} +16 -16
  155. package/dist/{tokens-LU25F3IJ.js → tokens-NUHTJM2V.js} +2 -2
  156. package/dist/{transcribe-O7OL4RRU.js → transcribe-FSVNIFGF.js} +13 -13
  157. package/dist/{transcribe-AL3E5MBZ.js → transcribe-TRLZJK73.js} +10 -8
  158. package/dist/{updateCheck-MZZML4DL.js → updateCheck-33TAG46I.js} +2 -2
  159. package/dist/{upgrade-PQRTEJJY.js → upgrade-AJ6QBTH2.js} +2 -2
  160. package/dist/{urlDownloader-U3TNOPD5.js → urlDownloader-MP6GJIDV.js} +6 -6
  161. package/dist/{validate-KQETGCIR.js → validate-VL3A6VTJ.js} +16 -16
  162. package/dist/{video-KAHL76HG.js → video-KO7VT63P.js} +7 -7
  163. package/package.json +1 -1
  164. package/dist/studio/chunk-ICTZJPQQ.js.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";var HyperframesPlayer=(()=>{var Me=Object.defineProperty;var Pn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var On=Object.prototype.hasOwnProperty;var Fn=(n,e)=>{for(var t in e)Me(n,t,{get:e[t],enumerable:!0})},Vn=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ln(e))!On.call(n,r)&&r!==t&&Me(n,r,{get:()=>e[r],enumerable:!(i=Pn(e,r))||i.enumerable});return n};var Un=n=>Vn(Me({},"__esModule",{value:!0}),n);var Ar={};Fn(Ar,{HyperframesPlayer:()=>ke,SPEED_PRESETS:()=>De,formatSpeed:()=>G,formatTime:()=>ue});function gt(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function H(n){return typeof n=="object"&&n!==null}function _t(n){return H(n)&&typeof n.getDuration=="function"}function yt(n){return H(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var L="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.106/dist/hyperframe.runtime.iife.js";function W(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Hn(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=W(e.getAttribute("data-width")),i=W(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}var se=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;try{let t=this._iframe.contentWindow;if(!t)return;let i=!!(t.__hf||t.__player),r=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!this._iframe.contentDocument?.querySelector("[data-composition-src]");if(gt({hasRuntime:i,hasTimelines:r,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:e})){this._injectRuntime();return}if(this._runtimeInjected&&!i)return;let a=this._resolvePlaybackDurationAdapter(t);if(a&&a.getDuration()>0){this.stop();let s=Hn(this._iframe.contentDocument);this._callbacks.onReady({duration:a.getDuration(),adapter:a,compositionSize:s});return}}catch{}e>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){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,"__hf")!==void 0||H(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=L,(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!H(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return yt(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(_t(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var vt=`
1
+ "use strict";var HyperframesPlayer=(()=>{var Me=Object.defineProperty;var Pn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var On=Object.prototype.hasOwnProperty;var Fn=(n,e)=>{for(var t in e)Me(n,t,{get:e[t],enumerable:!0})},Vn=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ln(e))!On.call(n,r)&&r!==t&&Me(n,r,{get:()=>e[r],enumerable:!(i=Pn(e,r))||i.enumerable});return n};var Un=n=>Vn(Me({},"__esModule",{value:!0}),n);var Ar={};Fn(Ar,{HyperframesPlayer:()=>ke,SPEED_PRESETS:()=>De,formatSpeed:()=>G,formatTime:()=>ue});function gt(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function H(n){return typeof n=="object"&&n!==null}function _t(n){return H(n)&&typeof n.getDuration=="function"}function yt(n){return H(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var L="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.107/dist/hyperframe.runtime.iife.js";function W(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Hn(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=W(e.getAttribute("data-width")),i=W(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}var se=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;try{let t=this._iframe.contentWindow;if(!t)return;let i=!!(t.__hf||t.__player),r=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!this._iframe.contentDocument?.querySelector("[data-composition-src]");if(gt({hasRuntime:i,hasTimelines:r,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:e})){this._injectRuntime();return}if(this._runtimeInjected&&!i)return;let a=this._resolvePlaybackDurationAdapter(t);if(a&&a.getDuration()>0){this.stop();let s=Hn(this._iframe.contentDocument);this._callbacks.onReady({duration:a.getDuration(),adapter:a,compositionSize:s});return}}catch{}e>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){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,"__hf")!==void 0||H(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=L,(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!H(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return yt(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(_t(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var vt=`
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-FTXU3TQ4.js";
9
+ } from "./chunk-I73Z6OOE.js";
10
10
  import {
11
11
  formatBytes,
12
12
  label
@@ -14,32 +14,32 @@ import {
14
14
  import {
15
15
  ensureDOMParser
16
16
  } from "./chunk-PFCFR3KZ.js";
17
- import "./chunk-2LCIQS3K.js";
18
- import "./chunk-LAHK4P7Q.js";
17
+ import "./chunk-TPPIERG3.js";
18
+ import "./chunk-3CYAZWF2.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
23
- import "./chunk-PUB5XZYL.js";
23
+ import "./chunk-C3KEF3UA.js";
24
24
  import "./chunk-AMKC3AXA.js";
25
25
  import {
26
26
  defineCommand
27
27
  } from "./chunk-S3S4TGEH.js";
28
28
  import "./chunk-54HJ63Q2.js";
29
29
  import "./chunk-PBN6GBJE.js";
30
- import "./chunk-VW5OMJNG.js";
31
- import "./chunk-TEXPOC5V.js";
30
+ import "./chunk-D5EJCP26.js";
31
+ import "./chunk-VMDEGITC.js";
32
32
  import {
33
33
  CANVAS_DIMENSIONS,
34
34
  parseHtml
35
- } from "./chunk-TLYU5625.js";
35
+ } from "./chunk-UUDQD62L.js";
36
36
  import "./chunk-DPVXBVLL.js";
37
- import "./chunk-TH4APNRP.js";
38
- import "./chunk-FOKUJKBN.js";
37
+ import "./chunk-R4IB642V.js";
38
+ import "./chunk-PMLZPNIB.js";
39
39
  import "./chunk-VC76R6W2.js";
40
40
  import "./chunk-OFQWTKPW.js";
41
41
  import "./chunk-TWWSYAKJ.js";
42
- import "./chunk-UVUAU3CH.js";
42
+ import "./chunk-QM2NUN2B.js";
43
43
  import "./chunk-HBBJFK6I.js";
44
44
  import "./chunk-PJ3HDUCY.js";
45
45
  import "./chunk-TQFG7HTI.js";
@@ -47,12 +47,12 @@ import "./chunk-GK4AIFIH.js";
47
47
  import "./chunk-2PSPARWP.js";
48
48
  import {
49
49
  withMeta
50
- } from "./chunk-4NJZZHYT.js";
50
+ } from "./chunk-YVEZT6WT.js";
51
51
  import "./chunk-K4WIOZFP.js";
52
52
  import "./chunk-XUXGIA7H.js";
53
53
  import "./chunk-WERLJGIC.js";
54
54
  import "./chunk-ISN5GRYI.js";
55
- import "./chunk-6LPWMCPY.js";
55
+ import "./chunk-OGTR33KN.js";
56
56
  import "./chunk-KNU5COPB.js";
57
57
  import "./chunk-3GXQPCJC.js";
58
58
  import "./chunk-RQVDTPGD.js";
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  gateRegistryItemsCompatibility
9
- } from "./chunk-JYRPUDVZ.js";
9
+ } from "./chunk-L7XDI3DT.js";
10
10
  import {
11
11
  initialModelForLanguage
12
- } from "./chunk-HFFR7TN7.js";
12
+ } from "./chunk-HJCTKNXF.js";
13
13
  import "./chunk-XT7X6QCP.js";
14
14
  import {
15
15
  writeNewFileSync
@@ -29,11 +29,11 @@ import {
29
29
  listRegistryItems,
30
30
  loadAllItems,
31
31
  resolveItemWithDependencies
32
- } from "./chunk-USWOTTSP.js";
32
+ } from "./chunk-JNY3VJWB.js";
33
33
  import {
34
34
  installItem
35
- } from "./chunk-TYA65W4U.js";
36
- import "./chunk-6CN2QLB5.js";
35
+ } from "./chunk-BRTGJ73L.js";
36
+ import "./chunk-NHTRUAMD.js";
37
37
  import "./chunk-AWDFDFI3.js";
38
38
  import "./chunk-GMECXFAN.js";
39
39
  import {
@@ -46,17 +46,17 @@ import {
46
46
  findFFprobe,
47
47
  getFFmpegInstallHint
48
48
  } from "./chunk-TVCRUG2S.js";
49
- import "./chunk-TMLEIURT.js";
49
+ import "./chunk-3LBFLW7E.js";
50
50
  import {
51
51
  trackInitTemplate
52
- } from "./chunk-2LCIQS3K.js";
53
- import "./chunk-LAHK4P7Q.js";
52
+ } from "./chunk-TPPIERG3.js";
53
+ import "./chunk-3CYAZWF2.js";
54
54
  import "./chunk-VWG7OQKU.js";
55
55
  import {
56
56
  c,
57
57
  isColorSupported
58
58
  } from "./chunk-ZTZA4UWZ.js";
59
- import "./chunk-PUB5XZYL.js";
59
+ import "./chunk-C3KEF3UA.js";
60
60
  import "./chunk-AMKC3AXA.js";
61
61
  import {
62
62
  defineCommand,
@@ -67,24 +67,24 @@ import {
67
67
  failCommand,
68
68
  finishCommand
69
69
  } from "./chunk-PBN6GBJE.js";
70
- import "./chunk-VW5OMJNG.js";
71
- import "./chunk-TEXPOC5V.js";
70
+ import "./chunk-D5EJCP26.js";
71
+ import "./chunk-VMDEGITC.js";
72
72
  import {
73
73
  CANVAS_DIMENSIONS,
74
74
  HTML_BODY_CSS_HEIGHT_FIRST_RE,
75
75
  HTML_BODY_CSS_WIDTH_FIRST_RE,
76
76
  VIEWPORT_META_SIZE_RE,
77
77
  normalizeResolutionFlag
78
- } from "./chunk-TLYU5625.js";
78
+ } from "./chunk-UUDQD62L.js";
79
79
  import "./chunk-DPVXBVLL.js";
80
- import "./chunk-TH4APNRP.js";
81
- import "./chunk-FOKUJKBN.js";
80
+ import "./chunk-R4IB642V.js";
81
+ import "./chunk-PMLZPNIB.js";
82
82
  import "./chunk-VC76R6W2.js";
83
83
  import "./chunk-OFQWTKPW.js";
84
84
  import "./chunk-LAOCA3MQ.js";
85
85
  import "./chunk-LCSMOLGX.js";
86
86
  import "./chunk-TWWSYAKJ.js";
87
- import "./chunk-UVUAU3CH.js";
87
+ import "./chunk-QM2NUN2B.js";
88
88
  import "./chunk-HBBJFK6I.js";
89
89
  import "./chunk-PJ3HDUCY.js";
90
90
  import "./chunk-TQFG7HTI.js";
@@ -96,13 +96,63 @@ import "./chunk-WERLJGIC.js";
96
96
  import "./chunk-ISN5GRYI.js";
97
97
  import {
98
98
  VERSION
99
- } from "./chunk-6LPWMCPY.js";
99
+ } from "./chunk-OGTR33KN.js";
100
100
  import "./chunk-KNU5COPB.js";
101
101
  import "./chunk-3GXQPCJC.js";
102
102
  import "./chunk-RQVDTPGD.js";
103
103
  import "./chunk-PMRBLBUP.js";
104
104
  import "./chunk-M2WBOQ2Q.js";
105
105
 
106
+ // src/commands/initMedia.ts
107
+ var VIDEO_SRC = "__VIDEO_SRC__";
108
+ var AUDIO_SRC = "__AUDIO_SRC__";
109
+ var DURATION = "__VIDEO_DURATION__";
110
+ function toSrcValue(filename) {
111
+ return encodeURI(filename).replace(/#/g, "%23").replace(/\?/g, "%3F");
112
+ }
113
+ function openTag(tag, placeholder) {
114
+ return `<${tag}\\b[^>]*src="${placeholder}"[^>]*>`;
115
+ }
116
+ function stripPlaceholder(html, tag, placeholder) {
117
+ const open = openTag(tag, placeholder);
118
+ return html.replace(new RegExp(`${open}[\\s\\S]*?</${tag}>`, "g"), "").replace(new RegExp(open, "g"), "");
119
+ }
120
+ function setVideoAudio(html, hasAudio) {
121
+ return html.replace(new RegExp(openTag("video", VIDEO_SRC), "g"), (tag) => {
122
+ const cleaned = tag.replace(
123
+ /\s+([^\s=>"']+)(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>"']+))?/g,
124
+ (attr2, name) => name === "muted" || name === "data-has-audio" ? "" : attr2
125
+ );
126
+ const attr = hasAudio ? ' data-has-audio="true"' : " muted";
127
+ return cleaned.replace(/\s*>$/, `${attr}>`);
128
+ });
129
+ }
130
+ function patchMediaPlaceholders(html, opts) {
131
+ const legacyAudioSlot = new RegExp(openTag("audio", VIDEO_SRC)).test(html);
132
+ let out = html;
133
+ if (opts.video) {
134
+ out = stripPlaceholder(out, "audio", AUDIO_SRC);
135
+ if (legacyAudioSlot) {
136
+ if (!opts.video.hasAudio) out = stripPlaceholder(out, "audio", VIDEO_SRC);
137
+ } else {
138
+ out = setVideoAudio(out, opts.video.hasAudio);
139
+ }
140
+ const videoSrc = toSrcValue(opts.video.filename);
141
+ out = out.replaceAll(VIDEO_SRC, () => videoSrc);
142
+ } else if (opts.audio) {
143
+ out = stripPlaceholder(out, "video", VIDEO_SRC);
144
+ const audioSrc = toSrcValue(opts.audio.filename);
145
+ out = out.replaceAll(AUDIO_SRC, () => audioSrc);
146
+ out = out.replaceAll(VIDEO_SRC, () => audioSrc);
147
+ } else {
148
+ out = stripPlaceholder(out, "video", VIDEO_SRC);
149
+ out = stripPlaceholder(out, "audio", VIDEO_SRC);
150
+ out = stripPlaceholder(out, "audio", AUDIO_SRC);
151
+ }
152
+ const duration = opts.durationSeconds ? String(Math.round(opts.durationSeconds * 100) / 100) : "10";
153
+ return out.replaceAll(DURATION, duration);
154
+ }
155
+
106
156
  // src/commands/init.ts
107
157
  import {
108
158
  existsSync as existsSync2,
@@ -240,7 +290,8 @@ var DEFAULT_META = {
240
290
  width: 1920,
241
291
  height: 1080,
242
292
  fps: 30,
243
- hasAudio: false,
293
+ // ffprobe unavailable: assume sound. A wrong guess fails loudly at RENDER (lint catches it only once #3638 lands); assuming silence would mute real audio.
294
+ hasAudio: true,
244
295
  videoCodec: "h264"
245
296
  };
246
297
  var TAILWIND_BROWSER_VERSION = "4.2.4";
@@ -436,21 +487,10 @@ function writeTailwindSupport(destDir) {
436
487
  writeFileSync(file, injectTailwindBrowserScript(html), "utf-8");
437
488
  }
438
489
  }
439
- function patchVideoSrc(dir, videoFilename, durationSeconds) {
490
+ function patchVideoSrc(dir, media) {
440
491
  const htmlFiles = readdirSync(dir, { withFileTypes: true, recursive: true }).filter((e) => e.isFile() && e.name.endsWith(".html")).map((e) => join2(e.parentPath, e.name));
441
492
  for (const file of htmlFiles) {
442
- let content = readFileSync(file, "utf-8");
443
- if (videoFilename) {
444
- content = content.replaceAll("__VIDEO_SRC__", videoFilename);
445
- } else {
446
- content = content.replace(/<video[^>]*src="__VIDEO_SRC__"[^>]*>[\s\S]*?<\/video>/g, "");
447
- content = content.replace(/<video[^>]*src="__VIDEO_SRC__"[^>]*>/g, "");
448
- content = content.replace(/<audio[^>]*src="__VIDEO_SRC__"[^>]*>[\s\S]*?<\/audio>/g, "");
449
- content = content.replace(/<audio[^>]*src="__VIDEO_SRC__"[^>]*>/g, "");
450
- }
451
- const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
452
- content = content.replaceAll("__VIDEO_DURATION__", dur);
453
- writeFileSync(file, content, "utf-8");
493
+ writeFileSync(file, patchMediaPlaceholders(readFileSync(file, "utf-8"), media), "utf-8");
454
494
  }
455
495
  }
456
496
  async function patchTranscript(dir, transcriptPath) {
@@ -471,7 +511,7 @@ async function handleVideoFile(videoPath, destDir, interactive) {
471
511
  );
472
512
  }
473
513
  } else {
474
- const msg = `ffprobe not found \u2014 using defaults (1920x1080, 5s, 30fps). Install: ${getFFmpegInstallHint()}`;
514
+ const msg = `ffprobe not found \u2014 using defaults (1920x1080, 5s, 30fps) and assuming the video has sound (data-has-audio="true"); if it is silent, replace that with muted. Install: ${getFFmpegInstallHint()}`;
475
515
  if (interactive) {
476
516
  R.warn(msg);
477
517
  } else {
@@ -586,7 +626,7 @@ function applyResolutionPreset(destDir, resolution) {
586
626
  if (changed) writeFileSync(file, html, "utf-8");
587
627
  }
588
628
  }
589
- async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution, authoringSkill) {
629
+ async function scaffoldProject(destDir, name, templateId, media, tailwind = false, resolution, authoringSkill) {
590
630
  mkdirSync(destDir, { recursive: true });
591
631
  const templateDir = getStaticTemplateDir(templateId);
592
632
  if (existsSync2(join2(templateDir, "index.html"))) {
@@ -594,7 +634,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
594
634
  } else {
595
635
  await fetchRemoteTemplate(templateId, destDir);
596
636
  }
597
- patchVideoSrc(destDir, localVideoName, durationSeconds);
637
+ patchVideoSrc(destDir, media);
598
638
  if (tailwind) writeTailwindSupport(destDir);
599
639
  if (resolution) applyResolutionPreset(destDir, resolution);
600
640
  writeFileSync(
@@ -611,7 +651,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
611
651
  "utf-8"
612
652
  );
613
653
  if (!existsSync2(resolve(destDir, "hyperframes.json"))) {
614
- const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-V53SEFIS.js");
654
+ const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-VVFH7XW5.js");
615
655
  const { normalizeSkillSlug } = await import("./skill-ZHVLH7KX.js");
616
656
  const skill = normalizeSkillSlug(authoringSkill);
617
657
  createProjectConfig(
@@ -632,7 +672,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
632
672
  }
633
673
  }
634
674
  async function keepSkillsCurrent(destDir) {
635
- const { updateSkills } = await import("./skills-ETBA5B46.js");
675
+ const { updateSkills } = await import("./skills-CPS5E5YP.js");
636
676
  console.log();
637
677
  console.log(c.bold("Checking AI coding skills against GitHub..."));
638
678
  try {
@@ -812,12 +852,14 @@ var init_default = defineCommand({
812
852
  }
813
853
  mkdirSync(destDir2, { recursive: true });
814
854
  let localVideoName2;
855
+ let videoHasAudio2 = true;
815
856
  let videoDuration2;
816
857
  let sourceFilePath2;
817
858
  if (videoPath) {
818
859
  sourceFilePath2 = videoPath;
819
860
  const result = await handleVideoFile(videoPath, destDir2, false);
820
861
  localVideoName2 = result.localVideoName;
862
+ videoHasAudio2 = result.meta.hasAudio;
821
863
  videoDuration2 = result.meta.durationSeconds;
822
864
  console.log(
823
865
  `Video: ${result.meta.width}x${result.meta.height}, ${result.meta.durationSeconds.toFixed(1)}s`
@@ -826,6 +868,8 @@ var init_default = defineCommand({
826
868
  if (audioPath) {
827
869
  sourceFilePath2 = audioPath;
828
870
  copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
871
+ const { getMediaDurationSeconds } = await import("./transcribe-TRLZJK73.js");
872
+ videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
829
873
  console.log(`Audio: ${basename(audioPath)}`);
830
874
  }
831
875
  if (sourceFilePath2 && !skipTranscribe) {
@@ -834,7 +878,7 @@ var init_default = defineCommand({
834
878
  await ensureWhisper();
835
879
  await ensureModel(initialTranscriptionModel);
836
880
  console.log("Transcribing...");
837
- const { transcribe: runTranscribe } = await import("./transcribe-AL3E5MBZ.js");
881
+ const { transcribe: runTranscribe } = await import("./transcribe-TRLZJK73.js");
838
882
  const result = await runTranscribe(sourceFilePath2, destDir2, {
839
883
  model: modelFlag,
840
884
  language: languageFlag
@@ -848,12 +892,16 @@ var init_default = defineCommand({
848
892
  }
849
893
  }
850
894
  try {
895
+ const media = {
896
+ video: localVideoName2 ? { filename: localVideoName2, hasAudio: videoHasAudio2 } : void 0,
897
+ audio: audioPath ? { filename: basename(audioPath) } : void 0,
898
+ durationSeconds: videoDuration2
899
+ };
851
900
  await scaffoldProject(
852
901
  destDir2,
853
902
  basename(destDir2),
854
903
  templateId2,
855
- localVideoName2,
856
- videoDuration2,
904
+ media,
857
905
  tailwind,
858
906
  resolutionPreset,
859
907
  args.skill
@@ -946,6 +994,7 @@ var init_default = defineCommand({
946
994
  }
947
995
  }
948
996
  let localVideoName;
997
+ let videoHasAudio = true;
949
998
  let sourceFilePath;
950
999
  let videoDuration;
951
1000
  if (videoFlag) {
@@ -959,6 +1008,7 @@ var init_default = defineCommand({
959
1008
  sourceFilePath = videoPath;
960
1009
  const result = await handleVideoFile(videoPath, destDir, true);
961
1010
  localVideoName = result.localVideoName;
1011
+ videoHasAudio = result.meta.hasAudio;
962
1012
  videoDuration = result.meta.durationSeconds;
963
1013
  } else if (audioFlag) {
964
1014
  const audioPath = resolve(audioFlag);
@@ -970,6 +1020,8 @@ var init_default = defineCommand({
970
1020
  mkdirSync(destDir, { recursive: true });
971
1021
  sourceFilePath = audioPath;
972
1022
  copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
1023
+ const { getMediaDurationSeconds } = await import("./transcribe-TRLZJK73.js");
1024
+ videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
973
1025
  R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
974
1026
  }
975
1027
  if (sourceFilePath) {
@@ -996,7 +1048,7 @@ var init_default = defineCommand({
996
1048
  onProgress: (msg) => spin2.message(msg)
997
1049
  });
998
1050
  spin2.message("Transcribing audio...");
999
- const { transcribe: runTranscribe } = await import("./transcribe-AL3E5MBZ.js");
1051
+ const { transcribe: runTranscribe } = await import("./transcribe-TRLZJK73.js");
1000
1052
  const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
1001
1053
  model: modelFlag,
1002
1054
  language: languageFlag,
@@ -1039,12 +1091,16 @@ var init_default = defineCommand({
1039
1091
  spin.start(`Downloading example ${c.accent(templateId)}...`);
1040
1092
  }
1041
1093
  try {
1094
+ const media = {
1095
+ video: localVideoName ? { filename: localVideoName, hasAudio: videoHasAudio } : void 0,
1096
+ audio: audioFlag ? { filename: basename(audioFlag) } : void 0,
1097
+ durationSeconds: videoDuration
1098
+ };
1042
1099
  await scaffoldProject(
1043
1100
  destDir,
1044
1101
  name,
1045
1102
  templateId,
1046
- localVideoName,
1047
- videoDuration,
1103
+ media,
1048
1104
  tailwind,
1049
1105
  resolutionPreset,
1050
1106
  args.skill
@@ -1074,7 +1130,7 @@ ${c.dim("Use --example blank for offline use.")}`
1074
1130
  }
1075
1131
  R.info("Opening studio preview...");
1076
1132
  try {
1077
- const previewCmd = await import("./preview-7U6HYHYE.js").then((m) => m.default);
1133
+ const previewCmd = await import("./preview-O2YEKMYJ.js").then((m) => m.default);
1078
1134
  await runCommand(previewCmd, { rawArgs: [destDir] });
1079
1135
  } catch {
1080
1136
  }
@@ -6,66 +6,66 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createInspectCommand
9
- } from "./chunk-4I6AQUWG.js";
10
- import "./chunk-AXWBDWAV.js";
9
+ } from "./chunk-ADP6TMYP.js";
10
+ import "./chunk-T4Z4UNSX.js";
11
11
  import "./chunk-XUHOIDKG.js";
12
- import "./chunk-5TBFBLIX.js";
12
+ import "./chunk-GLTHJJIF.js";
13
13
  import "./chunk-X7MTZ4T2.js";
14
- import "./chunk-XZSH5GS7.js";
14
+ import "./chunk-QH6UFY2O.js";
15
15
  import "./chunk-5Z63TBTX.js";
16
16
  import "./chunk-262C25DQ.js";
17
- import "./chunk-IQ4UCWV7.js";
17
+ import "./chunk-T3BOWXPX.js";
18
18
  import "./chunk-YEIFI443.js";
19
- import "./chunk-UUE5BZGE.js";
20
- import "./chunk-M4KS6MJN.js";
21
- import "./chunk-4Z5O7BTD.js";
22
- import "./chunk-O5TBFZ7X.js";
23
- import "./chunk-FTXU3TQ4.js";
19
+ import "./chunk-4DJXCVQJ.js";
20
+ import "./chunk-YY5J75H5.js";
21
+ import "./chunk-WEATBQTR.js";
22
+ import "./chunk-PU2IOWX4.js";
23
+ import "./chunk-I73Z6OOE.js";
24
24
  import "./chunk-IHFUKJOR.js";
25
25
  import "./chunk-PFCFR3KZ.js";
26
- import "./chunk-HUHJYNST.js";
26
+ import "./chunk-P7XRDAWU.js";
27
27
  import "./chunk-XT7X6QCP.js";
28
28
  import "./chunk-4YYJOFKS.js";
29
29
  import "./chunk-HVW7ABXD.js";
30
- import "./chunk-4WAMN4IF.js";
31
- import "./chunk-USWOTTSP.js";
32
- import "./chunk-TYA65W4U.js";
33
- import "./chunk-6CN2QLB5.js";
30
+ import "./chunk-73VPF3SS.js";
31
+ import "./chunk-JNY3VJWB.js";
32
+ import "./chunk-BRTGJ73L.js";
33
+ import "./chunk-NHTRUAMD.js";
34
34
  import "./chunk-AWDFDFI3.js";
35
35
  import "./chunk-GMECXFAN.js";
36
36
  import "./chunk-RDMAU7AJ.js";
37
- import "./chunk-2LCIQS3K.js";
38
- import "./chunk-LAHK4P7Q.js";
37
+ import "./chunk-TPPIERG3.js";
38
+ import "./chunk-3CYAZWF2.js";
39
39
  import "./chunk-VWG7OQKU.js";
40
40
  import "./chunk-ZTZA4UWZ.js";
41
- import "./chunk-PUB5XZYL.js";
41
+ import "./chunk-C3KEF3UA.js";
42
42
  import "./chunk-AMKC3AXA.js";
43
43
  import "./chunk-S3S4TGEH.js";
44
44
  import "./chunk-54HJ63Q2.js";
45
45
  import "./chunk-PBN6GBJE.js";
46
46
  import "./chunk-KC5XXX3X.js";
47
47
  import "./chunk-TJSTGSAW.js";
48
- import "./chunk-VW5OMJNG.js";
49
- import "./chunk-TEXPOC5V.js";
50
- import "./chunk-TLYU5625.js";
48
+ import "./chunk-D5EJCP26.js";
49
+ import "./chunk-VMDEGITC.js";
50
+ import "./chunk-UUDQD62L.js";
51
51
  import "./chunk-DPVXBVLL.js";
52
- import "./chunk-TH4APNRP.js";
53
- import "./chunk-FOKUJKBN.js";
52
+ import "./chunk-R4IB642V.js";
53
+ import "./chunk-PMLZPNIB.js";
54
54
  import "./chunk-VC76R6W2.js";
55
55
  import "./chunk-OFQWTKPW.js";
56
56
  import "./chunk-TWWSYAKJ.js";
57
- import "./chunk-UVUAU3CH.js";
57
+ import "./chunk-QM2NUN2B.js";
58
58
  import "./chunk-HBBJFK6I.js";
59
59
  import "./chunk-PJ3HDUCY.js";
60
60
  import "./chunk-TQFG7HTI.js";
61
61
  import "./chunk-GK4AIFIH.js";
62
62
  import "./chunk-2PSPARWP.js";
63
- import "./chunk-4NJZZHYT.js";
63
+ import "./chunk-YVEZT6WT.js";
64
64
  import "./chunk-K4WIOZFP.js";
65
65
  import "./chunk-XUXGIA7H.js";
66
66
  import "./chunk-WERLJGIC.js";
67
67
  import "./chunk-ISN5GRYI.js";
68
- import "./chunk-6LPWMCPY.js";
68
+ import "./chunk-OGTR33KN.js";
69
69
  import "./chunk-KNU5COPB.js";
70
70
  import "./chunk-3GXQPCJC.js";
71
71
  import "./chunk-RQVDTPGD.js";
@@ -10,14 +10,14 @@ import {
10
10
  prepareItem,
11
11
  publishItem,
12
12
  recordRewrittenInstall
13
- } from "./chunk-TYA65W4U.js";
14
- import "./chunk-6CN2QLB5.js";
13
+ } from "./chunk-BRTGJ73L.js";
14
+ import "./chunk-NHTRUAMD.js";
15
15
  import "./chunk-AWDFDFI3.js";
16
16
  import "./chunk-GMECXFAN.js";
17
- import "./chunk-TEXPOC5V.js";
18
- import "./chunk-TLYU5625.js";
17
+ import "./chunk-VMDEGITC.js";
18
+ import "./chunk-UUDQD62L.js";
19
19
  import "./chunk-DPVXBVLL.js";
20
- import "./chunk-FOKUJKBN.js";
20
+ import "./chunk-PMLZPNIB.js";
21
21
  import "./chunk-VC76R6W2.js";
22
22
  import "./chunk-OFQWTKPW.js";
23
23
  import "./chunk-HBBJFK6I.js";
@@ -6,39 +6,39 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-FTXU3TQ4.js";
9
+ } from "./chunk-I73Z6OOE.js";
10
10
  import "./chunk-IHFUKJOR.js";
11
11
  import {
12
12
  ensureDOMParser
13
13
  } from "./chunk-PFCFR3KZ.js";
14
- import "./chunk-2LCIQS3K.js";
15
- import "./chunk-LAHK4P7Q.js";
14
+ import "./chunk-TPPIERG3.js";
15
+ import "./chunk-3CYAZWF2.js";
16
16
  import "./chunk-VWG7OQKU.js";
17
17
  import {
18
18
  c
19
19
  } from "./chunk-ZTZA4UWZ.js";
20
- import "./chunk-PUB5XZYL.js";
20
+ import "./chunk-C3KEF3UA.js";
21
21
  import "./chunk-AMKC3AXA.js";
22
22
  import {
23
23
  defineCommand
24
24
  } from "./chunk-S3S4TGEH.js";
25
25
  import "./chunk-54HJ63Q2.js";
26
26
  import "./chunk-PBN6GBJE.js";
27
- import "./chunk-VW5OMJNG.js";
28
- import "./chunk-TEXPOC5V.js";
29
- import "./chunk-TLYU5625.js";
27
+ import "./chunk-D5EJCP26.js";
28
+ import "./chunk-VMDEGITC.js";
29
+ import "./chunk-UUDQD62L.js";
30
30
  import {
31
31
  require_lib,
32
32
  require_main
33
33
  } from "./chunk-DPVXBVLL.js";
34
- import "./chunk-TH4APNRP.js";
35
- import "./chunk-FOKUJKBN.js";
34
+ import "./chunk-R4IB642V.js";
35
+ import "./chunk-PMLZPNIB.js";
36
36
  import "./chunk-VC76R6W2.js";
37
37
  import "./chunk-OFQWTKPW.js";
38
38
  import "./chunk-TWWSYAKJ.js";
39
39
  import {
40
40
  readProjectFile
41
- } from "./chunk-UVUAU3CH.js";
41
+ } from "./chunk-QM2NUN2B.js";
42
42
  import "./chunk-HBBJFK6I.js";
43
43
  import "./chunk-PJ3HDUCY.js";
44
44
  import "./chunk-TQFG7HTI.js";
@@ -50,12 +50,12 @@ import {
50
50
  } from "./chunk-2PSPARWP.js";
51
51
  import {
52
52
  withMeta
53
- } from "./chunk-4NJZZHYT.js";
53
+ } from "./chunk-YVEZT6WT.js";
54
54
  import "./chunk-K4WIOZFP.js";
55
55
  import "./chunk-XUXGIA7H.js";
56
56
  import "./chunk-WERLJGIC.js";
57
57
  import "./chunk-ISN5GRYI.js";
58
- import "./chunk-6LPWMCPY.js";
58
+ import "./chunk-OGTR33KN.js";
59
59
  import "./chunk-KNU5COPB.js";
60
60
  import "./chunk-3GXQPCJC.js";
61
61
  import "./chunk-RQVDTPGD.js";
@@ -2372,7 +2372,7 @@ function printOnionShotSaved(saved, elementCount) {
2372
2372
  console.log();
2373
2373
  }
2374
2374
  async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
2375
- const { captureMotionPathShot } = await import("./motionShot-2LYUQF3T.js");
2375
+ const { captureMotionPathShot } = await import("./motionShot-5AI2DALY.js");
2376
2376
  const requests = collectShotSelectors(args.selector ? allComps : comps);
2377
2377
  const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
2378
2378
  if (guardError) {
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parseOutputResolutionFlag
9
- } from "./chunk-AZQLJHAO.js";
9
+ } from "./chunk-PZTEY73C.js";
10
10
  import {
11
11
  readAllowedCompositionFpsFromDir
12
12
  } from "./chunk-YEIFI443.js";
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  failCommand
21
21
  } from "./chunk-PBN6GBJE.js";
22
- import "./chunk-TEXPOC5V.js";
23
- import "./chunk-TLYU5625.js";
22
+ import "./chunk-VMDEGITC.js";
23
+ import "./chunk-UUDQD62L.js";
24
24
  import "./chunk-DPVXBVLL.js";
25
- import "./chunk-FOKUJKBN.js";
25
+ import "./chunk-PMLZPNIB.js";
26
26
  import "./chunk-VC76R6W2.js";
27
27
  import "./chunk-OFQWTKPW.js";
28
28
  import "./chunk-TQFG7HTI.js";
@@ -285,7 +285,7 @@ Or, for an opt-in dev setup:
285
285
  console.error(`[lambda render] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
286
286
  failCommand();
287
287
  }
288
- const { runRender } = await import("./render-TPZ5FXHS.js");
288
+ const { runRender } = await import("./render-I65IU7RM.js");
289
289
  const renderResolution = parseOutputResolution(args["output-resolution"]);
290
290
  await runRender({
291
291
  projectDir,
@@ -339,7 +339,7 @@ Or, for an opt-in dev setup:
339
339
  console.error(`[lambda render-batch] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
340
340
  failCommand();
341
341
  }
342
- const { runRenderBatch } = await import("./render-batch-4ZF5C2LN.js");
342
+ const { runRenderBatch } = await import("./render-batch-RSNCREPB.js");
343
343
  const batchResolution = parseOutputResolution(args["output-resolution"]);
344
344
  await runRenderBatch({
345
345
  projectDir,