framefields 2.0.8 → 2.0.10

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 (317) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio--hi7MiZt.mjs → audio-B7Al-W_0.mjs} +3 -3
  4. package/dist/{audio--hi7MiZt.mjs.map → audio-B7Al-W_0.mjs.map} +1 -1
  5. package/dist/{audio-a6pY05g2.d.mts → audio-BxA0sL9z.d.mts} +3 -3
  6. package/dist/{audio-a6pY05g2.d.mts.map → audio-BxA0sL9z.d.mts.map} +1 -1
  7. package/dist/{client-C74hb7fy.mjs → client-CwRhflHE.mjs} +1 -1
  8. package/dist/{client-C74hb7fy.mjs.map → client-CwRhflHE.mjs.map} +1 -1
  9. package/dist/{dist-BQFap0wr.mjs → dist-B9PkqWnN.mjs} +78 -17
  10. package/dist/dist-B9PkqWnN.mjs.map +1 -0
  11. package/dist/{dist-ZVlYkuR4.mjs → dist-BFjSQP7i.mjs} +17 -8
  12. package/dist/dist-BFjSQP7i.mjs.map +1 -0
  13. package/dist/{dist-cjs-qEJrwjGk.mjs → dist-cjs--lfMLs3U.mjs} +4 -4
  14. package/dist/{dist-cjs-qEJrwjGk.mjs.map → dist-cjs--lfMLs3U.mjs.map} +1 -1
  15. package/dist/{dist-cjs-x5cwlqA5.mjs → dist-cjs--pxyGFw2.mjs} +1 -1
  16. package/dist/{dist-cjs-x5cwlqA5.mjs.map → dist-cjs--pxyGFw2.mjs.map} +1 -1
  17. package/dist/dist-cjs-3pon9kTt.mjs +6 -0
  18. package/dist/{dist-cjs-Dzs5P3K0.mjs → dist-cjs-BDpO-TH_.mjs} +1 -1
  19. package/dist/{dist-cjs-Dzs5P3K0.mjs.map → dist-cjs-BDpO-TH_.mjs.map} +1 -1
  20. package/dist/{dist-cjs-lYvO8aDo.mjs → dist-cjs-BiKQozdJ.mjs} +3 -3
  21. package/dist/{dist-cjs-lYvO8aDo.mjs.map → dist-cjs-BiKQozdJ.mjs.map} +1 -1
  22. package/dist/{dist-cjs-BUwe2XhR.mjs → dist-cjs-BmyyWYWv.mjs} +2 -2
  23. package/dist/{dist-cjs-BUwe2XhR.mjs.map → dist-cjs-BmyyWYWv.mjs.map} +1 -1
  24. package/dist/{dist-cjs-DgxjcvBN.mjs → dist-cjs-CND_ghfH.mjs} +1 -1
  25. package/dist/{dist-cjs-DgxjcvBN.mjs.map → dist-cjs-CND_ghfH.mjs.map} +1 -1
  26. package/dist/{dist-cjs-BWgoUCXJ.mjs → dist-cjs-CQwmMllY.mjs} +6 -6
  27. package/dist/{dist-cjs-BWgoUCXJ.mjs.map → dist-cjs-CQwmMllY.mjs.map} +1 -1
  28. package/dist/{dist-cjs-B5EVqDFp.mjs → dist-cjs-CgFzrgj8.mjs} +1 -1
  29. package/dist/{dist-cjs-B5EVqDFp.mjs.map → dist-cjs-CgFzrgj8.mjs.map} +1 -1
  30. package/dist/{dist-cjs-ECMuIF57.mjs → dist-cjs-CsU2sZoX.mjs} +4 -4
  31. package/dist/{dist-cjs-ECMuIF57.mjs.map → dist-cjs-CsU2sZoX.mjs.map} +1 -1
  32. package/dist/{dist-cjs-BKmGCgtm.mjs → dist-cjs-DJ8fcQEe.mjs} +11 -11
  33. package/dist/{dist-cjs-BKmGCgtm.mjs.map → dist-cjs-DJ8fcQEe.mjs.map} +1 -1
  34. package/dist/{dist-cjs-D7kEM-Mj.mjs → dist-cjs-DT2jJlcK.mjs} +5 -5
  35. package/dist/{dist-cjs-D7kEM-Mj.mjs.map → dist-cjs-DT2jJlcK.mjs.map} +1 -1
  36. package/dist/{dist-cjs-BUc0_kg-.mjs → dist-cjs-DjzmP0-x.mjs} +13 -13
  37. package/dist/{dist-cjs-BUc0_kg-.mjs.map → dist-cjs-DjzmP0-x.mjs.map} +1 -1
  38. package/dist/{dist-cjs-BGJkdexX.mjs → dist-cjs-DzjrlfbE.mjs} +14 -14
  39. package/dist/{dist-cjs-BGJkdexX.mjs.map → dist-cjs-DzjrlfbE.mjs.map} +1 -1
  40. package/dist/{dist-cjs-Df7144zM.mjs → dist-cjs-M-8QOgS_.mjs} +2 -2
  41. package/dist/{dist-cjs-Df7144zM.mjs.map → dist-cjs-M-8QOgS_.mjs.map} +1 -1
  42. package/dist/{dist-cjs-DFUmy89O.mjs → dist-cjs-TsA8LFXC.mjs} +3 -3
  43. package/dist/{dist-cjs-DFUmy89O.mjs.map → dist-cjs-TsA8LFXC.mjs.map} +1 -1
  44. package/dist/{dist-cjs-DsMdld8l.mjs → dist-cjs-agQl9T8M.mjs} +6 -6
  45. package/dist/{dist-cjs-DsMdld8l.mjs.map → dist-cjs-agQl9T8M.mjs.map} +1 -1
  46. package/dist/effects/index.d.mts +5 -5
  47. package/dist/effects/index.mjs +27 -26
  48. package/dist/{effects-axfL_C3a.mjs → effects-CREopCyP.mjs} +27 -3
  49. package/dist/effects-CREopCyP.mjs.map +1 -0
  50. package/dist/{event-streams-D-APZ7Ke.mjs → event-streams-BaNGaLxh.mjs} +2 -2
  51. package/dist/{event-streams-D-APZ7Ke.mjs.map → event-streams-BaNGaLxh.mjs.map} +1 -1
  52. package/dist/fonts/index.d.mts +1 -1
  53. package/dist/fonts/index.mjs +1 -1
  54. package/dist/{fonts-Cy26mbrO.mjs → fonts-DhEQ5h6E.mjs} +2 -2
  55. package/dist/{fonts-Cy26mbrO.mjs.map → fonts-DhEQ5h6E.mjs.map} +1 -1
  56. package/dist/{index-BJUS4Nx6.d.mts → index-BXNNJVs8.d.mts} +2 -2
  57. package/dist/{index-BJUS4Nx6.d.mts.map → index-BXNNJVs8.d.mts.map} +1 -1
  58. package/dist/{index-CbzEM_o6.d.mts → index-CQcdKyxF.d.mts} +1 -1
  59. package/dist/{index-CbzEM_o6.d.mts.map → index-CQcdKyxF.d.mts.map} +1 -1
  60. package/dist/{index-BJx_Qxc_.d.mts → index-CvDVpaKn.d.mts} +69 -27
  61. package/dist/index-CvDVpaKn.d.mts.map +1 -0
  62. package/dist/{index-WIPHLy5m.d.mts → index-D1zaOwEU.d.mts} +1 -1
  63. package/dist/index-D1zaOwEU.d.mts.map +1 -0
  64. package/dist/{index-CZChQhXZ.d.mts → index-J9CIK_nu.d.mts} +4 -2
  65. package/dist/index-J9CIK_nu.d.mts.map +1 -0
  66. package/dist/{index-Bi2nRZ_g.d.mts → index-fo4E7A6C.d.mts} +3 -3
  67. package/dist/{index-Bi2nRZ_g.d.mts.map → index-fo4E7A6C.d.mts.map} +1 -1
  68. package/dist/{index-BLbUQolI.d.mts → index-oodg5k9K.d.mts} +3 -3
  69. package/dist/{index-BLbUQolI.d.mts.map → index-oodg5k9K.d.mts.map} +1 -1
  70. package/dist/index.d.mts +11 -10
  71. package/dist/index.d.mts.map +1 -1
  72. package/dist/index.mjs +43 -42
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/{package-C58KmGKw.mjs → package-XpCRbTOA.mjs} +1 -1
  75. package/dist/{package-C58KmGKw.mjs.map → package-XpCRbTOA.mjs.map} +1 -1
  76. package/dist/preview/index.d.mts +2 -2
  77. package/dist/preview/index.mjs +11 -11
  78. package/dist/{preview-BUPB38Kk.mjs → preview-9ifxywUM.mjs} +2 -2
  79. package/dist/{preview-BUPB38Kk.mjs.map → preview-9ifxywUM.mjs.map} +1 -1
  80. package/dist/preview-engine/audio.mjs +1 -1
  81. package/dist/preview-engine/{chunk-3ROJ7JVY.mjs → chunk-25IW7NYO.mjs} +1 -1
  82. package/dist/preview-engine/chunk-36YGYLKD.mjs +58 -0
  83. package/dist/preview-engine/chunk-4VOHF3FF.mjs +1 -0
  84. package/dist/preview-engine/{chunk-TNZENER3.mjs → chunk-7DIAFPQP.mjs} +2 -2
  85. package/dist/preview-engine/{chunk-CXFEQ5PM.mjs → chunk-7O24H4YT.mjs} +2 -2
  86. package/dist/preview-engine/{chunk-VWLR2AZR.mjs → chunk-AEK5BO3J.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-5PPSCISJ.mjs → chunk-AG5JNZYQ.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-BE3CEVJB.mjs → chunk-AUFSM5KI.mjs} +2 -2
  89. package/dist/preview-engine/chunk-AW7HNZKR.mjs +98 -0
  90. package/dist/preview-engine/chunk-BHFI3Y4T.mjs +1 -0
  91. package/dist/preview-engine/chunk-DLXQDDIN.mjs +46 -0
  92. package/dist/preview-engine/chunk-EJGLUZMW.mjs +1 -0
  93. package/dist/preview-engine/{chunk-XSMK5E2V.mjs → chunk-JAOXXYXG.mjs} +2 -2
  94. package/dist/preview-engine/{chunk-PO4VAAQC.mjs → chunk-K52S5DJX.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-IGFT3XLN.mjs → chunk-MDDF2GCF.mjs} +2 -2
  96. package/dist/preview-engine/chunk-MJM3NFEC.mjs +315 -0
  97. package/dist/preview-engine/{chunk-BUWK5RJ4.mjs → chunk-QTKJXDIW.mjs} +1 -1
  98. package/dist/preview-engine/{chunk-WQ7BFSKF.mjs → chunk-RNOO4UR5.mjs} +1 -1
  99. package/dist/preview-engine/{chunk-POPVFC5P.mjs → chunk-S4CSX6K5.mjs} +10 -10
  100. package/dist/preview-engine/chunk-SNYAHQ25.mjs +186 -0
  101. package/dist/preview-engine/{chunk-JNEVSC4I.mjs → chunk-T6CC2KCZ.mjs} +1 -1
  102. package/dist/preview-engine/{chunk-MC7TZZLD.mjs → chunk-T6COGNOW.mjs} +2 -2
  103. package/dist/preview-engine/chunk-VVLM6LZ3.mjs +1 -0
  104. package/dist/preview-engine/chunk-XUM42I4R.mjs +1 -0
  105. package/dist/preview-engine/chunk-ZDCA6NVT.mjs +82 -0
  106. package/dist/preview-engine/effects.mjs +1 -1
  107. package/dist/preview-engine/fonts.mjs +1 -1
  108. package/dist/preview-engine/framefields.mjs +13 -13
  109. package/dist/preview-engine/player.mjs +5 -5
  110. package/dist/preview-engine/{renderers-Q2ZDD5K2.mjs → renderers-2US2NIUG.mjs} +2 -2
  111. package/dist/preview-engine/{renderers-54AQK6RF.mjs → renderers-32PIFHPS.mjs} +1 -1
  112. package/dist/preview-engine/{renderers-O6HOYIPS.mjs → renderers-76PQY2SO.mjs} +1 -1
  113. package/dist/preview-engine/renderers-7HNVXNAI.mjs +248 -0
  114. package/dist/preview-engine/{renderers-PXGLEFZO.mjs → renderers-CI2GXWLP.mjs} +1 -1
  115. package/dist/preview-engine/{renderers-GC7EGB5Z.mjs → renderers-CRKRWR2Y.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-47UITXLZ.mjs → renderers-EE2GFG7J.mjs} +1 -1
  117. package/dist/preview-engine/{renderers-E3JYRLSD.mjs → renderers-GJSUN5HU.mjs} +1 -1
  118. package/dist/preview-engine/{renderers-KCP4TFHG.mjs → renderers-IHKORHMT.mjs} +1 -1
  119. package/dist/preview-engine/{renderers-OBMTU3QY.mjs → renderers-NQUDQEHY.mjs} +1 -1
  120. package/dist/preview-engine/{renderers-QECJP22T.mjs → renderers-NSY2SDIE.mjs} +1 -1
  121. package/dist/preview-engine/{renderers-KS4HPV6Q.mjs → renderers-PWLWOZY4.mjs} +1 -1
  122. package/dist/preview-engine/{renderers-TUYQLKHJ.mjs → renderers-W5CVDJVH.mjs} +1 -1
  123. package/dist/preview-engine/{renderers-N5UPJY73.mjs → renderers-WLLJFZTF.mjs} +1 -1
  124. package/dist/preview-engine/renderers-WN4SYFCU.mjs +1 -0
  125. package/dist/preview-engine/{renderers-TG62LZTF.mjs → renderers-XFBSGTHU.mjs} +1 -1
  126. package/dist/preview-engine/signals.mjs +1 -1
  127. package/dist/{program-Jt07Tx1J.mjs → program-xRfFoPxe.mjs} +2 -2
  128. package/dist/{program-Jt07Tx1J.mjs.map → program-xRfFoPxe.mjs.map} +1 -1
  129. package/dist/renderer/index.d.mts +2 -2
  130. package/dist/renderer/index.mjs +3 -3
  131. package/dist/{renderer-Bal8734U.d.mts → renderer-2NQWaZd7.d.mts} +2 -2
  132. package/dist/{renderer-Bal8734U.d.mts.map → renderer-2NQWaZd7.d.mts.map} +1 -1
  133. package/dist/{renderer-CIMjMFGm.mjs → renderer-5h0llpx7.mjs} +2 -2
  134. package/dist/{renderer-CIMjMFGm.mjs.map → renderer-5h0llpx7.mjs.map} +1 -1
  135. package/dist/{renderer-U0LJuM9D.mjs → renderer-6GeDT4Mx.mjs} +2 -2
  136. package/dist/{renderer-U0LJuM9D.mjs.map → renderer-6GeDT4Mx.mjs.map} +1 -1
  137. package/dist/{renderer-CIQYTiT9.mjs → renderer-8qpGxSSO.mjs} +2 -2
  138. package/dist/{renderer-CIQYTiT9.mjs.map → renderer-8qpGxSSO.mjs.map} +1 -1
  139. package/dist/{renderer-BkOXe6o6.mjs → renderer-9wp5R7PL.mjs} +2 -2
  140. package/dist/{renderer-BkOXe6o6.mjs.map → renderer-9wp5R7PL.mjs.map} +1 -1
  141. package/dist/renderer-B4F6wL68.mjs +3 -0
  142. package/dist/renderer-B4i1jmiT.mjs +3 -0
  143. package/dist/renderer-B5ylY3uM.mjs +3 -0
  144. package/dist/{renderer-B6Q5e9CU.mjs → renderer-BA8YwBRQ.mjs} +2 -2
  145. package/dist/{renderer-B6Q5e9CU.mjs.map → renderer-BA8YwBRQ.mjs.map} +1 -1
  146. package/dist/{renderer-DVQp5fLG.mjs → renderer-BGXbGqY4.mjs} +5 -4
  147. package/dist/{renderer-DVQp5fLG.mjs.map → renderer-BGXbGqY4.mjs.map} +1 -1
  148. package/dist/{renderer-Dgg6pQGI.mjs → renderer-BJ6Y-7ke.mjs} +2 -2
  149. package/dist/{renderer-Dgg6pQGI.mjs.map → renderer-BJ6Y-7ke.mjs.map} +1 -1
  150. package/dist/{renderer-BDLnExoP.mjs → renderer-BM05sB8m.mjs} +8 -7
  151. package/dist/renderer-BM05sB8m.mjs.map +1 -0
  152. package/dist/renderer-BPw23wiR.mjs +3 -0
  153. package/dist/{renderer-DP-xNaYX.mjs → renderer-BZmfKIom.mjs} +2 -2
  154. package/dist/{renderer-DP-xNaYX.mjs.map → renderer-BZmfKIom.mjs.map} +1 -1
  155. package/dist/{renderer-DXyaswab.mjs → renderer-BgdkEFmv.mjs} +18 -17
  156. package/dist/renderer-BgdkEFmv.mjs.map +1 -0
  157. package/dist/renderer-BghW-bSZ.mjs +3 -0
  158. package/dist/{renderer-BdSHGzHj.mjs → renderer-BiSALMQy.mjs} +1 -1
  159. package/dist/{renderer-C-Bv9nVB.mjs → renderer-BnvqEqvE.mjs} +2 -2
  160. package/dist/{renderer-C-Bv9nVB.mjs.map → renderer-BnvqEqvE.mjs.map} +1 -1
  161. package/dist/{renderer-CmIySXSN.mjs → renderer-BpCxKWQm.mjs} +11 -5
  162. package/dist/renderer-BpCxKWQm.mjs.map +1 -0
  163. package/dist/{renderer-CceiI6P7.mjs → renderer-BtRfKx5N.mjs} +18 -4
  164. package/dist/renderer-BtRfKx5N.mjs.map +1 -0
  165. package/dist/{renderer-CXZe0lfI.mjs → renderer-But0u-xi.mjs} +2 -2
  166. package/dist/{renderer-CXZe0lfI.mjs.map → renderer-But0u-xi.mjs.map} +1 -1
  167. package/dist/renderer-Bw3oZ9YT.mjs +3 -0
  168. package/dist/renderer-C2009W-_.mjs +3 -0
  169. package/dist/renderer-C36yoGXG.mjs +3 -0
  170. package/dist/{renderer-VPK8JnSw.mjs → renderer-CIYcdZuZ.mjs} +7 -6
  171. package/dist/{renderer-VPK8JnSw.mjs.map → renderer-CIYcdZuZ.mjs.map} +1 -1
  172. package/dist/{renderer-D49-PYDo.mjs → renderer-CJNyhr_S.mjs} +2 -2
  173. package/dist/{renderer-D49-PYDo.mjs.map → renderer-CJNyhr_S.mjs.map} +1 -1
  174. package/dist/renderer-CM1_2ZWA.mjs +3 -0
  175. package/dist/{renderer-0uccAKQe.mjs → renderer-CNF10fCq.mjs} +2 -2
  176. package/dist/{renderer-0uccAKQe.mjs.map → renderer-CNF10fCq.mjs.map} +1 -1
  177. package/dist/{renderer-DxBUppHf.mjs → renderer-CStktK20.mjs} +74 -63
  178. package/dist/{renderer-DxBUppHf.mjs.map → renderer-CStktK20.mjs.map} +1 -1
  179. package/dist/renderer-CWlzudP8.mjs +3 -0
  180. package/dist/{renderer-D5GsF1LT.mjs → renderer-CcU7dVn9.mjs} +2 -2
  181. package/dist/{renderer-D5GsF1LT.mjs.map → renderer-CcU7dVn9.mjs.map} +1 -1
  182. package/dist/renderer-Cd5vzrGs.mjs +3 -0
  183. package/dist/renderer-CeJ_vDXI.mjs +3 -0
  184. package/dist/{renderer-DFKsLrUs.mjs → renderer-CepMDQ06.mjs} +1 -1
  185. package/dist/{renderer-DFKsLrUs.mjs.map → renderer-CepMDQ06.mjs.map} +1 -1
  186. package/dist/{renderer-DrgNyCSx.mjs → renderer-CfeoxM_3.mjs} +2 -2
  187. package/dist/{renderer-DrgNyCSx.mjs.map → renderer-CfeoxM_3.mjs.map} +1 -1
  188. package/dist/{renderer-BENX0vRC.mjs → renderer-CgmFh6MY.mjs} +1 -1
  189. package/dist/renderer-CjY77sB_.mjs +3 -0
  190. package/dist/{renderer-Bu0xOP_v.mjs → renderer-CoZKST2Y.mjs} +2 -2
  191. package/dist/{renderer-Bu0xOP_v.mjs.map → renderer-CoZKST2Y.mjs.map} +1 -1
  192. package/dist/{renderer-BQZniXw0.mjs → renderer-CroHPOsX.mjs} +2 -2
  193. package/dist/{renderer-BQZniXw0.mjs.map → renderer-CroHPOsX.mjs.map} +1 -1
  194. package/dist/{renderer-DabG62XS.mjs → renderer-D2XD4QYk.mjs} +1 -1
  195. package/dist/{renderer-DabG62XS.mjs.map → renderer-D2XD4QYk.mjs.map} +1 -1
  196. package/dist/renderer-D5Z6mda5.mjs +3 -0
  197. package/dist/{renderer-Bv-ljXHc.mjs → renderer-D7ztfQHX.mjs} +2 -2
  198. package/dist/{renderer-Bv-ljXHc.mjs.map → renderer-D7ztfQHX.mjs.map} +1 -1
  199. package/dist/{renderer-DjI45OYC.mjs → renderer-D7zvPHKn.mjs} +1 -1
  200. package/dist/{renderer-DjI45OYC.mjs.map → renderer-D7zvPHKn.mjs.map} +1 -1
  201. package/dist/renderer-D9NnIx7o.mjs +3 -0
  202. package/dist/{renderer-C5RhNQdr.mjs → renderer-DAMJZNtX.mjs} +10 -9
  203. package/dist/{renderer-C5RhNQdr.mjs.map → renderer-DAMJZNtX.mjs.map} +1 -1
  204. package/dist/{renderer-Bq3Geqe3.mjs → renderer-DBlPbsgi.mjs} +1 -1
  205. package/dist/renderer-DCJa7OGk.mjs +3 -0
  206. package/dist/{renderer-DDd3cjaz.mjs → renderer-DCkSR2Ne.mjs} +18 -11
  207. package/dist/renderer-DCkSR2Ne.mjs.map +1 -0
  208. package/dist/{renderer-B80s47yo.mjs → renderer-DEJwPRkR.mjs} +1 -1
  209. package/dist/{renderer-B80s47yo.mjs.map → renderer-DEJwPRkR.mjs.map} +1 -1
  210. package/dist/renderer-DGwSl7g1.mjs +3 -0
  211. package/dist/{renderer-DbaSgadp.mjs → renderer-DNNqpK7t.mjs} +2 -2
  212. package/dist/{renderer-DbaSgadp.mjs.map → renderer-DNNqpK7t.mjs.map} +1 -1
  213. package/dist/renderer-DNoRNfMm.mjs +3 -0
  214. package/dist/renderer-DOZ8bpyY.mjs +3 -0
  215. package/dist/renderer-DRHyRNU8.mjs +3 -0
  216. package/dist/{renderer-BjROyv5F.mjs → renderer-DTvfYkI9.mjs} +2 -2
  217. package/dist/{renderer-BjROyv5F.mjs.map → renderer-DTvfYkI9.mjs.map} +1 -1
  218. package/dist/{renderer-CboM4tba.mjs → renderer-DYm4duFr.mjs} +11 -5
  219. package/dist/renderer-DYm4duFr.mjs.map +1 -0
  220. package/dist/{renderer-CIvaRnP_.mjs → renderer-D_1oDOCP.mjs} +1 -1
  221. package/dist/{renderer-CIvaRnP_.mjs.map → renderer-D_1oDOCP.mjs.map} +1 -1
  222. package/dist/renderer-DdVBt8Rz.mjs +263 -0
  223. package/dist/renderer-DdVBt8Rz.mjs.map +1 -0
  224. package/dist/{renderer-BPbNLPcz.mjs → renderer-DffynBHa.mjs} +2 -2
  225. package/dist/{renderer-BPbNLPcz.mjs.map → renderer-DffynBHa.mjs.map} +1 -1
  226. package/dist/{renderer-CXJxK7HP.mjs → renderer-DjTiNeAp.mjs} +17 -4
  227. package/dist/renderer-DjTiNeAp.mjs.map +1 -0
  228. package/dist/{renderer-DP948J9X.mjs → renderer-Dju9CaeL.mjs} +18 -4
  229. package/dist/renderer-Dju9CaeL.mjs.map +1 -0
  230. package/dist/renderer-DlD85Xoi.mjs +3 -0
  231. package/dist/renderer-Dr0bgOrW.mjs +3 -0
  232. package/dist/{renderer-BTFPC3UJ.mjs → renderer-DryPrxYc.mjs} +1 -1
  233. package/dist/renderer-DurtG-Hc.mjs +3 -0
  234. package/dist/{renderer-zwxwjWqa.mjs → renderer-DxtHmyAa.mjs} +2 -2
  235. package/dist/{renderer-zwxwjWqa.mjs.map → renderer-DxtHmyAa.mjs.map} +1 -1
  236. package/dist/{renderer-h-HOoLwD.mjs → renderer-_bygZSKk.mjs} +1 -1
  237. package/dist/{renderer-h-HOoLwD.mjs.map → renderer-_bygZSKk.mjs.map} +1 -1
  238. package/dist/{renderer-BD6Jkc8j.mjs → renderer-b6sZN90h.mjs} +4 -3
  239. package/dist/{renderer-BD6Jkc8j.mjs.map → renderer-b6sZN90h.mjs.map} +1 -1
  240. package/dist/renderer-d5-F_48R.mjs +3 -0
  241. package/dist/renderer-eFv9HBmL.mjs +3 -0
  242. package/dist/renderer-iuV6wQoL.mjs +4 -0
  243. package/dist/{renderer-D5xelwpw.mjs → renderer-jkZ_IQnW.mjs} +2 -2
  244. package/dist/{renderer-D5xelwpw.mjs.map → renderer-jkZ_IQnW.mjs.map} +1 -1
  245. package/dist/renderer-n-uuWPF4.mjs +3 -0
  246. package/dist/renderer-rzccTFuY.mjs +3 -0
  247. package/dist/{renderer-DIfk6m2O.mjs → renderer-wVldKtFU.mjs} +2 -2
  248. package/dist/{renderer-DIfk6m2O.mjs.map → renderer-wVldKtFU.mjs.map} +1 -1
  249. package/dist/{renderer-o4wOvjEC.mjs → renderer-xKOVmd2O.mjs} +21 -18
  250. package/dist/renderer-xKOVmd2O.mjs.map +1 -0
  251. package/dist/renderer-y9eGFPFL.mjs +3 -0
  252. package/dist/{renderers-CP8CFWDs-BQBjaV9O.mjs → renderers-CP8CFWDs-BLgwUYX2.mjs} +2 -2
  253. package/dist/{renderers-CP8CFWDs-BQBjaV9O.mjs.map → renderers-CP8CFWDs-BLgwUYX2.mjs.map} +1 -1
  254. package/dist/signals/index.d.mts +5 -5
  255. package/dist/signals/index.mjs +4 -4
  256. package/dist/{signin-CZj4Oc5s.mjs → signin-Db08vl-g.mjs} +9 -9
  257. package/dist/{signin-CZj4Oc5s.mjs.map → signin-Db08vl-g.mjs.map} +1 -1
  258. package/dist/{sso-oidc-C0_31ThY.mjs → sso-oidc-CpLz_lIu.mjs} +9 -9
  259. package/dist/{sso-oidc-C0_31ThY.mjs.map → sso-oidc-CpLz_lIu.mjs.map} +1 -1
  260. package/dist/{sts-DD4ggEXC.mjs → sts-BQefGuml.mjs} +2 -2
  261. package/dist/{sts-nXw8RDJI.mjs → sts-Dgl0kH-t.mjs} +9 -9
  262. package/dist/{sts-nXw8RDJI.mjs.map → sts-Dgl0kH-t.mjs.map} +1 -1
  263. package/package.json +55 -54
  264. package/dist/dist-BQFap0wr.mjs.map +0 -1
  265. package/dist/dist-ZVlYkuR4.mjs.map +0 -1
  266. package/dist/dist-cjs-CmZEMtO6.mjs +0 -6
  267. package/dist/effects-axfL_C3a.mjs.map +0 -1
  268. package/dist/index-BJx_Qxc_.d.mts.map +0 -1
  269. package/dist/index-CZChQhXZ.d.mts.map +0 -1
  270. package/dist/index-WIPHLy5m.d.mts.map +0 -1
  271. package/dist/preview-engine/chunk-2XXICKQV.mjs +0 -82
  272. package/dist/preview-engine/chunk-66NVL4BN.mjs +0 -58
  273. package/dist/preview-engine/chunk-7MJVROKR.mjs +0 -98
  274. package/dist/preview-engine/chunk-7NVDTELW.mjs +0 -1
  275. package/dist/preview-engine/chunk-DMWSTYFF.mjs +0 -1
  276. package/dist/preview-engine/chunk-FKZ4XXPE.mjs +0 -1
  277. package/dist/preview-engine/chunk-JQ4WY6BZ.mjs +0 -186
  278. package/dist/preview-engine/chunk-S3P3MJYU.mjs +0 -1
  279. package/dist/preview-engine/chunk-ZJFAGIOM.mjs +0 -315
  280. package/dist/preview-engine/renderers-MZBR3MSR.mjs +0 -248
  281. package/dist/renderer-1mNREW16.mjs +0 -3
  282. package/dist/renderer-4tKI3p9c.mjs +0 -3
  283. package/dist/renderer-B3XeKN-e.mjs +0 -3
  284. package/dist/renderer-B7_6SHd8.mjs +0 -3
  285. package/dist/renderer-BDLnExoP.mjs.map +0 -1
  286. package/dist/renderer-BENF6Wts.mjs +0 -3
  287. package/dist/renderer-BMovYRoR.mjs +0 -3
  288. package/dist/renderer-BPiLdwI1.mjs +0 -3
  289. package/dist/renderer-BdyMrzUX.mjs +0 -3
  290. package/dist/renderer-BfpdekRn.mjs +0 -3
  291. package/dist/renderer-BfvBHHNr.mjs +0 -3
  292. package/dist/renderer-BtdnLjKZ.mjs +0 -3
  293. package/dist/renderer-C0q5UUY7.mjs +0 -3
  294. package/dist/renderer-CXJxK7HP.mjs.map +0 -1
  295. package/dist/renderer-CboM4tba.mjs.map +0 -1
  296. package/dist/renderer-CceiI6P7.mjs.map +0 -1
  297. package/dist/renderer-Cg-rJgwM.mjs +0 -3
  298. package/dist/renderer-CkgQArsi.mjs +0 -3
  299. package/dist/renderer-CmIySXSN.mjs.map +0 -1
  300. package/dist/renderer-CnO9KcmP.mjs +0 -3
  301. package/dist/renderer-Cnp5JCwi.mjs +0 -3
  302. package/dist/renderer-CwiCQzjW.mjs +0 -4
  303. package/dist/renderer-D2LCMZ0l.mjs +0 -3
  304. package/dist/renderer-D6bWQtr-.mjs +0 -3
  305. package/dist/renderer-DBGy4qIh.mjs +0 -3
  306. package/dist/renderer-DBRnvHBV.mjs +0 -3
  307. package/dist/renderer-DDd3cjaz.mjs.map +0 -1
  308. package/dist/renderer-DJgrcu3v.mjs +0 -3
  309. package/dist/renderer-DP948J9X.mjs.map +0 -1
  310. package/dist/renderer-DTpBOlDA.mjs +0 -3
  311. package/dist/renderer-DWwIX4Mr.mjs +0 -3
  312. package/dist/renderer-DXyaswab.mjs.map +0 -1
  313. package/dist/renderer-DfnacE0H.mjs +0 -3
  314. package/dist/renderer-RA8pee2T.mjs +0 -3
  315. package/dist/renderer-eH4u4-2c.mjs +0 -3
  316. package/dist/renderer-eWOqFUz9.mjs +0 -3
  317. package/dist/renderer-o4wOvjEC.mjs.map +0 -1
@@ -0,0 +1,46 @@
1
+ import{a as k}from"./chunk-XOEEGC4Z.mjs";import{b as B,c as D}from"./chunk-IYVN2QEL.mjs";import{a as h}from"./chunk-NQZKBFC6.mjs";import{e as R}from"./chunk-36YGYLKD.mjs";import{t as F}from"./chunk-ZNGOAGAI.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();u();var A=new Map;function I(t){let e=A.get(t);return e||(e=(async()=>{try{let r=await R.acquire(t);try{let n=await r.getPrimaryVideoTrack();return n?{width:n.displayWidth,height:n.displayHeight}:null}finally{R.release(t)}}catch{return null}})(),A.set(t,e)),e}u();var K=k().field("angle",h.number().default(90),{bindable:!0,dataTypes:["Number","Signal"],label:"Angle Signal",description:"Rotation in degrees about the frame center, clockwise. Any value; 90 / 180 / 270 fix footage shot sideways or upside down."}).field("fit",h.enum(["cover","contain","fill"]).default("cover"),{description:"How the rotated source sits in the output: cover fills it (cropping the overhang), contain shows all of it (transparent margins), fill keeps the unrotated source stretched to the output and only turns it."}).field("scale",h.number().min(.01).max(20).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Scale Signal",description:"Extra zoom applied after the fit (1 = exactly fitted)."}).build(),oe=K.schema,ae=h.union([B,D]);function O(t,e,r,n,a,o){if(o==="fill")return{width:r,height:n};let s=a*Math.PI/180,c=Math.abs(Math.cos(s)),i=Math.abs(Math.sin(s)),g=o==="cover"?Math.max((c*r+i*n)/t,(i*r+c*n)/e):Math.min(r/(c*t+i*e),n/(i*t+c*e));return{width:t*g,height:e*g}}var Q=`
2
+ struct RotateUniforms {
3
+ outSize: vec2<f32>,
4
+ size : vec2<f32>,
5
+ cs : vec2<f32>,
6
+ _pad : vec2<f32>,
7
+ };
8
+
9
+ @group(0) @binding(0) var<uniform> u : RotateUniforms;
10
+ @group(1) @binding(0) var tex : texture_2d<f32>;
11
+ @group(1) @binding(1) var samp : sampler;
12
+
13
+ struct VSOut {
14
+ @builtin(position) pos : vec4<f32>,
15
+ @location(0) uv : vec2<f32>,
16
+ };
17
+
18
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
19
+ var pos = array<vec2<f32>, 4>(
20
+ vec2<f32>(-1.0, 1.0),
21
+ vec2<f32>(1.0, 1.0),
22
+ vec2<f32>(-1.0, -1.0),
23
+ vec2<f32>(1.0, -1.0)
24
+ );
25
+ var uv = array<vec2<f32>, 4>(
26
+ vec2<f32>(0.0, 0.0),
27
+ vec2<f32>(1.0, 0.0),
28
+ vec2<f32>(0.0, 1.0),
29
+ vec2<f32>(1.0, 1.0)
30
+ );
31
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
32
+ }
33
+
34
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
35
+ let p = (in.uv - vec2<f32>(0.5)) * u.outSize;
36
+ // Clockwise on screen (y down): undo it with the transpose.
37
+ let q = vec2<f32>(u.cs.x * p.x + u.cs.y * p.y, -u.cs.y * p.x + u.cs.x * p.y);
38
+ let uv = q / u.size + vec2<f32>(0.5);
39
+ // Distance (output px) inside the source rectangle's nearest edge.
40
+ let edge = (vec2<f32>(0.5) - abs(uv - vec2<f32>(0.5))) * u.size;
41
+ let coverage = clamp(min(edge.x, edge.y) + 0.5, 0.0, 1.0);
42
+ let color = textureSampleLevel(tex, samp, clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0)), 0.0);
43
+ // Premultiplied: coverage scales every channel.
44
+ return color * coverage;
45
+ }
46
+ `,C=new WeakMap,d=new Float32Array(8);function X(t,e){let r=C.get(t);if(r)return r;let n=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),a=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),o=t.createShaderModule({code:Q}),s=t.createRenderPipeline({layout:t.createPipelineLayout({bindGroupLayouts:[n,a]}),vertex:{module:o,entryPoint:"vs"},fragment:{module:o,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),c={uniformLayout:n,textureLayout:a,pipeline:s};return C.set(t,c),c}function E(t,e,r,n){let a=typeof t=="function"?t(r,n):t!==null&&typeof t=="object"?"get"in t&&typeof t.get=="function"?t.get({frame:r,fps:n}):"value"in t?t.value:t:t,o=Number(a??e);return Number.isFinite(o)?o:e}async function Z(t){for(let e=t;e;){let{width:r,height:n}=e.metadata??{};if(r&&n)return{width:r,height:n};let a=e.operation;if(a.op==="source"){let o=typeof a.url=="string"?a.url:a.source;return typeof o=="string"?I(o):null}e=e.children?.[0]}return null}var _=async t=>{let{ctx:e,encoder:r,pass:n,targetView:a,targetTexture:o,targetWidth:s,targetHeight:c,props:i,drawChild:g}=t,l=i.virtualMedia?.operation;if(l?.op!=="Rotate"||!l)return;let v=i.virtualMedia.children?.[0];if(!v)return;n.end();let W=i.frame??0,P=i.compositionFrame??W,G=i.fps||30,y=s,b=c,w=await Z(v),p=w?.width??i.containerWidth??y,f=w?.height??i.containerHeight??b,x=e.renderer.getTemporaryTexture(p,f,[...i.excludeTextures||[],o]),M=x.createView();e.renderer.beginFrame(r,M,{r:0,g:0,b:0,a:0},p,f,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:p,height:f}),e.renderer.pushIdentity(),await g(v,{...i,containerWidth:p,containerHeight:f,virtualMedia:v},M,x,p,f),e.renderer.popTransform(),e.renderer.popScissor();let T=E(l.angle,90,P,G),V=Math.max(.01,E(l.scale,1,P,G)),z=O(p,f,y,b,T,l.fit??"cover"),N=T*Math.PI/180;d[0]=y,d[1]=b,d[2]=z.width*V,d[3]=z.height*V,d[4]=Math.cos(N),d[5]=Math.sin(N);let{pipeline:q,uniformLayout:j,textureLayout:H}=X(e.device,e.renderer.format),Y=e.device.createBindGroup({layout:j,entries:[{binding:0,resource:{buffer:e.renderer.getTemporaryBuffer(d)}}]}),J=e.device.createBindGroup({layout:H,entries:[{binding:0,resource:x.createView()},{binding:1,resource:e.renderer.samplerCache.getSampler(e.device)}]}),U=e.renderer.getTemporaryTexture(y,b,[x,o,...i.excludeTextures||[]]),m=r.beginRenderPass({colorAttachments:[{view:U.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});m.setPipeline(q),m.setBindGroup(0,Y),m.setBindGroup(1,J),m.draw(4),m.end();let L=e.renderer.beginFrame(r,a,{r:0,g:0,b:0,a:0},s,c,"load");e.renderer.drawTexture(L,U,{x:0,y:0,width:s,height:c},{opacity:l.opacity??1}),t.pass=L};var he=F({WebGPURenderer:_});export{he as a};
@@ -0,0 +1 @@
1
+ import{d as M,e as L}from"./chunk-BVF64D6H.mjs";L();var G=class{deviceCaches=new WeakMap;devicePromises=new WeakMap;rawDataCache=new Map;rawDataPromises=new Map;listeners=new Set;onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(e){for(let t of this.listeners)try{t(e)}catch{}}getAnyMatching(e,t){let a=this.getCache(t),r=Array.from(a.keys());for(let o=r.length-1;o>=0;o--){let u=r[o];if(u.startsWith(e))return a.get(u)}}getOrCreateRawDataPromise(e){let t=this.rawDataPromises.get(e);if(!t){let a,r;t={promise:new Promise((u,l)=>{a=u,r=l}),resolve:a,reject:r},this.rawDataPromises.set(e,t)}return t}rejectRawDataPromise(e,t){let a=this.rawDataPromises.get(e);a&&(a.reject(t),this.rawDataPromises.delete(e)),this.emit(e)}getCache(e){let t=this.deviceCaches.get(e);return t||(t=new Map,this.deviceCaches.set(e,t)),t}getPromises(e){let t=this.devicePromises.get(e);return t||(t=new Map,this.devicePromises.set(e,t)),t}get(e,t){return this.getCache(t).get(e)}set(e,t,a){let r=this.getCache(t),o=r.get(e);if(o&&o!==a){if(o.texture!==a.texture){let u=o.texture;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}if(o.vertexBuffer!==a.vertexBuffer){let u=o.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}}r.set(e,a)}getRawData(e){return this.rawDataCache.get(e)}getAnyRawData(){let e=Array.from(this.rawDataCache.values());return e[e.length-1]}createOrUpdate(e,t,a,r,o){let u={points:a,size:r,type:o};this.rawDataCache.set(e,u);let l=this.rawDataPromises.get(e);l&&(l.resolve(u),this.rawDataPromises.delete(e));let p=[];if(o==="3D"){let s=0;for(let i=0;i<r;i++)for(let n=0;n<r;n++)for(let d=0;d<r;d++){let c=d/(r-1||1),h=n/(r-1||1),g=i/(r-1||1),y=a[s]||[c,h,g];s++,p.push(c-.5,h-.5,g-.5),p.push(y[0],y[1],y[2])}}else for(let s=0;s<a.length;s++){let i=s/(a.length-1||1),n=a[s];p.push(i-.5,0,0),p.push(n[0],n[1],n[2])}let v=new Float32Array(p),f=this.get(e,t),m=f?.texture;if(!m||f?.size!==r||f?.type!==o){if(f){let s=f.texture;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}o==="3D"?m=t.createTexture({size:[r,r,r],dimension:"3d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}):m=t.createTexture({size:[r,1,1],dimension:"1d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST})}if(o==="3D"){let i=Math.ceil(r*4/256)*256,n=new Uint8Array(i*r*r),d=0;for(let c=0;c<r;c++)for(let h=0;h<r;h++)for(let g=0;g<r;g++){let y=g/(r-1||1),D=h/(r-1||1),C=c/(r-1||1),U=a[d]||[y,D,C];d++;let b=g*4+h*i+c*i*r;n[b]=Math.max(0,Math.min(255,Math.round(U[0]*255))),n[b+1]=Math.max(0,Math.min(255,Math.round(U[1]*255))),n[b+2]=Math.max(0,Math.min(255,Math.round(U[2]*255))),n[b+3]=255}t.queue.writeTexture({texture:m},n,{bytesPerRow:i,rowsPerImage:r},[r,r,r])}else{let i=new Uint8Array(r*4);for(let n=0;n<r;n++){let d=a[n]||[n/(r-1||1),0,0],c=n*4;i[c]=Math.max(0,Math.min(255,Math.round(d[0]*255))),i[c+1]=Math.max(0,Math.min(255,Math.round(d[1]*255))),i[c+2]=Math.max(0,Math.min(255,Math.round(d[2]*255))),i[c+3]=255}t.queue.writeTexture({texture:m},i,{},[r,1,1])}let P=f?.vertexBuffer;if(!P||P.size<v.byteLength){if(f){let s=f.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}P=t.createBuffer({size:v.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST})}t.queue.writeBuffer(P,0,v);let x={texture:m,type:o,size:r,vertexBuffer:P,vertexCount:a.length};return this.set(e,t,x),this.emit(e),x}async getOrLoad(e,t,a){if(a?.aborted)throw new DOMException("The operation was aborted.","AbortError");let r=this.get(e,t);if(r)return r;let o=this.rawDataCache.get(e);if(o)return this.createOrUpdate(e,t,o.points,o.size,o.type);let u=this.getPromises(t),l=u.get(e);return l||(l=(async()=>{if(e.startsWith("runtime://")){let x=this.getOrCreateRawDataPromise(e),s,i=new Promise((c,h)=>{let g=()=>{s=setTimeout(()=>{(()=>{if(typeof window<"u"){let D=window.renderer_delayRenderHandles;if(Array.isArray(D)&&D.length>0)return!0}if(typeof globalThis<"u"){let D=globalThis.__GATEWAI_DELAYS__;if(D instanceof Set&&D.size>0)return!0}return!1})()?g():h(new Error(`Timeout waiting for runtime LUT "${e}" after 5000ms.`))},5e3)};g()}),n,d;a&&(d=new Promise((c,h)=>{n=()=>{h(new DOMException("The operation was aborted.","AbortError"))},a.addEventListener("abort",n)}));try{let c=[x.promise,i];d&&c.push(d);let h=await Promise.race(c);return this.createOrUpdate(e,t,h.points,h.size,h.type)}finally{clearTimeout(s),n&&a&&a.removeEventListener("abort",n)}}let v=(await A(e,a)).split(/\r?\n/),f=33,m="3D",P=[];for(let x of v){let s=x.trim();if(!s||s.startsWith("#"))continue;if(s.startsWith("LUT_3D_SIZE")){let n=s.split(/\s+/);f=parseInt(n[1],10),m="3D";continue}if(s.startsWith("LUT_1D_SIZE")){let n=s.split(/\s+/);f=parseInt(n[1],10),m="1D";continue}if(s.match(/^[a-zA-Z]/))continue;let i=s.split(/\s+/).map(Number);i.length===3&&i.every(n=>!isNaN(n))&&P.push([i[0],i[1],i[2]])}if(P.length===0)throw new Error("No valid color mappings found in LUT file.");return this.createOrUpdate(e,t,P,f,m)})(),u.set(e,l),l.catch(()=>{u.delete(e)})),l}evict(e,t){let a=this.getCache(t),r=a.get(e);if(r){let o=r.texture,u=r.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{o.destroy()}catch{}try{u.destroy()}catch{}}).catch(()=>{}),a.delete(e)}this.getPromises(t).delete(e)}hasPending(e){let t=this.devicePromises.get(e);return t!==void 0&&t.size>0||this.rawDataPromises.size>0}async awaitAllPending(e){let t=Array.from(this.getPromises(e).values());await Promise.all(t)}destroy(){this.deviceCaches=new WeakMap,this.devicePromises=new WeakMap,this.rawDataCache.clear(),this.rawDataPromises.clear()}},T="__GATEWAI_LUT_STORE__",R=(globalThis[T]||(globalThis[T]=new G),globalThis[T]);async function A(w,e){let t=typeof M<"u"&&!!M.versions?.node,a=w.startsWith("/")||w.startsWith("file://");if(t&&a){let{readFile:o}=await import("./shims/fs-promises.mjs"),{fileURLToPath:u}=await import("./shims/url.mjs"),l=w.startsWith("file://")?u(w):w;return o(l,{encoding:"utf8",signal:e})}let r=await fetch(w,{signal:e});if(!r.ok)throw new Error(`Failed to load LUT file: ${r.statusText}`);return r.text()}export{R as a};
@@ -1,4 +1,4 @@
1
- import{a as I}from"./chunk-CNSHAFEA.mjs";import{t as $}from"./chunk-ZNGOAGAI.mjs";import{d as H}from"./chunk-6YJP57MZ.mjs";import{e as C}from"./chunk-BVF64D6H.mjs";C();C();var ye=`
1
+ import{a as F}from"./chunk-CNSHAFEA.mjs";import{t as J}from"./chunk-ZNGOAGAI.mjs";import{d as _}from"./chunk-6YJP57MZ.mjs";import{e as M}from"./chunk-BVF64D6H.mjs";M();M();var Se=`
2
2
  struct HalftoneUniforms {
3
3
  mode : f32, // 0 = Monochrome, 1 = CMYK
4
4
  dotShape : f32, // 0 = Circle, 1 = Diamond, 2 = Line, 3 = Square
@@ -272,4 +272,4 @@ fn evalDotCoverage(
272
272
  let finalRgb = mix(unpremult, screenedRgb, clamp(effectOpacity, 0.0, 1.0));
273
273
  return vec4<f32>(finalRgb * sourceCol.a, sourceCol.a);
274
274
  }
275
- `,j=new WeakMap;function be(i){let e=j.get(i);if(e)return e;let n=i.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),u=i.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),l=i.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:7,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:8,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={uniformLayout:n,singleTextureLayout:u,signalTextureLayout:l,pipelineCache:new Map},j.set(i,e),e}function Se(i,e){let n=be(i),u=`halftone_${e}`,l=n.pipelineCache.get(u);if(!l){let m=i.createShaderModule({label:`halftone_${e}.wgsl`,code:ye});l=i.createRenderPipeline({label:`HalftonePipeline_${e}`,layout:i.createPipelineLayout({bindGroupLayouts:[n.uniformLayout,n.singleTextureLayout,n.signalTextureLayout]}),vertex:{module:m,entryPoint:"vs"},fragment:{module:m,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),n.pipelineCache.set(u,l)}return{halftonePipeline:l,uniformLayout:n.uniformLayout,singleTextureLayout:n.singleTextureLayout,signalTextureLayout:n.signalTextureLayout}}var J=async i=>{let{ctx:e,encoder:n,pass:u,targetView:l,targetTexture:m,targetWidth:A,targetHeight:M,props:r,drawChild:Q}=i,Y=r.frame??0,_=r.fps||30,a=r.virtualMedia?.operation;if(a?.op!=="HalftoneScreen"||!a)return;let T=r.virtualMedia.children?.[0];if(!T)return;u.end();let d=A,f=M,X=a.inputs?Object.keys(a.inputs)[0]:"halftone_node",o=(c,v,k,K)=>{let me=`${c}HandleId`,E=a[me],g=E?a.inputs?.[E]:null,W=!!(g?.connectionValid&&g.outputItem?.type==="Signal"),q=W&&g?.outputItem?.data?g.outputItem.data:null,h=v,z=!1;return W?q&&(h=Math.max(k,Math.min(K,Number(q.offset??0))),z=!0):g?.connectionValid&&g.outputItem?.type==="Number"?h=Math.max(k,Math.min(K,Number(g.outputItem.data??v))):h=Math.max(k,Math.min(K,Number(a[c]??v))),{val:h,hasStaticSig:z,sd:q}},P=o("frequency",30,1,200),G=o("angle",45,0,360),U=o("contrast",1,.1,5),R=o("cyanAngle",15,0,360),L=o("magentaAngle",75,0,360),V=o("yellowAngle",0,0,360),D=o("blackAngle",45,0,360),w=o("opacity",1,0,1),y=e.renderer.getTemporaryTexture(d,f,[...r.excludeTextures||[],m]),B=y.createView();e.renderer.beginFrame(n,B,{r:0,g:0,b:0,a:0},d,f,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:d,height:f}),e.renderer.pushIdentity(),await Q(T,{...r,virtualMedia:T},B,y,d,f),e.renderer.popTransform(),e.renderer.popScissor();let{halftonePipeline:Z,uniformLayout:ee,singleTextureLayout:te,signalTextureLayout:ne}=Se(e.device,e.renderer.format),F=e.renderer.samplerCache.getSampler(e.device),ae=r.elapsedMs!==void 0?r.elapsedMs/1e3:Y/_,re=r.virtualMedia?.metadata?.durationMs?r.virtualMedia.metadata.durationMs/1e3:r.durationMs!==void 0?r.durationMs/1e3:0,s=(c,v)=>c.hasStaticSig&&c.sd?H.getOrCreate2DTextureView(e.device,n,c.sd.nodeId??`${X}_${v}`,ae,re,c.sd,d,f,r.renderId,Y,_):H.getDummy1x1TextureView(e.device),ie=s(P,"freq_sig"),le=s(G,"angle_sig"),oe=s(U,"contrast_sig"),se=s(R,"cyan_sig"),ce=s(L,"mag_sig"),ge=s(V,"yel_sig"),ue=s(D,"blk_sig"),de=s(w,"opacity_sig"),fe=a.mode==="CMYK"?1:0,b=0;a.dotShape==="Diamond"?b=1:a.dotShape==="Line"?b=2:a.dotShape==="Square"&&(b=3);let S=I(a.dotColor??"#000000"),x=I(a.paperColor??"#ffffff"),t=new Float32Array(28);t[0]=fe,t[1]=b,t[2]=P.val,t[3]=G.val,t[4]=U.val,t[5]=a.invert?1:0,t[6]=a.smooth!==!1?1:0,t[7]=w.val,t[8]=S.r,t[9]=S.g,t[10]=S.b,t[11]=S.a,t[12]=x.r,t[13]=x.g,t[14]=x.b,t[15]=x.a,t[16]=R.val,t[17]=L.val,t[18]=V.val,t[19]=D.val,t[20]=P.hasStaticSig?1:0,t[21]=G.hasStaticSig?1:0,t[22]=U.hasStaticSig?1:0,t[23]=R.hasStaticSig?1:0,t[24]=L.hasStaticSig?1:0,t[25]=V.hasStaticSig?1:0,t[26]=D.hasStaticSig?1:0,t[27]=w.hasStaticSig?1:0;let pe=e.renderer.getTemporaryBuffer(t),N=e.renderer.getTemporaryTexture(d,f,[y,m,...r.excludeTextures||[]]),p=n.beginRenderPass({colorAttachments:[{view:N.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});p.setPipeline(Z),p.setBindGroup(0,e.device.createBindGroup({layout:ee,entries:[{binding:0,resource:{buffer:pe}}]})),p.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,te,y,F)),p.setBindGroup(2,e.device.createBindGroup({layout:ne,entries:[{binding:0,resource:ie},{binding:1,resource:le},{binding:2,resource:oe},{binding:3,resource:se},{binding:4,resource:ce},{binding:5,resource:ge},{binding:6,resource:ue},{binding:7,resource:de},{binding:8,resource:F}]})),p.draw(4),p.end();let O=e.renderer.beginFrame(n,l,{r:0,g:0,b:0,a:0},A,M,"load");e.renderer.drawTexture(O,N,{x:0,y:0,width:A,height:M},{opacity:1}),i.pass=O};var Pe=$({WebGPURenderer:J});export{Pe as a};
275
+ `,Q=new WeakMap;function xe(l){let e=Q.get(l);if(e)return e;let n=l.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),d=l.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),o=l.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:7,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:8,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={uniformLayout:n,singleTextureLayout:d,signalTextureLayout:o,pipelineCache:new Map},Q.set(l,e),e}function he(l,e){let n=xe(l),d=`halftone_${e}`,o=n.pipelineCache.get(d);if(!o){let v=l.createShaderModule({label:`halftone_${e}.wgsl`,code:Se});o=l.createRenderPipeline({label:`HalftonePipeline_${e}`,layout:l.createPipelineLayout({bindGroupLayouts:[n.uniformLayout,n.singleTextureLayout,n.signalTextureLayout]}),vertex:{module:v,entryPoint:"vs"},fragment:{module:v,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),n.pipelineCache.set(d,o)}return{halftonePipeline:o,uniformLayout:n.uniformLayout,singleTextureLayout:n.singleTextureLayout,signalTextureLayout:n.signalTextureLayout}}var X=async l=>{let{ctx:e,encoder:n,pass:d,targetView:o,targetTexture:v,targetWidth:T,targetHeight:P,props:a,drawChild:Z}=l,R=a.frame??0,B=a.compositionFrame??R,y=a.fps||30,r=a.virtualMedia?.operation;if(r?.op!=="HalftoneScreen"||!r)return;let G=a.virtualMedia.children?.[0];if(!G)return;d.end();let f=T,p=P,ee=r.inputs?Object.keys(r.inputs)[0]:"halftone_node",s=(u,b,H,I)=>{let be=`${u}HandleId`,z=r[be],g=z?r.inputs?.[z]:null,$=!!(g?.connectionValid&&g.outputItem?.type==="Signal"),Y=$&&g?.outputItem?.data?g.outputItem.data:null,A=b,j=!1;if($)Y&&(A=Math.max(H,Math.min(I,Number(Y.offset??0))),j=!0);else if(g?.connectionValid&&g.outputItem?.type==="Number")A=Math.max(H,Math.min(I,Number(g.outputItem.data??b)));else{let i=r[u];i!=null&&(typeof i=="object"?"get"in i&&typeof i.get=="function"?i=i.get({frame:B,fps:y}):"value"in i&&(i=i.value):typeof i=="function"&&(i=i(B,y))),A=Math.max(H,Math.min(I,Number(i??b)))}return{val:A,hasStaticSig:j,sd:Y}},U=s("frequency",30,1,200),L=s("angle",45,0,360),V=s("contrast",1,.1,5),w=s("cyanAngle",15,0,360),k=s("magentaAngle",75,0,360),D=s("yellowAngle",0,0,360),K=s("blackAngle",45,0,360),q=s("opacity",1,0,1),S=e.renderer.getTemporaryTexture(f,p,[...a.excludeTextures||[],v]),N=S.createView();e.renderer.beginFrame(n,N,{r:0,g:0,b:0,a:0},f,p,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:f,height:p}),e.renderer.pushIdentity(),await Z(G,{...a,virtualMedia:G},N,S,f,p),e.renderer.popTransform(),e.renderer.popScissor();let{halftonePipeline:te,uniformLayout:ne,singleTextureLayout:ae,signalTextureLayout:re}=he(e.device,e.renderer.format),O=e.renderer.samplerCache.getSampler(e.device),ie=a.elapsedMs!==void 0?a.elapsedMs/1e3:R/y,le=a.virtualMedia?.metadata?.durationMs?a.virtualMedia.metadata.durationMs/1e3:a.durationMs!==void 0?a.durationMs/1e3:0,c=(u,b)=>u.hasStaticSig&&u.sd?_.getOrCreate2DTextureView(e.device,n,u.sd.nodeId??`${ee}_${b}`,ie,le,u.sd,f,p,a.renderId,R,y):_.getDummy1x1TextureView(e.device),oe=c(U,"freq_sig"),se=c(L,"angle_sig"),ce=c(V,"contrast_sig"),ue=c(w,"cyan_sig"),ge=c(k,"mag_sig"),de=c(D,"yel_sig"),fe=c(K,"blk_sig"),pe=c(q,"opacity_sig"),me=r.mode==="CMYK"?1:0,x=0;r.dotShape==="Diamond"?x=1:r.dotShape==="Line"?x=2:r.dotShape==="Square"&&(x=3);let h=F(r.dotColor??"#000000"),C=F(r.paperColor??"#ffffff"),t=new Float32Array(28);t[0]=me,t[1]=x,t[2]=U.val,t[3]=L.val,t[4]=V.val,t[5]=r.invert?1:0,t[6]=r.smooth!==!1?1:0,t[7]=q.val,t[8]=h.r,t[9]=h.g,t[10]=h.b,t[11]=h.a,t[12]=C.r,t[13]=C.g,t[14]=C.b,t[15]=C.a,t[16]=w.val,t[17]=k.val,t[18]=D.val,t[19]=K.val,t[20]=U.hasStaticSig?1:0,t[21]=L.hasStaticSig?1:0,t[22]=V.hasStaticSig?1:0,t[23]=w.hasStaticSig?1:0,t[24]=k.hasStaticSig?1:0,t[25]=D.hasStaticSig?1:0,t[26]=K.hasStaticSig?1:0,t[27]=q.hasStaticSig?1:0;let ve=e.renderer.getTemporaryBuffer(t),E=e.renderer.getTemporaryTexture(f,p,[S,v,...a.excludeTextures||[]]),m=n.beginRenderPass({colorAttachments:[{view:E.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});m.setPipeline(te),m.setBindGroup(0,e.device.createBindGroup({layout:ne,entries:[{binding:0,resource:{buffer:ve}}]})),m.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,ae,S,O)),m.setBindGroup(2,e.device.createBindGroup({layout:re,entries:[{binding:0,resource:oe},{binding:1,resource:se},{binding:2,resource:ce},{binding:3,resource:ue},{binding:4,resource:ge},{binding:5,resource:de},{binding:6,resource:fe},{binding:7,resource:pe},{binding:8,resource:O}]})),m.draw(4),m.end();let W=e.renderer.beginFrame(n,o,{r:0,g:0,b:0,a:0},T,P,"load");e.renderer.drawTexture(W,E,{x:0,y:0,width:T,height:P},{opacity:1}),l.pass=W};var Ge=J({WebGPURenderer:X});export{Ge as a};
@@ -1,4 +1,4 @@
1
- import{a as S}from"./chunk-FKZ4XXPE.mjs";import{t as E}from"./chunk-ZNGOAGAI.mjs";import{d as D}from"./chunk-6YJP57MZ.mjs";import{e as G}from"./chunk-BVF64D6H.mjs";G();G();var k=`
1
+ import{a as S}from"./chunk-EJGLUZMW.mjs";import{t as E}from"./chunk-ZNGOAGAI.mjs";import{d as D}from"./chunk-6YJP57MZ.mjs";import{e as G}from"./chunk-BVF64D6H.mjs";G();G();var k=`
2
2
  struct LutUniforms {
3
3
  intensity : f32,
4
4
  lutSize : f32,
@@ -1,4 +1,4 @@
1
- import{t as N}from"./chunk-ZNGOAGAI.mjs";import{d as w}from"./chunk-6YJP57MZ.mjs";import{e as T}from"./chunk-BVF64D6H.mjs";T();T();function z(t,e,r,u){if(t==null)return e;if(typeof t=="object"&&t!==null){if("get"in t&&typeof t.get=="function")try{let o=t.get({frame:r,fps:u,time:u>0?r/u:0,duration:0,durationMs:0,progress:0,deltaTime:u>0?1/u:0}),p=Number(o);if(Number.isFinite(p))return p}catch{}if("value"in t){let o=Number(t.value);if(Number.isFinite(o))return o}}else if(typeof t=="function")try{let o=t(r,u),p=Number(o);if(Number.isFinite(p))return p}catch{}let s=Number(t);return Number.isFinite(s)?s:e}function h(t,e,r,u,s,o=0,p=30){let y=`${e}HandleId`,n=t[y],c=n?t.inputs?.[n]:null,l=!!(c?.connectionValid&&c.outputItem?.type==="Signal"),i=l?c?.outputItem?.data:null,a=r;if(l)i&&typeof i=="object"&&"offset"in i&&(a=Number(i.offset??r));else if(c?.connectionValid&&c.outputItem?.type==="Number")a=Number(c.outputItem.data??r);else{let x=t[e]??t.signals?.[e];a=z(x,r,o,p)}return a=Math.max(u,Math.min(s,a)),{hasSignal:l,sd:i,value:a}}var J=`
1
+ import{t as B}from"./chunk-ZNGOAGAI.mjs";import{d as G}from"./chunk-6YJP57MZ.mjs";import{e as T}from"./chunk-BVF64D6H.mjs";T();T();function J(t,e,r,a){if(t==null)return e;if(typeof t=="object"&&t!==null){if("get"in t&&typeof t.get=="function")try{let o=t.get({frame:r,fps:a,time:a>0?r/a:0,duration:0,durationMs:0,progress:0,deltaTime:a>0?1/a:0}),l=Number(o);if(Number.isFinite(l))return l}catch{}if("value"in t){let o=Number(t.value);if(Number.isFinite(o))return o}}else if(typeof t=="function")try{let o=t(r,a),l=Number(o);if(Number.isFinite(l))return l}catch{}let i=Number(t);return Number.isFinite(i)?i:e}function y(t,e,r,a,i,o=0,l=30){let x=`${e}HandleId`,n=t[x],c=n?t.inputs?.[n]:null,m=!!(c?.connectionValid&&c.outputItem?.type==="Signal"),s=m?c?.outputItem?.data:null,u=r;if(m)s&&typeof s=="object"&&"offset"in s&&(u=Number(s.offset??r));else if(c?.connectionValid&&c.outputItem?.type==="Number")u=Number(c.outputItem.data??r);else{let p=t[e]??t.signals?.[e];u=J(p,r,o,l)}return u=Math.max(a,Math.min(i,u)),{hasSignal:m,sd:s,value:u}}var Q=`
2
2
  struct ModulateUniforms {
3
3
  hue : f32,
4
4
  brightness : f32,
@@ -181,4 +181,4 @@ fn apply_sepia(c: vec4<f32>, s: f32) -> vec4<f32> {
181
181
 
182
182
  return color;
183
183
  }
184
- `,B=new WeakMap,f=new Float32Array(12);function Q(t){let e=B.get(t);if(e)return e;let r=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),u=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),s=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={modulateUniformLayout:r,singleTextureLayout:u,modulateSignalsLayout:s,pipelineCache:new Map},B.set(t,e),e}function X(t,e){let r=Q(t),u=`modulate_${e}`,s=r.pipelineCache.get(u);if(!s){let o=t.createShaderModule({label:`modulate_static_${e}.wgsl`,code:J});s=t.createRenderPipeline({label:`ModulatePipeline_static_${e}`,layout:t.createPipelineLayout({bindGroupLayouts:[r.modulateUniformLayout,r.singleTextureLayout,r.modulateSignalsLayout]}),vertex:{module:o,entryPoint:"vs"},fragment:{module:o,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),r.pipelineCache.set(u,s)}return{modulatePipeline:s,modulateUniformLayout:r.modulateUniformLayout,singleTextureLayout:r.singleTextureLayout,modulateSignalsLayout:r.modulateSignalsLayout}}var E=async t=>{let{ctx:e,encoder:r,pass:u,targetView:s,targetTexture:o,targetWidth:p,targetHeight:y,props:n,drawChild:c}=t,l=n.frame??0,i=n.fps||30,a=n.virtualMedia?.operation;if(a?.op!=="Modulate"||!a)return;let x=n.virtualMedia.children?.[0];if(!x)return;u.end();let G=h(a,"hue",0,0,360,l,i),M=h(a,"brightness",1,0,2,l,i),R=h(a,"contrast",1,0,2,l,i),_=h(a,"exposure",0,-2,2,l,i),P=h(a,"saturation",1,0,2,l,i),L=h(a,"sepia",0,0,1,l,i),g=p,m=y,S=e.renderer.getTemporaryTexture(g,m,[...n.excludeTextures||[],o]),V=S.createView();e.renderer.beginFrame(r,V,{r:0,g:0,b:0,a:0},g,m,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:g,height:m}),e.renderer.pushIdentity(),await c(x,{...n,virtualMedia:x},V,S,g,m),e.renderer.popTransform(),e.renderer.popScissor();let{modulatePipeline:k,modulateUniformLayout:D,singleTextureLayout:O,modulateSignalsLayout:C}=X(e.device,e.renderer.format),A=e.renderer.samplerCache.getSampler(e.device),U=e.renderer.getTemporaryTexture(g,m,[S,o,...n.excludeTextures||[]]);f[0]=G.value,f[1]=M.value,f[2]=R.value,f[3]=_.value,f[4]=P.value,f[5]=L.value;let H=[{name:"hue",info:G,idx:6},{name:"brightness",info:M,idx:7},{name:"contrast",info:R,idx:8},{name:"exposure",info:_,idx:9},{name:"saturation",info:P,idx:10},{name:"sepia",info:L,idx:11}],d=[],W=n.elapsedMs!==void 0?n.elapsedMs/1e3:l/i,$=n.virtualMedia?.metadata?.durationMs?n.virtualMedia.metadata.durationMs/1e3:n.durationMs!==void 0?n.durationMs/1e3:0;for(let v of H){let F=!!(v.info.hasSignal&&v.info.sd);if(f[v.idx]=F?1:0,F){let K=w.getOrCreate2DTextureView(e.device,r,v.info.sd.nodeId??`modulate_${v.name}_sig`,W,$,v.info.sd,g,m,n.renderId,l,i);d.push(K)}else d.push(w.getDummy1x1TextureView(e.device))}let j=e.renderer.getTemporaryBuffer(f),b=r.beginRenderPass({colorAttachments:[{view:U.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});b.setPipeline(k),b.setBindGroup(0,e.device.createBindGroup({layout:D,entries:[{binding:0,resource:{buffer:j}}]})),b.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,O,S,A)),b.setBindGroup(2,e.device.createBindGroup({layout:C,entries:[{binding:0,resource:d[0]},{binding:1,resource:d[1]},{binding:2,resource:d[2]},{binding:3,resource:d[3]},{binding:4,resource:d[4]},{binding:5,resource:d[5]},{binding:6,resource:A}]})),b.draw(4),b.end();let I=e.renderer.beginFrame(r,s,{r:0,g:0,b:0,a:0},p,y,"load");e.renderer.drawTexture(I,U,{x:0,y:0,width:p,height:y},{opacity:a.opacity??1}),t.pass=I};var ae=N({WebGPURenderer:E});export{ae as a};
184
+ `,E=new WeakMap,f=new Float32Array(12);function X(t){let e=E.get(t);if(e)return e;let r=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),a=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),i=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={modulateUniformLayout:r,singleTextureLayout:a,modulateSignalsLayout:i,pipelineCache:new Map},E.set(t,e),e}function Y(t,e){let r=X(t),a=`modulate_${e}`,i=r.pipelineCache.get(a);if(!i){let o=t.createShaderModule({label:`modulate_static_${e}.wgsl`,code:Q});i=t.createRenderPipeline({label:`ModulatePipeline_static_${e}`,layout:t.createPipelineLayout({bindGroupLayouts:[r.modulateUniformLayout,r.singleTextureLayout,r.modulateSignalsLayout]}),vertex:{module:o,entryPoint:"vs"},fragment:{module:o,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),r.pipelineCache.set(a,i)}return{modulatePipeline:i,modulateUniformLayout:r.modulateUniformLayout,singleTextureLayout:r.singleTextureLayout,modulateSignalsLayout:r.modulateSignalsLayout}}var k=async t=>{let{ctx:e,encoder:r,pass:a,targetView:i,targetTexture:o,targetWidth:l,targetHeight:x,props:n,drawChild:c}=t,m=n.frame??0,s=n.compositionFrame??m,u=n.fps||30,p=n.virtualMedia?.operation;if(p?.op!=="Modulate"||!p)return;let w=n.virtualMedia.children?.[0];if(!w)return;a.end();let M=y(p,"hue",0,0,360,s,u),R=y(p,"brightness",1,0,2,s,u),_=y(p,"contrast",1,0,2,s,u),P=y(p,"exposure",0,-2,2,s,u),L=y(p,"saturation",1,0,2,s,u),V=y(p,"sepia",0,0,1,s,u),g=l,b=x,S=e.renderer.getTemporaryTexture(g,b,[...n.excludeTextures||[],o]),A=S.createView();e.renderer.beginFrame(r,A,{r:0,g:0,b:0,a:0},g,b,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:g,height:b}),e.renderer.pushIdentity(),await c(w,{...n,virtualMedia:w},A,S,g,b),e.renderer.popTransform(),e.renderer.popScissor();let{modulatePipeline:D,modulateUniformLayout:O,singleTextureLayout:C,modulateSignalsLayout:H}=Y(e.device,e.renderer.format),U=e.renderer.samplerCache.getSampler(e.device),I=e.renderer.getTemporaryTexture(g,b,[S,o,...n.excludeTextures||[]]);f[0]=M.value,f[1]=R.value,f[2]=_.value,f[3]=P.value,f[4]=L.value,f[5]=V.value;let W=[{name:"hue",info:M,idx:6},{name:"brightness",info:R,idx:7},{name:"contrast",info:_,idx:8},{name:"exposure",info:P,idx:9},{name:"saturation",info:L,idx:10},{name:"sepia",info:V,idx:11}],d=[],$=n.elapsedMs!==void 0?n.elapsedMs/1e3:m/u,j=n.virtualMedia?.metadata?.durationMs?n.virtualMedia.metadata.durationMs/1e3:n.durationMs!==void 0?n.durationMs/1e3:0;for(let h of W){let N=!!(h.info.hasSignal&&h.info.sd);if(f[h.idx]=N?1:0,N){let q=G.getOrCreate2DTextureView(e.device,r,h.info.sd.nodeId??`modulate_${h.name}_sig`,$,j,h.info.sd,g,b,n.renderId,m,u);d.push(q)}else d.push(G.getDummy1x1TextureView(e.device))}let K=e.renderer.getTemporaryBuffer(f),v=r.beginRenderPass({colorAttachments:[{view:I.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(D),v.setBindGroup(0,e.device.createBindGroup({layout:O,entries:[{binding:0,resource:{buffer:K}}]})),v.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,C,S,U)),v.setBindGroup(2,e.device.createBindGroup({layout:H,entries:[{binding:0,resource:d[0]},{binding:1,resource:d[1]},{binding:2,resource:d[2]},{binding:3,resource:d[3]},{binding:4,resource:d[4]},{binding:5,resource:d[5]},{binding:6,resource:U}]})),v.draw(4),v.end();let F=e.renderer.beginFrame(r,i,{r:0,g:0,b:0,a:0},l,x,"load");e.renderer.drawTexture(F,I,{x:0,y:0,width:l,height:x},{opacity:p.opacity??1}),t.pass=F};var ue=B({WebGPURenderer:k});export{ue as a};