framefields 2.0.10 → 2.1.0

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 (562) hide show
  1. package/README.md +39 -11
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +13 -12
  4. package/dist/{audio-BxA0sL9z.d.mts → audio-C2fLC3Tx.d.mts} +3 -3
  5. package/dist/{audio-BxA0sL9z.d.mts.map → audio-C2fLC3Tx.d.mts.map} +1 -1
  6. package/dist/{audio-TAvPwzLR.mjs → audio-DJeVoE8b.mjs} +1 -1
  7. package/dist/{audio-TAvPwzLR.mjs.map → audio-DJeVoE8b.mjs.map} +1 -1
  8. package/dist/{audio-B7Al-W_0.mjs → audio-D_4SeMRK.mjs} +4 -4
  9. package/dist/{audio-B7Al-W_0.mjs.map → audio-D_4SeMRK.mjs.map} +1 -1
  10. package/dist/{client-CwRhflHE.mjs → client-dVxUnmHz.mjs} +1 -1
  11. package/dist/{client-CwRhflHE.mjs.map → client-dVxUnmHz.mjs.map} +1 -1
  12. package/dist/{dist-C_hjvkdN.mjs → dist-0QGroRYZ.mjs} +1 -1
  13. package/dist/{dist-C_hjvkdN.mjs.map → dist-0QGroRYZ.mjs.map} +1 -1
  14. package/dist/{dist-DzUJmIHt.mjs → dist-BY0bIWgr.mjs} +10 -2
  15. package/dist/dist-BY0bIWgr.mjs.map +1 -0
  16. package/dist/{dist-B9PkqWnN.mjs → dist-Bun_TUvZ.mjs} +24046 -20774
  17. package/dist/dist-Bun_TUvZ.mjs.map +1 -0
  18. package/dist/{dist-BFjSQP7i.mjs → dist-DlzqyRar.mjs} +75 -618
  19. package/dist/dist-DlzqyRar.mjs.map +1 -0
  20. package/dist/{dist-cjs-TsA8LFXC.mjs → dist-cjs-91nR6B7Z.mjs} +3 -3
  21. package/dist/{dist-cjs-TsA8LFXC.mjs.map → dist-cjs-91nR6B7Z.mjs.map} +1 -1
  22. package/dist/{dist-cjs-DJ8fcQEe.mjs → dist-cjs-BAIenEMC.mjs} +11 -11
  23. package/dist/{dist-cjs-DJ8fcQEe.mjs.map → dist-cjs-BAIenEMC.mjs.map} +1 -1
  24. package/dist/{dist-cjs-BmyyWYWv.mjs → dist-cjs-BEQhh76X.mjs} +2 -2
  25. package/dist/{dist-cjs-BmyyWYWv.mjs.map → dist-cjs-BEQhh76X.mjs.map} +1 -1
  26. package/dist/{dist-cjs--pxyGFw2.mjs → dist-cjs-BYPq7pfw.mjs} +1 -1
  27. package/dist/{dist-cjs--pxyGFw2.mjs.map → dist-cjs-BYPq7pfw.mjs.map} +1 -1
  28. package/dist/{dist-cjs--lfMLs3U.mjs → dist-cjs-BocDqSCX.mjs} +4 -4
  29. package/dist/{dist-cjs--lfMLs3U.mjs.map → dist-cjs-BocDqSCX.mjs.map} +1 -1
  30. package/dist/{dist-cjs-CsU2sZoX.mjs → dist-cjs-CWiNggTl.mjs} +4 -4
  31. package/dist/{dist-cjs-CsU2sZoX.mjs.map → dist-cjs-CWiNggTl.mjs.map} +1 -1
  32. package/dist/{dist-cjs-DjzmP0-x.mjs → dist-cjs-CwabutT6.mjs} +13 -13
  33. package/dist/{dist-cjs-DjzmP0-x.mjs.map → dist-cjs-CwabutT6.mjs.map} +1 -1
  34. package/dist/{dist-cjs-BDpO-TH_.mjs → dist-cjs-D-EE4Ahy.mjs} +1 -1
  35. package/dist/{dist-cjs-BDpO-TH_.mjs.map → dist-cjs-D-EE4Ahy.mjs.map} +1 -1
  36. package/dist/{dist-cjs-CQwmMllY.mjs → dist-cjs-DNtDUWfk.mjs} +6 -6
  37. package/dist/{dist-cjs-CQwmMllY.mjs.map → dist-cjs-DNtDUWfk.mjs.map} +1 -1
  38. package/dist/{dist-cjs-CND_ghfH.mjs → dist-cjs-DbZhsgS0.mjs} +1 -1
  39. package/dist/{dist-cjs-CND_ghfH.mjs.map → dist-cjs-DbZhsgS0.mjs.map} +1 -1
  40. package/dist/{dist-cjs-CgFzrgj8.mjs → dist-cjs-Dh7REKcN.mjs} +1 -1
  41. package/dist/{dist-cjs-CgFzrgj8.mjs.map → dist-cjs-Dh7REKcN.mjs.map} +1 -1
  42. package/dist/{dist-cjs-DT2jJlcK.mjs → dist-cjs-Dobx0Nz-.mjs} +5 -5
  43. package/dist/{dist-cjs-DT2jJlcK.mjs.map → dist-cjs-Dobx0Nz-.mjs.map} +1 -1
  44. package/dist/{dist-cjs-DzjrlfbE.mjs → dist-cjs-Du0UpNof.mjs} +14 -14
  45. package/dist/{dist-cjs-DzjrlfbE.mjs.map → dist-cjs-Du0UpNof.mjs.map} +1 -1
  46. package/dist/dist-cjs-DyHiUfsr.mjs +6 -0
  47. package/dist/{dist-cjs-M-8QOgS_.mjs → dist-cjs-HHMfMF5a.mjs} +2 -2
  48. package/dist/{dist-cjs-M-8QOgS_.mjs.map → dist-cjs-HHMfMF5a.mjs.map} +1 -1
  49. package/dist/{dist-cjs-BiKQozdJ.mjs → dist-cjs-UJYQzLNT.mjs} +3 -3
  50. package/dist/{dist-cjs-BiKQozdJ.mjs.map → dist-cjs-UJYQzLNT.mjs.map} +1 -1
  51. package/dist/{dist-cjs-agQl9T8M.mjs → dist-cjs-UKxm5cFR.mjs} +6 -6
  52. package/dist/{dist-cjs-agQl9T8M.mjs.map → dist-cjs-UKxm5cFR.mjs.map} +1 -1
  53. package/dist/{dist-B9Afsv83.mjs → dist-fjKpBYkc.mjs} +662 -28
  54. package/dist/dist-fjKpBYkc.mjs.map +1 -0
  55. package/dist/effects/index.d.mts +4 -4
  56. package/dist/effects/index.mjs +36 -34
  57. package/dist/{effects-CREopCyP.mjs → effects-FTlu0dri.mjs} +3 -3
  58. package/dist/{effects-CREopCyP.mjs.map → effects-FTlu0dri.mjs.map} +1 -1
  59. package/dist/{event-streams-BaNGaLxh.mjs → event-streams-DnRe8uwT.mjs} +2 -2
  60. package/dist/{event-streams-BaNGaLxh.mjs.map → event-streams-DnRe8uwT.mjs.map} +1 -1
  61. package/dist/fonts/index.d.mts +2 -2
  62. package/dist/fonts/index.mjs +3 -1
  63. package/dist/{fonts-DhEQ5h6E.mjs → fonts-UM5xaBOx.mjs} +66 -6
  64. package/dist/fonts-UM5xaBOx.mjs.map +1 -0
  65. package/dist/gpu-RkpiFGOA.mjs +215 -0
  66. package/dist/gpu-RkpiFGOA.mjs.map +1 -0
  67. package/dist/{index-BXNNJVs8.d.mts → index-CHQ39_Oe.d.mts} +2 -2
  68. package/dist/{index-BXNNJVs8.d.mts.map → index-CHQ39_Oe.d.mts.map} +1 -1
  69. package/dist/{index-CvDVpaKn.d.mts → index-CzQseCtg.d.mts} +8 -8
  70. package/dist/{index-CvDVpaKn.d.mts.map → index-CzQseCtg.d.mts.map} +1 -1
  71. package/dist/{index-D1zaOwEU.d.mts → index-D67p-rHX.d.mts} +3506 -1280
  72. package/dist/index-D67p-rHX.d.mts.map +1 -0
  73. package/dist/{index-J9CIK_nu.d.mts → index-DPicEt8H.d.mts} +10 -2
  74. package/dist/index-DPicEt8H.d.mts.map +1 -0
  75. package/dist/{index-oodg5k9K.d.mts → index-Db8Z3AtX.d.mts} +3 -3
  76. package/dist/{index-oodg5k9K.d.mts.map → index-Db8Z3AtX.d.mts.map} +1 -1
  77. package/dist/{index-fo4E7A6C.d.mts → index-DsOqONsj.d.mts} +3 -3
  78. package/dist/{index-fo4E7A6C.d.mts.map → index-DsOqONsj.d.mts.map} +1 -1
  79. package/dist/{index-CQcdKyxF.d.mts → index-l03NV8JS.d.mts} +59 -2
  80. package/dist/index-l03NV8JS.d.mts.map +1 -0
  81. package/dist/index.d.mts +416 -1849
  82. package/dist/index.d.mts.map +1 -1
  83. package/dist/index.mjs +669 -79
  84. package/dist/index.mjs.map +1 -1
  85. package/dist/{package-XpCRbTOA.mjs → package-CudzAF-n.mjs} +1 -1
  86. package/dist/{package-XpCRbTOA.mjs.map → package-CudzAF-n.mjs.map} +1 -1
  87. package/dist/preview/index.d.mts +2 -2
  88. package/dist/preview/index.mjs +13 -12
  89. package/dist/{preview-9ifxywUM.mjs → preview-DwClLMlU.mjs} +3 -3
  90. package/dist/{preview-9ifxywUM.mjs.map → preview-DwClLMlU.mjs.map} +1 -1
  91. package/dist/preview-engine/audio.mjs +1 -1
  92. package/dist/preview-engine/{chunk-AW7HNZKR.mjs → chunk-3GNP7TJH.mjs} +3 -3
  93. package/dist/preview-engine/{chunk-LIHUEYI5.mjs → chunk-44CQSOYE.mjs} +2 -2
  94. package/dist/preview-engine/{chunk-6JW37VJA.mjs → chunk-5AUB4Y3L.mjs} +3 -23
  95. package/dist/preview-engine/chunk-5DOD2NVY.mjs +26 -0
  96. package/dist/preview-engine/chunk-5FC7GOWW.mjs +474 -0
  97. package/dist/preview-engine/chunk-5W4AFQP7.mjs +97 -0
  98. package/dist/preview-engine/chunk-63SFBHEH.mjs +1 -0
  99. package/dist/preview-engine/chunk-7EPIRODI.mjs +91 -0
  100. package/dist/preview-engine/{chunk-PQD5UPHG.mjs → chunk-7G3XIOP7.mjs} +1 -1
  101. package/dist/preview-engine/chunk-7J2FWGVD.mjs +1 -0
  102. package/dist/preview-engine/chunk-AXHB4J37.mjs +147 -0
  103. package/dist/preview-engine/chunk-AY7UX37L.mjs +450 -0
  104. package/dist/preview-engine/chunk-B43Z3J7J.mjs +5 -0
  105. package/dist/preview-engine/chunk-BWJS6G7R.mjs +314 -0
  106. package/dist/preview-engine/{chunk-24DXIKXL.mjs → chunk-DIGIQ5MJ.mjs} +2 -2
  107. package/dist/preview-engine/{chunk-AEK5BO3J.mjs → chunk-E4RAFHZM.mjs} +1 -1
  108. package/dist/preview-engine/chunk-ENKKLU7B.mjs +22 -0
  109. package/dist/preview-engine/{chunk-XLFYM7KH.mjs → chunk-EVXWDOCL.mjs} +2 -2
  110. package/dist/preview-engine/{chunk-EQ4QZRXB.mjs → chunk-EYWPOCZW.mjs} +2 -2
  111. package/dist/preview-engine/{chunk-IYVN2QEL.mjs → chunk-FLPSWDX4.mjs} +1 -1
  112. package/dist/preview-engine/chunk-FU7AIAMM.mjs +88 -0
  113. package/dist/preview-engine/{chunk-CBM7B7EW.mjs → chunk-GMGGDADT.mjs} +1 -1
  114. package/dist/preview-engine/chunk-GSFN4WCH.mjs +62 -0
  115. package/dist/preview-engine/chunk-HE4R7EZM.mjs +121 -0
  116. package/dist/preview-engine/chunk-IQC2I5A5.mjs +1 -0
  117. package/dist/preview-engine/chunk-IQKIHFNZ.mjs +1 -0
  118. package/dist/preview-engine/{chunk-XCYFPA34.mjs → chunk-IR5DNNWR.mjs} +3 -23
  119. package/dist/preview-engine/chunk-IUPDOATX.mjs +114 -0
  120. package/dist/preview-engine/{chunk-GHMCGTJ2.mjs → chunk-J2R5R7YY.mjs} +3 -23
  121. package/dist/preview-engine/chunk-JAJOZG5P.mjs +1 -0
  122. package/dist/preview-engine/chunk-JXNG2ACR.mjs +118 -0
  123. package/dist/preview-engine/{chunk-V6VU46ZG.mjs → chunk-L6BH5J4P.mjs} +1 -1
  124. package/dist/preview-engine/chunk-LGVEFPOG.mjs +3 -0
  125. package/dist/preview-engine/{chunk-MDDF2GCF.mjs → chunk-MLY5M7Y5.mjs} +3 -23
  126. package/dist/preview-engine/chunk-NPD6W3RP.mjs +1 -0
  127. package/dist/preview-engine/chunk-OCX5AD23.mjs +1 -0
  128. package/dist/preview-engine/{chunk-D3TETPLI.mjs → chunk-OG62XGCT.mjs} +1 -1
  129. package/dist/preview-engine/chunk-OJ2PKBXE.mjs +40 -0
  130. package/dist/preview-engine/chunk-OKH2VU2U.mjs +97 -0
  131. package/dist/preview-engine/chunk-PAQNDZQB.mjs +83 -0
  132. package/dist/preview-engine/chunk-PEWYB6WP.mjs +43 -0
  133. package/dist/preview-engine/chunk-PL4IH5V4.mjs +89 -0
  134. package/dist/preview-engine/chunk-PSRQA3QW.mjs +84 -0
  135. package/dist/preview-engine/{chunk-JAOXXYXG.mjs → chunk-PXT52LEH.mjs} +3 -23
  136. package/dist/preview-engine/chunk-Q22PJXFJ.mjs +69 -0
  137. package/dist/preview-engine/chunk-Q4Z54DQ7.mjs +1 -0
  138. package/dist/preview-engine/{chunk-BHFI3Y4T.mjs → chunk-QBEUICZD.mjs} +1 -1
  139. package/dist/preview-engine/chunk-RQLMW6MA.mjs +4 -0
  140. package/dist/preview-engine/chunk-RSMO7NPN.mjs +1 -0
  141. package/dist/preview-engine/chunk-RW2F3XLQ.mjs +90 -0
  142. package/dist/preview-engine/{chunk-25IW7NYO.mjs → chunk-S2CTIJSI.mjs} +1 -1
  143. package/dist/preview-engine/chunk-SGPRLTNF.mjs +52 -0
  144. package/dist/preview-engine/{chunk-Y6FEU4TV.mjs → chunk-SZW5J72T.mjs} +3 -23
  145. package/dist/preview-engine/{chunk-7DIAFPQP.mjs → chunk-T2FE5VOW.mjs} +3 -23
  146. package/dist/preview-engine/{chunk-ZSIJB76A.mjs → chunk-TS3JI3BH.mjs} +2 -2
  147. package/dist/preview-engine/{chunk-AMBSW6OA.mjs → chunk-U4JIFQRR.mjs} +2 -2
  148. package/dist/preview-engine/chunk-VRGREB3V.mjs +1 -0
  149. package/dist/preview-engine/{chunk-BJKH76OM.mjs → chunk-VXS5SIEC.mjs} +3 -23
  150. package/dist/preview-engine/chunk-WFGJXCZT.mjs +53 -0
  151. package/dist/preview-engine/chunk-WH5Q2NFN.mjs +32 -0
  152. package/dist/preview-engine/{chunk-YG35X5R5.mjs → chunk-WUKH7BD7.mjs} +1 -1
  153. package/dist/preview-engine/chunk-XC5WZNOY.mjs +1448 -0
  154. package/dist/preview-engine/chunk-YQZOGEPZ.mjs +186 -0
  155. package/dist/preview-engine/{chunk-VVLM6LZ3.mjs → chunk-ZDQF3OTC.mjs} +1 -1
  156. package/dist/preview-engine/chunk-ZIIFTWDH.mjs +58 -0
  157. package/dist/preview-engine/effects.mjs +1 -1
  158. package/dist/preview-engine/fonts.mjs +1 -1
  159. package/dist/preview-engine/framefields.mjs +127 -130
  160. package/dist/preview-engine/player.mjs +6 -6
  161. package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -0
  162. package/dist/preview-engine/renderers-2ILG23ED.mjs +1 -0
  163. package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -0
  164. package/dist/preview-engine/renderers-2SVWAB42.mjs +1 -0
  165. package/dist/preview-engine/renderers-2VN3AH45.mjs +104 -0
  166. package/dist/preview-engine/renderers-3RC5FDWX.mjs +1 -0
  167. package/dist/preview-engine/renderers-57WDL6XN.mjs +1 -0
  168. package/dist/preview-engine/{renderers-CAUWP4XH.mjs → renderers-6OGFUSH6.mjs} +3 -23
  169. package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -0
  170. package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -0
  171. package/dist/preview-engine/renderers-A6HM64UZ.mjs +1 -0
  172. package/dist/preview-engine/{renderers-WLH4HRUE.mjs → renderers-A7VH3ON5.mjs} +1 -1
  173. package/dist/preview-engine/renderers-B7DSGUMI.mjs +1 -0
  174. package/dist/preview-engine/renderers-BFNJ7VCI.mjs +1 -0
  175. package/dist/preview-engine/renderers-BSKZXITT.mjs +35 -0
  176. package/dist/preview-engine/renderers-CGYIDAVV.mjs +1 -0
  177. package/dist/preview-engine/renderers-CRRLV7IO.mjs +1 -0
  178. package/dist/preview-engine/{renderers-JQHUBWLL.mjs → renderers-D6T6IPER.mjs} +3 -23
  179. package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -0
  180. package/dist/preview-engine/renderers-ECA3P4ON.mjs +1 -0
  181. package/dist/preview-engine/{renderers-W5CVDJVH.mjs → renderers-F55XFVMP.mjs} +1 -1
  182. package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -0
  183. package/dist/preview-engine/renderers-H46TS3IG.mjs +228 -0
  184. package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -0
  185. package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -0
  186. package/dist/preview-engine/renderers-JHFT27YU.mjs +1 -0
  187. package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -0
  188. package/dist/preview-engine/renderers-MON4QFRF.mjs +1 -0
  189. package/dist/preview-engine/renderers-NQXMYNSY.mjs +1 -0
  190. package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -0
  191. package/dist/preview-engine/renderers-ORAIXUL3.mjs +1 -0
  192. package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -0
  193. package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -0
  194. package/dist/preview-engine/renderers-QVZVEYP5.mjs +1 -0
  195. package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -0
  196. package/dist/preview-engine/renderers-RKDPX5JU.mjs +1 -0
  197. package/dist/preview-engine/{renderers-2US2NIUG.mjs → renderers-RLHTNLRE.mjs} +3 -23
  198. package/dist/preview-engine/renderers-SBFF7JP5.mjs +1 -0
  199. package/dist/preview-engine/renderers-SCJ6OKTB.mjs +1 -0
  200. package/dist/preview-engine/renderers-T4JMJXWL.mjs +1 -0
  201. package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -0
  202. package/dist/preview-engine/renderers-U6KY34TP.mjs +100 -0
  203. package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -0
  204. package/dist/preview-engine/renderers-UNK6I4JJ.mjs +1 -0
  205. package/dist/preview-engine/renderers-UPTJJE5F.mjs +1 -0
  206. package/dist/preview-engine/renderers-W773SBPV.mjs +1 -0
  207. package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -0
  208. package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -0
  209. package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -0
  210. package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -0
  211. package/dist/preview-engine/renderers-ZHTX73PR.mjs +1 -0
  212. package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -0
  213. package/dist/preview-engine/signals.mjs +1 -1
  214. package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +1 -0
  215. package/dist/{program-xRfFoPxe.mjs → program-BqFVw5Mu.mjs} +295 -2279
  216. package/dist/program-BqFVw5Mu.mjs.map +1 -0
  217. package/dist/renderer/index.d.mts +2 -2
  218. package/dist/renderer/index.mjs +3 -3
  219. package/dist/{renderer-BgdkEFmv.mjs → renderer-2Nf9ypST.mjs} +85 -279
  220. package/dist/renderer-2Nf9ypST.mjs.map +1 -0
  221. package/dist/{renderer-BREIjsUU.mjs → renderer-2uN2cd0y.mjs} +14 -40
  222. package/dist/renderer-2uN2cd0y.mjs.map +1 -0
  223. package/dist/renderer-31jAuNzF.mjs +5 -0
  224. package/dist/renderer-36EI7Rsz.mjs +5 -0
  225. package/dist/renderer-3io-cjTt.mjs +5 -0
  226. package/dist/renderer-9_zWTHbg.mjs +5 -0
  227. package/dist/{renderer-5h0llpx7.mjs → renderer-B12_76qk.mjs} +4 -3
  228. package/dist/{renderer-5h0llpx7.mjs.map → renderer-B12_76qk.mjs.map} +1 -1
  229. package/dist/{renderer-_bygZSKk.mjs → renderer-B4oS8ZFO.mjs} +29 -98
  230. package/dist/renderer-B4oS8ZFO.mjs.map +1 -0
  231. package/dist/renderer-B6KnbfdA.mjs +5 -0
  232. package/dist/renderer-B7Y2bmRc.mjs +5 -0
  233. package/dist/renderer-BA6miaaI.mjs +5 -0
  234. package/dist/{renderer-CoZKST2Y.mjs → renderer-BGr_cBKV.mjs} +61 -208
  235. package/dist/renderer-BGr_cBKV.mjs.map +1 -0
  236. package/dist/renderer-BHi-Q6Z_.mjs +5 -0
  237. package/dist/{renderer-BiSALMQy.mjs → renderer-BLcu9RDt.mjs} +3 -1
  238. package/dist/{renderer-D2XD4QYk.mjs → renderer-BO2lYmtE.mjs} +34 -147
  239. package/dist/renderer-BO2lYmtE.mjs.map +1 -0
  240. package/dist/renderer-BOlN9HeG.mjs +5 -0
  241. package/dist/renderer-BSitV56h.mjs +268 -0
  242. package/dist/renderer-BSitV56h.mjs.map +1 -0
  243. package/dist/renderer-BTOW-ceB.mjs +5 -0
  244. package/dist/{renderer-wVldKtFU.mjs → renderer-BYqfkwLf.mjs} +51 -163
  245. package/dist/renderer-BYqfkwLf.mjs.map +1 -0
  246. package/dist/{renderer-bZU_ndxf.mjs → renderer-BajIOuZH.mjs} +2 -2
  247. package/dist/{renderer-bZU_ndxf.mjs.map → renderer-BajIOuZH.mjs.map} +1 -1
  248. package/dist/{renderer-jkZ_IQnW.mjs → renderer-BgnJUx24.mjs} +80 -258
  249. package/dist/renderer-BgnJUx24.mjs.map +1 -0
  250. package/dist/renderer-BiQ0PYOp.mjs +5 -0
  251. package/dist/{renderer-BnvqEqvE.mjs → renderer-BjTq3a0L.mjs} +5 -4
  252. package/dist/{renderer-BnvqEqvE.mjs.map → renderer-BjTq3a0L.mjs.map} +1 -1
  253. package/dist/{renderer-DEJwPRkR.mjs → renderer-BkN20ZKO.mjs} +15 -51
  254. package/dist/renderer-BkN20ZKO.mjs.map +1 -0
  255. package/dist/renderer-Bla7GDyV.mjs +5 -0
  256. package/dist/renderer-BoYyLVKy.mjs +5 -0
  257. package/dist/{renderer-D7zvPHKn.mjs → renderer-BpZaHFRc.mjs} +18 -28
  258. package/dist/renderer-BpZaHFRc.mjs.map +1 -0
  259. package/dist/renderer-BqOgb7bM.mjs +5 -0
  260. package/dist/{renderer-DNNqpK7t.mjs → renderer-Bq_dO0LG.mjs} +10 -17
  261. package/dist/renderer-Bq_dO0LG.mjs.map +1 -0
  262. package/dist/renderer-BqeM8yTJ.mjs +5 -0
  263. package/dist/{renderer-DryPrxYc.mjs → renderer-BqsV75Ml.mjs} +3 -1
  264. package/dist/{renderer-8qpGxSSO.mjs → renderer-Bs4tz_pw.mjs} +20 -87
  265. package/dist/renderer-Bs4tz_pw.mjs.map +1 -0
  266. package/dist/{renderer-DdVBt8Rz.mjs → renderer-Bsaokil3.mjs} +24 -104
  267. package/dist/renderer-Bsaokil3.mjs.map +1 -0
  268. package/dist/{renderer-D7ztfQHX.mjs → renderer-BvG1GF1c.mjs} +10 -16
  269. package/dist/renderer-BvG1GF1c.mjs.map +1 -0
  270. package/dist/{renderer-BGXbGqY4.mjs → renderer-BvpSIFkw.mjs} +83 -266
  271. package/dist/renderer-BvpSIFkw.mjs.map +1 -0
  272. package/dist/{renderer-Dju9CaeL.mjs → renderer-BwAqwTQq.mjs} +62 -209
  273. package/dist/renderer-BwAqwTQq.mjs.map +1 -0
  274. package/dist/{renderer-CzPWB0Ss.mjs → renderer-BwVfhrEx.mjs} +13 -45
  275. package/dist/renderer-BwVfhrEx.mjs.map +1 -0
  276. package/dist/renderer-BzpRe50i.mjs +5 -0
  277. package/dist/renderer-C0eAPwpr.mjs +5 -0
  278. package/dist/{renderer-But0u-xi.mjs → renderer-C3RfT8Gv.mjs} +59 -194
  279. package/dist/renderer-C3RfT8Gv.mjs.map +1 -0
  280. package/dist/{renderer-CgmFh6MY.mjs → renderer-C3cYDT3m.mjs} +3 -1
  281. package/dist/{renderer-D-4Yh-RK.mjs → renderer-CEGbqT2m.mjs} +236 -96
  282. package/dist/renderer-CEGbqT2m.mjs.map +1 -0
  283. package/dist/{renderer-CcU7dVn9.mjs → renderer-CGldH-Zx.mjs} +40 -142
  284. package/dist/renderer-CGldH-Zx.mjs.map +1 -0
  285. package/dist/renderer-CGn8V63v.mjs +5 -0
  286. package/dist/{renderer-DffynBHa.mjs → renderer-CH9Qtpy7.mjs} +4 -4
  287. package/dist/{renderer-DffynBHa.mjs.map → renderer-CH9Qtpy7.mjs.map} +1 -1
  288. package/dist/{renderer-ho_jXJ0H.mjs → renderer-CLyuu_19.mjs} +23 -117
  289. package/dist/renderer-CLyuu_19.mjs.map +1 -0
  290. package/dist/renderer-CM5Syo9r.mjs +5 -0
  291. package/dist/{renderer-BJ6Y-7ke.mjs → renderer-CRIM_XRK.mjs} +3 -3
  292. package/dist/{renderer-BJ6Y-7ke.mjs.map → renderer-CRIM_XRK.mjs.map} +1 -1
  293. package/dist/{renderer-2NQWaZd7.d.mts → renderer-CTGe8SqQ.d.mts} +2 -2
  294. package/dist/{renderer-2NQWaZd7.d.mts.map → renderer-CTGe8SqQ.d.mts.map} +1 -1
  295. package/dist/renderer-CWCEW6Wv.mjs +5 -0
  296. package/dist/{renderer-CNF10fCq.mjs → renderer-CgyOylPO.mjs} +10 -17
  297. package/dist/renderer-CgyOylPO.mjs.map +1 -0
  298. package/dist/{renderer-DjTiNeAp.mjs → renderer-CjT5Zy-J.mjs} +81 -221
  299. package/dist/renderer-CjT5Zy-J.mjs.map +1 -0
  300. package/dist/{renderer-_uvdg48N.mjs → renderer-Cjq1s3br.mjs} +24 -93
  301. package/dist/renderer-Cjq1s3br.mjs.map +1 -0
  302. package/dist/renderer-Cl70zxkP.mjs +5 -0
  303. package/dist/renderer-ClJjoVpB.mjs +6 -0
  304. package/dist/{renderer-DBlPbsgi.mjs → renderer-CpKNqciR.mjs} +3 -1
  305. package/dist/{renderer-DTvfYkI9.mjs → renderer-Cwhux4VX.mjs} +9 -16
  306. package/dist/renderer-Cwhux4VX.mjs.map +1 -0
  307. package/dist/{renderer-CJNyhr_S.mjs → renderer-D0nWLogn.mjs} +99 -282
  308. package/dist/renderer-D0nWLogn.mjs.map +1 -0
  309. package/dist/{renderer-9wp5R7PL.mjs → renderer-D1lynYuy.mjs} +23 -107
  310. package/dist/renderer-D1lynYuy.mjs.map +1 -0
  311. package/dist/{renderer-DYm4duFr.mjs → renderer-D4sYVV-I.mjs} +41 -140
  312. package/dist/renderer-D4sYVV-I.mjs.map +1 -0
  313. package/dist/{renderer-CroHPOsX.mjs → renderer-D5z3WDkm.mjs} +99 -287
  314. package/dist/renderer-D5z3WDkm.mjs.map +1 -0
  315. package/dist/renderer-D8C-pamu.mjs +148 -0
  316. package/dist/renderer-D8C-pamu.mjs.map +1 -0
  317. package/dist/{renderer-D_1oDOCP.mjs → renderer-DAtBnNGC.mjs} +14 -69
  318. package/dist/renderer-DAtBnNGC.mjs.map +1 -0
  319. package/dist/{renderer-DZGtBUCx.mjs → renderer-DG1NFsSV.mjs} +35 -185
  320. package/dist/renderer-DG1NFsSV.mjs.map +1 -0
  321. package/dist/{renderer-BM05sB8m.mjs → renderer-DHAErBtJ.mjs} +11 -74
  322. package/dist/renderer-DHAErBtJ.mjs.map +1 -0
  323. package/dist/{renderer-CStktK20.mjs → renderer-DIDSmoFA.mjs} +73 -73
  324. package/dist/{renderer-CStktK20.mjs.map → renderer-DIDSmoFA.mjs.map} +1 -1
  325. package/dist/{renderer-BA8YwBRQ.mjs → renderer-DKtP7-fr.mjs} +58 -234
  326. package/dist/renderer-DKtP7-fr.mjs.map +1 -0
  327. package/dist/renderer-DLnF-V_h.mjs +5 -0
  328. package/dist/renderer-DN1rjmcL.mjs +5 -0
  329. package/dist/{renderer-BZmfKIom.mjs → renderer-DOEsFT7Q.mjs} +57 -192
  330. package/dist/renderer-DOEsFT7Q.mjs.map +1 -0
  331. package/dist/{renderer-6GeDT4Mx.mjs → renderer-DPYB6ZcB.mjs} +57 -197
  332. package/dist/renderer-DPYB6ZcB.mjs.map +1 -0
  333. package/dist/{renderer-DCkSR2Ne.mjs → renderer-DRsPCkxr.mjs} +76 -210
  334. package/dist/renderer-DRsPCkxr.mjs.map +1 -0
  335. package/dist/renderer-DXTw9Oqb.mjs +5 -0
  336. package/dist/{renderer-DAMJZNtX.mjs → renderer-DZLJnnU2.mjs} +63 -190
  337. package/dist/renderer-DZLJnnU2.mjs.map +1 -0
  338. package/dist/{renderer-BtRfKx5N.mjs → renderer-DZrQffIP.mjs} +56 -167
  339. package/dist/renderer-DZrQffIP.mjs.map +1 -0
  340. package/dist/renderer-DbAVSBNI.mjs +5 -0
  341. package/dist/renderer-Dg8rD--8.mjs +5 -0
  342. package/dist/{renderer-BpCxKWQm.mjs → renderer-DhEyjn6Q.mjs} +52 -202
  343. package/dist/renderer-DhEyjn6Q.mjs.map +1 -0
  344. package/dist/{renderer-CIYcdZuZ.mjs → renderer-Dmv_Aj6x.mjs} +161 -457
  345. package/dist/renderer-Dmv_Aj6x.mjs.map +1 -0
  346. package/dist/renderer-DnFxegGu.mjs +5 -0
  347. package/dist/renderer-DnfmelHn.mjs +5 -0
  348. package/dist/{renderer-DxtHmyAa.mjs → renderer-Dpj68gTn.mjs} +11 -18
  349. package/dist/renderer-Dpj68gTn.mjs.map +1 -0
  350. package/dist/renderer-DuOjzggd.mjs +5 -0
  351. package/dist/renderer-DuuOlYIG.mjs +3 -0
  352. package/dist/renderer-DvYql0Cl.mjs +5 -0
  353. package/dist/{renderer-xKOVmd2O.mjs → renderer-DzhRNdBS.mjs} +245 -231
  354. package/dist/renderer-DzhRNdBS.mjs.map +1 -0
  355. package/dist/renderer-GSFP7v2z.mjs +3 -0
  356. package/dist/renderer-LfUdjgjF.mjs +5 -0
  357. package/dist/{renderer-CfeoxM_3.mjs → renderer-Q63y7HP_.mjs} +8 -15
  358. package/dist/renderer-Q63y7HP_.mjs.map +1 -0
  359. package/dist/renderer-SecCv3U8.mjs +5 -0
  360. package/dist/{renderer-b6sZN90h.mjs → renderer-mp1NN5zk.mjs} +4 -4
  361. package/dist/{renderer-b6sZN90h.mjs.map → renderer-mp1NN5zk.mjs.map} +1 -1
  362. package/dist/renderer-oZyoB4CT.mjs +5 -0
  363. package/dist/renderer-rzci_kTy.mjs +5 -0
  364. package/dist/{renderer-CpkiHRhh.mjs → renderer-to9DwqXK.mjs} +17 -99
  365. package/dist/renderer-to9DwqXK.mjs.map +1 -0
  366. package/dist/{renderer-CepMDQ06.mjs → renderer-v0vuUUUI.mjs} +19 -106
  367. package/dist/renderer-v0vuUUUI.mjs.map +1 -0
  368. package/dist/renderer-vLaZuZbX.mjs +5 -0
  369. package/dist/{renderers-CP8CFWDs-BLgwUYX2.mjs → renderers-CP8CFWDs-DlFq8jmz.mjs} +4 -4
  370. package/dist/{renderers-CP8CFWDs-BLgwUYX2.mjs.map → renderers-CP8CFWDs-DlFq8jmz.mjs.map} +1 -1
  371. package/dist/signals/index.d.mts +5 -5
  372. package/dist/signals/index.mjs +7 -7
  373. package/dist/{signals-CsxqD2AA.mjs → signals-BDkO0xcZ.mjs} +3 -3
  374. package/dist/{signals-CsxqD2AA.mjs.map → signals-BDkO0xcZ.mjs.map} +1 -1
  375. package/dist/{signin-Db08vl-g.mjs → signin-SVSXQw9i.mjs} +9 -9
  376. package/dist/{signin-Db08vl-g.mjs.map → signin-SVSXQw9i.mjs.map} +1 -1
  377. package/dist/{sso-oidc-CpLz_lIu.mjs → sso-oidc-B3Sagl43.mjs} +9 -9
  378. package/dist/{sso-oidc-CpLz_lIu.mjs.map → sso-oidc-B3Sagl43.mjs.map} +1 -1
  379. package/dist/{sts-BQefGuml.mjs → sts-CYeWec9i.mjs} +2 -2
  380. package/dist/{sts-Dgl0kH-t.mjs → sts-ClVtt-bV.mjs} +9 -9
  381. package/dist/{sts-Dgl0kH-t.mjs.map → sts-ClVtt-bV.mjs.map} +1 -1
  382. package/package.json +55 -55
  383. package/dist/dist-B9Afsv83.mjs.map +0 -1
  384. package/dist/dist-B9PkqWnN.mjs.map +0 -1
  385. package/dist/dist-BFjSQP7i.mjs.map +0 -1
  386. package/dist/dist-DzUJmIHt.mjs.map +0 -1
  387. package/dist/dist-cjs-3pon9kTt.mjs +0 -6
  388. package/dist/fonts-DhEQ5h6E.mjs.map +0 -1
  389. package/dist/index-CQcdKyxF.d.mts.map +0 -1
  390. package/dist/index-D1zaOwEU.d.mts.map +0 -1
  391. package/dist/index-J9CIK_nu.d.mts.map +0 -1
  392. package/dist/preview-engine/chunk-36YGYLKD.mjs +0 -58
  393. package/dist/preview-engine/chunk-5JD65JSJ.mjs +0 -110
  394. package/dist/preview-engine/chunk-7O24H4YT.mjs +0 -117
  395. package/dist/preview-engine/chunk-AG5JNZYQ.mjs +0 -8
  396. package/dist/preview-engine/chunk-AUFSM5KI.mjs +0 -141
  397. package/dist/preview-engine/chunk-BQ65MU6H.mjs +0 -138
  398. package/dist/preview-engine/chunk-BWDARDO6.mjs +0 -117
  399. package/dist/preview-engine/chunk-CNSHAFEA.mjs +0 -1
  400. package/dist/preview-engine/chunk-DLXQDDIN.mjs +0 -46
  401. package/dist/preview-engine/chunk-EJGLUZMW.mjs +0 -1
  402. package/dist/preview-engine/chunk-FE6RSVKZ.mjs +0 -73
  403. package/dist/preview-engine/chunk-HPIULG7P.mjs +0 -111
  404. package/dist/preview-engine/chunk-HRIKNYPF.mjs +0 -60
  405. package/dist/preview-engine/chunk-JPXQPP6J.mjs +0 -1
  406. package/dist/preview-engine/chunk-K52S5DJX.mjs +0 -109
  407. package/dist/preview-engine/chunk-MJM3NFEC.mjs +0 -315
  408. package/dist/preview-engine/chunk-NRHSNPZV.mjs +0 -182
  409. package/dist/preview-engine/chunk-OWOSYNMF.mjs +0 -104
  410. package/dist/preview-engine/chunk-QGBSLNFI.mjs +0 -52
  411. package/dist/preview-engine/chunk-QM3XFEJN.mjs +0 -63
  412. package/dist/preview-engine/chunk-QTKJXDIW.mjs +0 -997
  413. package/dist/preview-engine/chunk-R3ZH7YF3.mjs +0 -89
  414. package/dist/preview-engine/chunk-R6YNSBKL.mjs +0 -108
  415. package/dist/preview-engine/chunk-RNOO4UR5.mjs +0 -3
  416. package/dist/preview-engine/chunk-S4CSX6K5.mjs +0 -610
  417. package/dist/preview-engine/chunk-SNYAHQ25.mjs +0 -186
  418. package/dist/preview-engine/chunk-SRT2OCQW.mjs +0 -1
  419. package/dist/preview-engine/chunk-SUUUYXXT.mjs +0 -1
  420. package/dist/preview-engine/chunk-T6CC2KCZ.mjs +0 -418
  421. package/dist/preview-engine/chunk-T6COGNOW.mjs +0 -134
  422. package/dist/preview-engine/chunk-UC7CSW2A.mjs +0 -1
  423. package/dist/preview-engine/chunk-XFYXT76H.mjs +0 -52
  424. package/dist/preview-engine/chunk-XUM42I4R.mjs +0 -1
  425. package/dist/preview-engine/chunk-YITWSOG4.mjs +0 -103
  426. package/dist/preview-engine/chunk-ZDCA6NVT.mjs +0 -82
  427. package/dist/preview-engine/chunk-ZNGOAGAI.mjs +0 -1
  428. package/dist/preview-engine/renderers-27Q5X3U6.mjs +0 -1
  429. package/dist/preview-engine/renderers-32PIFHPS.mjs +0 -1
  430. package/dist/preview-engine/renderers-3Y3EMRDJ.mjs +0 -1
  431. package/dist/preview-engine/renderers-4AHH6BHF.mjs +0 -1
  432. package/dist/preview-engine/renderers-6PRVCTYV.mjs +0 -1
  433. package/dist/preview-engine/renderers-76PQY2SO.mjs +0 -1
  434. package/dist/preview-engine/renderers-7HNVXNAI.mjs +0 -248
  435. package/dist/preview-engine/renderers-B52QT6MT.mjs +0 -55
  436. package/dist/preview-engine/renderers-BE6RVJSE.mjs +0 -1
  437. package/dist/preview-engine/renderers-BMM2BH56.mjs +0 -1
  438. package/dist/preview-engine/renderers-CHJWUJVI.mjs +0 -1
  439. package/dist/preview-engine/renderers-CHOGQHVQ.mjs +0 -1
  440. package/dist/preview-engine/renderers-CI2GXWLP.mjs +0 -1
  441. package/dist/preview-engine/renderers-CRKRWR2Y.mjs +0 -1
  442. package/dist/preview-engine/renderers-DEYDSGJX.mjs +0 -1
  443. package/dist/preview-engine/renderers-DZTNRCR7.mjs +0 -1
  444. package/dist/preview-engine/renderers-EE2GFG7J.mjs +0 -1
  445. package/dist/preview-engine/renderers-ELO3KWTK.mjs +0 -1
  446. package/dist/preview-engine/renderers-F2KJNDWA.mjs +0 -124
  447. package/dist/preview-engine/renderers-FCV4COVB.mjs +0 -1
  448. package/dist/preview-engine/renderers-GJSUN5HU.mjs +0 -1
  449. package/dist/preview-engine/renderers-GXCRINGC.mjs +0 -1
  450. package/dist/preview-engine/renderers-IHKORHMT.mjs +0 -1
  451. package/dist/preview-engine/renderers-JA4SLMG3.mjs +0 -1
  452. package/dist/preview-engine/renderers-JLN77CFZ.mjs +0 -1
  453. package/dist/preview-engine/renderers-KBFW7B5F.mjs +0 -1
  454. package/dist/preview-engine/renderers-LJRJMFCR.mjs +0 -1
  455. package/dist/preview-engine/renderers-LPAPZ5QS.mjs +0 -1
  456. package/dist/preview-engine/renderers-NQUDQEHY.mjs +0 -1
  457. package/dist/preview-engine/renderers-NS3AIJVG.mjs +0 -1
  458. package/dist/preview-engine/renderers-NSY2SDIE.mjs +0 -1
  459. package/dist/preview-engine/renderers-PW4OJWHF.mjs +0 -120
  460. package/dist/preview-engine/renderers-PWLWOZY4.mjs +0 -1
  461. package/dist/preview-engine/renderers-Q3MD34JN.mjs +0 -1
  462. package/dist/preview-engine/renderers-RXGNA2Q7.mjs +0 -1
  463. package/dist/preview-engine/renderers-UGZUPONY.mjs +0 -1
  464. package/dist/preview-engine/renderers-VTTGFO55.mjs +0 -1
  465. package/dist/preview-engine/renderers-W3VVM5HB.mjs +0 -1
  466. package/dist/preview-engine/renderers-WG7QBD4D.mjs +0 -1
  467. package/dist/preview-engine/renderers-WLLJFZTF.mjs +0 -1
  468. package/dist/preview-engine/renderers-WN4SYFCU.mjs +0 -1
  469. package/dist/preview-engine/renderers-WSMLLSWX.mjs +0 -1
  470. package/dist/preview-engine/renderers-XFBSGTHU.mjs +0 -1
  471. package/dist/preview-engine/renderers-XFC6ZPO5.mjs +0 -1
  472. package/dist/preview-engine/renderers-XUHRY3XH.mjs +0 -1
  473. package/dist/preview-engine/renderers-YAOB5XU6.mjs +0 -1
  474. package/dist/preview-engine/renderers-YTB4FOHT.mjs +0 -1
  475. package/dist/program-xRfFoPxe.mjs.map +0 -1
  476. package/dist/renderer-6GeDT4Mx.mjs.map +0 -1
  477. package/dist/renderer-8qpGxSSO.mjs.map +0 -1
  478. package/dist/renderer-9wp5R7PL.mjs.map +0 -1
  479. package/dist/renderer-B2XzjK0z.mjs +0 -3
  480. package/dist/renderer-B4F6wL68.mjs +0 -3
  481. package/dist/renderer-B4i1jmiT.mjs +0 -3
  482. package/dist/renderer-B5ylY3uM.mjs +0 -3
  483. package/dist/renderer-BA8YwBRQ.mjs.map +0 -1
  484. package/dist/renderer-BGXbGqY4.mjs.map +0 -1
  485. package/dist/renderer-BM05sB8m.mjs.map +0 -1
  486. package/dist/renderer-BPw23wiR.mjs +0 -3
  487. package/dist/renderer-BREIjsUU.mjs.map +0 -1
  488. package/dist/renderer-BTu2EVhF.mjs +0 -3
  489. package/dist/renderer-BZmfKIom.mjs.map +0 -1
  490. package/dist/renderer-BfJSUjPN.mjs +0 -3
  491. package/dist/renderer-BgdkEFmv.mjs.map +0 -1
  492. package/dist/renderer-BghW-bSZ.mjs +0 -3
  493. package/dist/renderer-BpCxKWQm.mjs.map +0 -1
  494. package/dist/renderer-BtRfKx5N.mjs.map +0 -1
  495. package/dist/renderer-But0u-xi.mjs.map +0 -1
  496. package/dist/renderer-Bw3oZ9YT.mjs +0 -3
  497. package/dist/renderer-C-H680_l.mjs +0 -3
  498. package/dist/renderer-C2009W-_.mjs +0 -3
  499. package/dist/renderer-C36yoGXG.mjs +0 -3
  500. package/dist/renderer-CDLrNgfo.mjs +0 -3
  501. package/dist/renderer-CIYcdZuZ.mjs.map +0 -1
  502. package/dist/renderer-CJNyhr_S.mjs.map +0 -1
  503. package/dist/renderer-CL3evUmF.mjs +0 -3
  504. package/dist/renderer-CM1_2ZWA.mjs +0 -3
  505. package/dist/renderer-CNF10fCq.mjs.map +0 -1
  506. package/dist/renderer-CQdVj2JS.mjs +0 -3
  507. package/dist/renderer-CQiTodg9.mjs +0 -337
  508. package/dist/renderer-CQiTodg9.mjs.map +0 -1
  509. package/dist/renderer-CWlzudP8.mjs +0 -3
  510. package/dist/renderer-CZgB5st8.mjs +0 -3
  511. package/dist/renderer-CcU7dVn9.mjs.map +0 -1
  512. package/dist/renderer-Cd5vzrGs.mjs +0 -3
  513. package/dist/renderer-CeJ_vDXI.mjs +0 -3
  514. package/dist/renderer-CepMDQ06.mjs.map +0 -1
  515. package/dist/renderer-CfeoxM_3.mjs.map +0 -1
  516. package/dist/renderer-CjY77sB_.mjs +0 -3
  517. package/dist/renderer-CkykdR_D.mjs +0 -3
  518. package/dist/renderer-CoZKST2Y.mjs.map +0 -1
  519. package/dist/renderer-CpkiHRhh.mjs.map +0 -1
  520. package/dist/renderer-CroHPOsX.mjs.map +0 -1
  521. package/dist/renderer-CtVkU_GA.mjs +0 -44
  522. package/dist/renderer-CtVkU_GA.mjs.map +0 -1
  523. package/dist/renderer-CzPWB0Ss.mjs.map +0 -1
  524. package/dist/renderer-D-4Yh-RK.mjs.map +0 -1
  525. package/dist/renderer-D2XD4QYk.mjs.map +0 -1
  526. package/dist/renderer-D5Z6mda5.mjs +0 -3
  527. package/dist/renderer-D7ztfQHX.mjs.map +0 -1
  528. package/dist/renderer-D7zvPHKn.mjs.map +0 -1
  529. package/dist/renderer-D9NnIx7o.mjs +0 -3
  530. package/dist/renderer-DAMJZNtX.mjs.map +0 -1
  531. package/dist/renderer-DCJa7OGk.mjs +0 -3
  532. package/dist/renderer-DCkSR2Ne.mjs.map +0 -1
  533. package/dist/renderer-DEJwPRkR.mjs.map +0 -1
  534. package/dist/renderer-DGwSl7g1.mjs +0 -3
  535. package/dist/renderer-DNNqpK7t.mjs.map +0 -1
  536. package/dist/renderer-DNoRNfMm.mjs +0 -3
  537. package/dist/renderer-DOZ8bpyY.mjs +0 -3
  538. package/dist/renderer-DRHyRNU8.mjs +0 -3
  539. package/dist/renderer-DTvfYkI9.mjs.map +0 -1
  540. package/dist/renderer-DYm4duFr.mjs.map +0 -1
  541. package/dist/renderer-DZGtBUCx.mjs.map +0 -1
  542. package/dist/renderer-D_1oDOCP.mjs.map +0 -1
  543. package/dist/renderer-DdVBt8Rz.mjs.map +0 -1
  544. package/dist/renderer-DjTiNeAp.mjs.map +0 -1
  545. package/dist/renderer-Dju9CaeL.mjs.map +0 -1
  546. package/dist/renderer-DlD85Xoi.mjs +0 -3
  547. package/dist/renderer-Dr0bgOrW.mjs +0 -3
  548. package/dist/renderer-DurtG-Hc.mjs +0 -3
  549. package/dist/renderer-DxtHmyAa.mjs.map +0 -1
  550. package/dist/renderer-_bygZSKk.mjs.map +0 -1
  551. package/dist/renderer-_uvdg48N.mjs.map +0 -1
  552. package/dist/renderer-d5-F_48R.mjs +0 -3
  553. package/dist/renderer-eFv9HBmL.mjs +0 -3
  554. package/dist/renderer-ho_jXJ0H.mjs.map +0 -1
  555. package/dist/renderer-iuV6wQoL.mjs +0 -4
  556. package/dist/renderer-jkZ_IQnW.mjs.map +0 -1
  557. package/dist/renderer-n-uuWPF4.mjs +0 -3
  558. package/dist/renderer-rzccTFuY.mjs +0 -3
  559. package/dist/renderer-wVldKtFU.mjs.map +0 -1
  560. package/dist/renderer-xKOVmd2O.mjs.map +0 -1
  561. package/dist/renderer-y9eGFPFL.mjs +0 -3
  562. /package/dist/{renderer-C2n-EHxg.mjs → renderer-B-BcgA6d.mjs} +0 -0
@@ -1,7 +1,8 @@
1
- import { n as defineRenderer } from "./renderer-CtVkU_GA.mjs";
2
- import { J as parseColor, nt as signalRegistry } from "./dist-B9PkqWnN.mjs";
1
+ import { a as resolveFrameNumber, n as defineRenderer } from "./renderer-BSitV56h.mjs";
2
+ import { An as signalRegistry, H as parseColor } from "./dist-Bun_TUvZ.mjs";
3
+ import { a as createFullscreenPipeline, c as drawTextureToTarget, l as fragmentBindGroupLayout, o as drawChildToTexture, p as texturesLayout, s as drawFullscreenPass, t as FULLSCREEN_QUAD_WGSL, u as perDevice } from "./gpu-RkpiFGOA.mjs";
3
4
 
4
- //#region ../../nodes/node-relight-3d/dist/renderers-BrsEasbR.mjs
5
+ //#region ../../nodes/node-relight-3d/dist/renderers-CXgKN5yn.mjs
5
6
  const RELIGHT_SHADER = `
6
7
  struct RelightUniforms {
7
8
  // vec4 0
@@ -62,27 +63,7 @@ struct RelightUniforms {
62
63
  @group(3) @binding(6) var specularSigTex : texture_2d<f32>;
63
64
  @group(3) @binding(7) var volumetricSigTex : texture_2d<f32>;
64
65
  @group(3) @binding(8) var sigSamp : sampler;
65
-
66
- struct VSOut {
67
- @builtin(position) pos : vec4<f32>,
68
- @location(0) uv : vec2<f32>,
69
- };
70
-
71
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
72
- var pos = array<vec2<f32>, 4>(
73
- vec2<f32>(-1.0, 1.0),
74
- vec2<f32>(1.0, 1.0),
75
- vec2<f32>(-1.0, -1.0),
76
- vec2<f32>(1.0, -1.0)
77
- );
78
- var uv = array<vec2<f32>, 4>(
79
- vec2<f32>(0.0, 0.0),
80
- vec2<f32>(1.0, 0.0),
81
- vec2<f32>(0.0, 1.0),
82
- vec2<f32>(1.0, 1.0)
83
- );
84
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
85
- }
66
+ ${FULLSCREEN_QUAD_WGSL}
86
67
 
87
68
  fn sampleDepth(uv: vec2<f32>) -> f32 {
88
69
  var raw: f32 = 0.0;
@@ -239,86 +220,13 @@ fn computeNormal(uv: vec2<f32>, texelSize: vec2<f32>) -> vec3<f32> {
239
220
  return vec4<f32>(clamp(litRgb, vec3<f32>(0.0), vec3<f32>(1.0)), albedo.a);
240
221
  }
241
222
  `;
242
- const deviceResourceCache = /* @__PURE__ */ new WeakMap();
243
- function getDeviceLayouts(device) {
244
- let res = deviceResourceCache.get(device);
245
- if (res) return res;
246
- res = {
247
- uniformLayout: device.createBindGroupLayout({ entries: [{
248
- binding: 0,
249
- visibility: GPUShaderStage.FRAGMENT,
250
- buffer: { type: "uniform" }
251
- }] }),
252
- srcTextureLayout: device.createBindGroupLayout({ entries: [{
253
- binding: 0,
254
- visibility: GPUShaderStage.FRAGMENT,
255
- texture: { sampleType: "float" }
256
- }, {
257
- binding: 1,
258
- visibility: GPUShaderStage.FRAGMENT,
259
- sampler: { type: "filtering" }
260
- }] }),
261
- depthTextureLayout: device.createBindGroupLayout({ entries: [{
262
- binding: 0,
263
- visibility: GPUShaderStage.FRAGMENT,
264
- texture: { sampleType: "float" }
265
- }, {
266
- binding: 1,
267
- visibility: GPUShaderStage.FRAGMENT,
268
- sampler: { type: "filtering" }
269
- }] }),
270
- signalTextureLayout: device.createBindGroupLayout({ entries: [
271
- {
272
- binding: 0,
273
- visibility: GPUShaderStage.FRAGMENT,
274
- texture: { sampleType: "float" }
275
- },
276
- {
277
- binding: 1,
278
- visibility: GPUShaderStage.FRAGMENT,
279
- texture: { sampleType: "float" }
280
- },
281
- {
282
- binding: 2,
283
- visibility: GPUShaderStage.FRAGMENT,
284
- texture: { sampleType: "float" }
285
- },
286
- {
287
- binding: 3,
288
- visibility: GPUShaderStage.FRAGMENT,
289
- texture: { sampleType: "float" }
290
- },
291
- {
292
- binding: 4,
293
- visibility: GPUShaderStage.FRAGMENT,
294
- texture: { sampleType: "float" }
295
- },
296
- {
297
- binding: 5,
298
- visibility: GPUShaderStage.FRAGMENT,
299
- texture: { sampleType: "float" }
300
- },
301
- {
302
- binding: 6,
303
- visibility: GPUShaderStage.FRAGMENT,
304
- texture: { sampleType: "float" }
305
- },
306
- {
307
- binding: 7,
308
- visibility: GPUShaderStage.FRAGMENT,
309
- texture: { sampleType: "float" }
310
- },
311
- {
312
- binding: 8,
313
- visibility: GPUShaderStage.FRAGMENT,
314
- sampler: { type: "filtering" }
315
- }
316
- ] }),
317
- pipelineCache: /* @__PURE__ */ new Map()
318
- };
319
- deviceResourceCache.set(device, res);
320
- return res;
321
- }
223
+ const getDeviceLayouts = perDevice((device) => ({
224
+ uniformLayout: fragmentBindGroupLayout(device, ["uniform"]),
225
+ srcTextureLayout: fragmentBindGroupLayout(device, ["texture", "sampler"]),
226
+ depthTextureLayout: fragmentBindGroupLayout(device, ["texture", "sampler"]),
227
+ signalTextureLayout: texturesLayout(device, 8),
228
+ pipelineCache: /* @__PURE__ */ new Map()
229
+ }));
322
230
  function getRelightResources(device, format) {
323
231
  const layouts = getDeviceLayouts(device);
324
232
  const cacheKey = `relight_${format}`;
@@ -328,24 +236,16 @@ function getRelightResources(device, format) {
328
236
  label: `relight_${format}.wgsl`,
329
237
  code: RELIGHT_SHADER
330
238
  });
331
- pipeline = device.createRenderPipeline({
239
+ pipeline = createFullscreenPipeline(device, {
332
240
  label: `RelightPipeline_${format}`,
333
- layout: device.createPipelineLayout({ bindGroupLayouts: [
241
+ module,
242
+ layouts: [
334
243
  layouts.uniformLayout,
335
244
  layouts.srcTextureLayout,
336
245
  layouts.depthTextureLayout,
337
246
  layouts.signalTextureLayout
338
- ] }),
339
- vertex: {
340
- module,
341
- entryPoint: "vs"
342
- },
343
- fragment: {
344
- module,
345
- entryPoint: "fs",
346
- targets: [{ format }]
347
- },
348
- primitive: { topology: "triangle-strip" }
247
+ ],
248
+ format
349
249
  });
350
250
  layouts.pipelineCache.set(cacheKey, pipeline);
351
251
  }
@@ -357,39 +257,6 @@ function getRelightResources(device, format) {
357
257
  signalTextureLayout: layouts.signalTextureLayout
358
258
  };
359
259
  }
360
- function resolveVal(val, fallback, frame, fps) {
361
- if (val === void 0 || val === null) return fallback;
362
- if (typeof val === "number") return Number.isFinite(val) ? val : fallback;
363
- if (typeof val === "object" && val !== null) {
364
- if ("get" in val && typeof val.get === "function") try {
365
- const res = val.get({
366
- frame,
367
- fps,
368
- time: fps > 0 ? frame / fps : 0,
369
- duration: 0,
370
- durationMs: 0,
371
- progress: 0,
372
- deltaTime: fps > 0 ? 1 / fps : 0
373
- });
374
- const n$1 = Number(res);
375
- if (Number.isFinite(n$1)) return n$1;
376
- } catch {}
377
- if ("value" in val) {
378
- const n$1 = Number(val.value);
379
- if (Number.isFinite(n$1)) return n$1;
380
- }
381
- }
382
- if (typeof val === "function") try {
383
- const n$1 = Number(val({
384
- frame,
385
- fps,
386
- time: fps > 0 ? frame / fps : 0
387
- }));
388
- if (Number.isFinite(n$1)) return n$1;
389
- } catch {}
390
- const n = Number(val);
391
- return Number.isFinite(n) ? n : fallback;
392
- }
393
260
  function resolveSignalField(op, fieldName, defaultValue, minVal, maxVal, frame = 0, fps = 30) {
394
261
  const handleId = op[`${fieldName}HandleId`];
395
262
  const signalInput = handleId ? op.inputs?.[handleId] : null;
@@ -397,14 +264,14 @@ function resolveSignalField(op, fieldName, defaultValue, minVal, maxVal, frame =
397
264
  const sd = hasSignal && signalInput?.outputItem?.data ? signalInput.outputItem.data : null;
398
265
  let value = defaultValue;
399
266
  if (!hasSignal) if (signalInput?.connectionValid && signalInput.outputItem?.type === "Number") {
400
- const raw = resolveVal(signalInput.outputItem.data, defaultValue, frame, fps);
267
+ const raw = resolveFrameNumber(signalInput.outputItem.data, defaultValue, frame, fps);
401
268
  value = Math.max(minVal, Math.min(maxVal, raw));
402
269
  } else {
403
- const raw = resolveVal(op[fieldName], defaultValue, frame, fps);
270
+ const raw = resolveFrameNumber(op[fieldName], defaultValue, frame, fps);
404
271
  value = Math.max(minVal, Math.min(maxVal, raw));
405
272
  }
406
273
  else if (sd) {
407
- const raw = resolveVal(sd.offset, defaultValue, frame, fps);
274
+ const raw = resolveFrameNumber(sd.offset, defaultValue, frame, fps);
408
275
  value = Math.max(minVal, Math.min(maxVal, raw));
409
276
  }
410
277
  return {
@@ -414,7 +281,7 @@ function resolveSignalField(op, fieldName, defaultValue, minVal, maxVal, frame =
414
281
  };
415
282
  }
416
283
  const Relight3DWebGPURenderer = async (args) => {
417
- const { ctx, encoder, pass, targetView, targetTexture, targetWidth, targetHeight, props, drawChild } = args;
284
+ const { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;
418
285
  const frame = props.frame ?? 0;
419
286
  const compositionFrame = props.compositionFrame ?? frame;
420
287
  const fps = props.fps || 30;
@@ -425,69 +292,32 @@ const Relight3DWebGPURenderer = async (args) => {
425
292
  pass.end();
426
293
  const width = targetWidth;
427
294
  const height = targetHeight;
428
- const srcTex = ctx.renderer.getTemporaryTexture(width, height, [...props.excludeTextures || [], targetTexture]);
429
- const srcView = srcTex.createView();
430
- ctx.renderer.beginFrame(encoder, srcView, {
431
- r: 0,
432
- g: 0,
433
- b: 0,
434
- a: 0
435
- }, width, height, "clear").end();
436
- ctx.renderer.pushScissor({
437
- x: 0,
438
- y: 0,
439
- width,
440
- height
441
- });
442
- ctx.renderer.pushIdentity();
443
- await drawChild(sourceMedia, {
295
+ const { texture: srcTex } = await drawChildToTexture(args, sourceMedia, { props: {
444
296
  ...props,
445
297
  virtualMedia: sourceMedia,
446
298
  containerWidth: width,
447
299
  containerHeight: height
448
- }, srcView, srcTex, width, height);
449
- ctx.renderer.popTransform();
450
- ctx.renderer.popScissor();
300
+ } });
451
301
  args.pass.end();
452
302
  const normalMedia = op.normalMedia ?? (op.inputs?.normalMap?.connectionValid ? op.inputs.normalMap.outputItem?.data : null);
453
303
  const depthMedia = normalMedia ?? op.depthMedia;
454
304
  let depthTex;
455
- let depthView;
456
305
  let hasDepthMap = false;
457
306
  const hasNormalMap = Boolean(normalMedia);
458
307
  if (depthMedia) {
459
- depthTex = ctx.renderer.getTemporaryTexture(width, height, [
460
- ...props.excludeTextures || [],
461
- targetTexture,
462
- srcTex
463
- ]);
464
- depthView = depthTex.createView();
465
- ctx.renderer.beginFrame(encoder, depthView, {
466
- r: 0,
467
- g: 0,
468
- b: 0,
469
- a: 0
470
- }, width, height, "clear").end();
471
- ctx.renderer.pushScissor({
472
- x: 0,
473
- y: 0,
474
- width,
475
- height
476
- });
477
- ctx.renderer.pushIdentity();
478
- await drawChild(depthMedia, {
479
- ...props,
480
- virtualMedia: depthMedia,
481
- containerWidth: width,
482
- containerHeight: height
483
- }, depthView, depthTex, width, height);
484
- ctx.renderer.popTransform();
485
- ctx.renderer.popScissor();
308
+ ({texture: depthTex} = await drawChildToTexture(args, depthMedia, {
309
+ props: {
310
+ ...props,
311
+ virtualMedia: depthMedia,
312
+ containerWidth: width,
313
+ containerHeight: height
314
+ },
315
+ exclude: [srcTex]
316
+ }));
486
317
  args.pass.end();
487
318
  hasDepthMap = true;
488
319
  } else {
489
320
  depthTex = srcTex;
490
- depthView = srcView;
491
321
  hasDepthMap = false;
492
322
  }
493
323
  const { pipeline, uniformLayout: uLayout, srcTextureLayout: srcLayout, depthTextureLayout: depthLayout, signalTextureLayout: sigLayout } = getRelightResources(ctx.device, ctx.renderer.format);
@@ -560,86 +390,62 @@ const Relight3DWebGPURenderer = async (args) => {
560
390
  targetTexture,
561
391
  ...props.excludeTextures || []
562
392
  ]);
563
- const renderPass = encoder.beginRenderPass({ colorAttachments: [{
564
- view: outTex.createView(),
565
- loadOp: "clear",
566
- storeOp: "store",
567
- clearValue: {
568
- r: 0,
569
- g: 0,
570
- b: 0,
571
- a: 0
572
- }
573
- }] });
574
- renderPass.setPipeline(pipeline);
575
- renderPass.setBindGroup(0, ctx.device.createBindGroup({
576
- layout: uLayout,
577
- entries: [{
578
- binding: 0,
579
- resource: { buffer: uniformBuffer }
580
- }]
581
- }));
582
- renderPass.setBindGroup(1, ctx.renderer.bindGroupCache.getBindGroup(ctx.device, srcLayout, srcTex, sampler));
583
- renderPass.setBindGroup(2, ctx.renderer.bindGroupCache.getBindGroup(ctx.device, depthLayout, depthTex, sampler));
584
- renderPass.setBindGroup(3, ctx.device.createBindGroup({
585
- layout: sigLayout,
586
- entries: [
587
- {
393
+ drawFullscreenPass(encoder, outTex.createView(), pipeline, [
394
+ ctx.device.createBindGroup({
395
+ layout: uLayout,
396
+ entries: [{
588
397
  binding: 0,
589
- resource: sigIntensityView
590
- },
591
- {
592
- binding: 1,
593
- resource: sigPosXView
594
- },
595
- {
596
- binding: 2,
597
- resource: sigPosYView
598
- },
599
- {
600
- binding: 3,
601
- resource: sigPosZView
602
- },
603
- {
604
- binding: 4,
605
- resource: sigRadiusView
606
- },
607
- {
608
- binding: 5,
609
- resource: sigRoughnessView
610
- },
611
- {
612
- binding: 6,
613
- resource: sigSpecularView
614
- },
615
- {
616
- binding: 7,
617
- resource: sigVolumetricView
618
- },
619
- {
620
- binding: 8,
621
- resource: sampler
622
- }
623
- ]
624
- }));
625
- renderPass.draw(4);
626
- renderPass.end();
627
- const finalPass = ctx.renderer.beginFrame(encoder, targetView, {
628
- r: 0,
629
- g: 0,
630
- b: 0,
631
- a: 0
632
- }, targetWidth, targetHeight, "load");
633
- ctx.renderer.drawTexture(finalPass, outTex, {
634
- x: 0,
635
- y: 0,
636
- width: targetWidth,
637
- height: targetHeight
638
- }, { opacity: op.opacity ?? 1 });
639
- args.pass = finalPass;
398
+ resource: { buffer: uniformBuffer }
399
+ }]
400
+ }),
401
+ ctx.renderer.bindGroupCache.getBindGroup(ctx.device, srcLayout, srcTex, sampler),
402
+ ctx.renderer.bindGroupCache.getBindGroup(ctx.device, depthLayout, depthTex, sampler),
403
+ ctx.device.createBindGroup({
404
+ layout: sigLayout,
405
+ entries: [
406
+ {
407
+ binding: 0,
408
+ resource: sigIntensityView
409
+ },
410
+ {
411
+ binding: 1,
412
+ resource: sigPosXView
413
+ },
414
+ {
415
+ binding: 2,
416
+ resource: sigPosYView
417
+ },
418
+ {
419
+ binding: 3,
420
+ resource: sigPosZView
421
+ },
422
+ {
423
+ binding: 4,
424
+ resource: sigRadiusView
425
+ },
426
+ {
427
+ binding: 5,
428
+ resource: sigRoughnessView
429
+ },
430
+ {
431
+ binding: 6,
432
+ resource: sigSpecularView
433
+ },
434
+ {
435
+ binding: 7,
436
+ resource: sigVolumetricView
437
+ },
438
+ {
439
+ binding: 8,
440
+ resource: sampler
441
+ }
442
+ ]
443
+ })
444
+ ]);
445
+ drawTextureToTarget(args, outTex, op.opacity ?? 1);
640
446
  };
641
447
  var renderers_default = defineRenderer({ WebGPURenderer: Relight3DWebGPURenderer });
642
448
 
643
449
  //#endregion
644
450
  export { renderers_default as t };
645
- //# sourceMappingURL=renderer-BgdkEFmv.mjs.map
451
+ //# sourceMappingURL=renderer-2Nf9ypST.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-2Nf9ypST.mjs","names":[],"sources":["../../../nodes/node-relight-3d/dist/renderers-CXgKN5yn.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveFrameNumber } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { parseColor, signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst RELIGHT_SHADER = `\nstruct RelightUniforms {\n // vec4 0\n lightType : f32, // 0=Point, 1=Spot, 2=Directional, 3=Rim\n intensity : f32,\n lightPosX : f32,\n lightPosY : f32,\n\n // vec4 1\n lightPosZ : f32,\n lightRadius : f32,\n spotConeAngle : f32, // in radians\n specularRoughness : f32,\n\n // vec4 2\n specularStrength : f32,\n metallic : f32,\n ambientIntensity : f32,\n volumetricDensity : f32,\n\n // vec4 3\n depthScale : f32,\n depthInvert : f32,\n hasDepthMap : f32,\n hasNormalMap : f32,\n\n // vec4 4: signal flags\n hasSigIntensity : f32,\n hasSigPosX : f32,\n hasSigPosY : f32,\n hasSigPosZ : f32,\n\n // vec4 5: signal flags\n hasSigRadius : f32,\n hasSigRoughness : f32,\n hasSigSpecular : f32,\n hasSigVolumetric : f32,\n\n // vec4 6 & 7: colors\n lightColor : vec4<f32>,\n ambientColor : vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> u : RelightUniforms;\n\n@group(1) @binding(0) var srcTex : texture_2d<f32>;\n@group(1) @binding(1) var srcSamp : sampler;\n\n@group(2) @binding(0) var depthTex : texture_2d<f32>;\n@group(2) @binding(1) var depthSamp : sampler;\n\n@group(3) @binding(0) var intensitySigTex : texture_2d<f32>;\n@group(3) @binding(1) var posXSigTex : texture_2d<f32>;\n@group(3) @binding(2) var posYSigTex : texture_2d<f32>;\n@group(3) @binding(3) var posZSigTex : texture_2d<f32>;\n@group(3) @binding(4) var radiusSigTex : texture_2d<f32>;\n@group(3) @binding(5) var roughnessSigTex : texture_2d<f32>;\n@group(3) @binding(6) var specularSigTex : texture_2d<f32>;\n@group(3) @binding(7) var volumetricSigTex : texture_2d<f32>;\n@group(3) @binding(8) var sigSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleDepth(uv: vec2<f32>) -> f32 {\n var raw: f32 = 0.0;\n if (u.hasDepthMap > 0.5) {\n let dSample = textureSampleLevel(depthTex, depthSamp, clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0)), 0.0);\n raw = dot(dSample.rgb, vec3<f32>(0.299, 0.587, 0.114));\n } else {\n let c = textureSampleLevel(srcTex, srcSamp, clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0)), 0.0);\n raw = dot(c.rgb, vec3<f32>(0.299, 0.587, 0.114));\n }\n if (u.depthInvert > 0.5) {\n raw = 1.0 - raw;\n }\n return raw;\n}\n\nfn sampleSmoothDepth(uv: vec2<f32>, texelSize: vec2<f32>) -> f32 {\n let d0 = sampleDepth(uv);\n let d1 = sampleDepth(uv + vec2<f32>(texelSize.x, 0.0));\n let d2 = sampleDepth(uv - vec2<f32>(texelSize.x, 0.0));\n let d3 = sampleDepth(uv + vec2<f32>(0.0, texelSize.y));\n let d4 = sampleDepth(uv - vec2<f32>(0.0, texelSize.y));\n return (d0 * 4.0 + d1 + d2 + d3 + d4) * 0.125;\n}\n\nfn computeNormal(uv: vec2<f32>, texelSize: vec2<f32>) -> vec3<f32> {\n if (u.hasNormalMap > 0.5) {\n let rawNormal = textureSampleLevel(depthTex, depthSamp, clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0)), 0.0).rgb;\n return normalize(rawNormal * 2.0 - 1.0);\n }\n let step = texelSize * 2.5;\n let dL = sampleSmoothDepth(uv - vec2<f32>(step.x, 0.0), texelSize);\n let dR = sampleSmoothDepth(uv + vec2<f32>(step.x, 0.0), texelSize);\n let dD = sampleSmoothDepth(uv - vec2<f32>(0.0, step.y), texelSize);\n let dU = sampleSmoothDepth(uv + vec2<f32>(0.0, step.y), texelSize);\n\n let dx = (dR - dL) * u.depthScale * 1.5;\n let dy = (dU - dD) * u.depthScale * 1.5;\n return normalize(vec3<f32>(-dx, -dy, 1.0));\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n let albedo = textureSampleLevel(srcTex, srcSamp, in.uv, 0.0);\n if (albedo.a <= 0.0) {\n return albedo;\n }\n\n let dims = vec2<f32>(textureDimensions(srcTex));\n let texelSize = vec2<f32>(1.0 / dims.x, 1.0 / dims.y);\n let aspect = dims.x / dims.y;\n\n // Resolve signals\n var intensity = u.intensity;\n if (u.hasSigIntensity > 0.5) {\n intensity = textureSampleLevel(intensitySigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var posX = u.lightPosX;\n if (u.hasSigPosX > 0.5) {\n posX = textureSampleLevel(posXSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var posY = u.lightPosY;\n if (u.hasSigPosY > 0.5) {\n posY = textureSampleLevel(posYSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var posZ = u.lightPosZ;\n if (u.hasSigPosZ > 0.5) {\n posZ = textureSampleLevel(posZSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var radius = u.lightRadius;\n if (u.hasSigRadius > 0.5) {\n radius = max(0.05, textureSampleLevel(radiusSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var roughness = u.specularRoughness;\n if (u.hasSigRoughness > 0.5) {\n roughness = clamp(textureSampleLevel(roughnessSigTex, sigSamp, in.uv, 0.0).r, 0.01, 1.0);\n }\n\n var specularStrength = u.specularStrength;\n if (u.hasSigSpecular > 0.5) {\n specularStrength = max(0.0, textureSampleLevel(specularSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var volumetricDensity = u.volumetricDensity;\n if (u.hasSigVolumetric > 0.5) {\n volumetricDensity = clamp(textureSampleLevel(volumetricSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n // Geometry & Surface Normals\n let depth = sampleSmoothDepth(in.uv, texelSize) * u.depthScale;\n let N = computeNormal(in.uv, texelSize);\n let V = vec3<f32>(0.0, 0.0, 1.0);\n\n // 3D coordinates (Aspect corrected for uniform radius)\n let pSurface = vec3<f32>((in.uv.x - 0.5) * aspect, in.uv.y - 0.5, - (1.0 - depth) * 0.4);\n let pLight = vec3<f32>((posX - 0.5) * aspect, posY - 0.5, max(0.02, posZ));\n\n let toLight = pLight - pSurface;\n let dist3D = length(toLight);\n var L = normalize(toLight);\n\n // Attenuation\n var att = 1.0 / (1.0 + (dist3D / max(0.05, radius)) * (dist3D / max(0.05, radius)));\n var diffuse = max(dot(N, L), 0.0);\n let H = normalize(L + V);\n let NdotH = max(dot(N, H), 0.0);\n let specPower = max(2.0, 2.0 / (roughness * roughness) - 2.0);\n var specular = pow(NdotH, specPower) * specularStrength;\n\n let lightMode = u.lightType;\n\n if (lightMode > 0.5 && lightMode < 1.5) {\n // Spot Light\n let spotDir = normalize(vec3<f32>(0.0, 0.0, -1.0));\n let spotAngleCos = dot(-L, spotDir);\n let coneCos = cos(u.spotConeAngle);\n let spotAtt = smoothstep(coneCos, coneCos + 0.15, spotAngleCos);\n\n diffuse = diffuse * spotAtt;\n specular = specular * spotAtt;\n } else if (lightMode > 1.5 && lightMode < 2.5) {\n // Directional Light\n L = normalize(vec3<f32>(posX - 0.5, posY - 0.5, max(0.1, posZ)));\n att = 1.0;\n diffuse = max(dot(N, L), 0.0);\n let dirH = normalize(L + V);\n specular = pow(max(dot(N, dirH), 0.0), specPower) * specularStrength;\n } else if (lightMode > 2.5) {\n // Rim Light\n let rimTerm = 1.0 - max(dot(N, V), 0.0);\n let rim = pow(rimTerm, 2.5) * (0.5 + depth * 0.8) * 1.5;\n diffuse = max(dot(N, L), 0.0) * 0.2 + rim;\n }\n\n // Volumetric Atmospheric Light Scatter / Glow\n let dist2D = length(vec2<f32>((in.uv.x - posX) * aspect, in.uv.y - posY));\n let volGlow = volumetricDensity * (1.0 / (1.0 + (dist2D / (radius * 0.5)) * (dist2D / (radius * 0.5)))) * (1.0 - clamp(depth * 0.3, 0.0, 0.8));\n\n let lightCol = u.lightColor.rgb;\n let ambientCol = u.ambientColor.rgb;\n\n // Natural Relighting Energy Distribution\n let ambientLighting = ambientCol * clamp(u.ambientIntensity, 0.0, 1.5);\n let diffuseLighting = lightCol * (diffuse * att * intensity * 0.6);\n let specularLighting = mix(vec3<f32>(1.0), albedo.rgb, u.metallic) * (specular * att * intensity * 0.35);\n let volLighting = lightCol * (volGlow * intensity * 0.2);\n\n let litRgb = albedo.rgb * (ambientLighting + diffuseLighting) + specularLighting + volLighting;\n\n return vec4<f32>(clamp(litRgb, vec3<f32>(0.0), vec3<f32>(1.0)), albedo.a);\n}\n`;\nconst getDeviceLayouts = perDevice((device) => ({\n\tuniformLayout: fragmentBindGroupLayout(device, [\"uniform\"]),\n\tsrcTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tdepthTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tsignalTextureLayout: texturesLayout(device, 8),\n\tpipelineCache: /* @__PURE__ */ new Map()\n}));\nfunction getRelightResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `relight_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: `relight_${format}.wgsl`,\n\t\t\tcode: RELIGHT_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `RelightPipeline_${format}`,\n\t\t\tmodule,\n\t\t\tlayouts: [\n\t\t\t\tlayouts.uniformLayout,\n\t\t\t\tlayouts.srcTextureLayout,\n\t\t\t\tlayouts.depthTextureLayout,\n\t\t\t\tlayouts.signalTextureLayout\n\t\t\t],\n\t\t\tformat\n\t\t});\n\t\tlayouts.pipelineCache.set(cacheKey, pipeline);\n\t}\n\treturn {\n\t\tpipeline,\n\t\tuniformLayout: layouts.uniformLayout,\n\t\tsrcTextureLayout: layouts.srcTextureLayout,\n\t\tdepthTextureLayout: layouts.depthTextureLayout,\n\t\tsignalTextureLayout: layouts.signalTextureLayout\n\t};\n}\nfunction resolveSignalField(op, fieldName, defaultValue, minVal, maxVal, frame = 0, fps = 30) {\n\tconst handleId = op[`${fieldName}HandleId`];\n\tconst signalInput = handleId ? op.inputs?.[handleId] : null;\n\tconst hasSignal = !!(signalInput?.connectionValid && (signalInput.outputItem?.type === \"Signal\" || signalInput.outputItem?.type === \"Numeric\"));\n\tconst sd = hasSignal && signalInput?.outputItem?.data ? signalInput.outputItem.data : null;\n\tlet value = defaultValue;\n\tif (!hasSignal) if (signalInput?.connectionValid && signalInput.outputItem?.type === \"Number\") {\n\t\tconst raw = resolveFrameNumber(signalInput.outputItem.data, defaultValue, frame, fps);\n\t\tvalue = Math.max(minVal, Math.min(maxVal, raw));\n\t} else {\n\t\tconst raw = resolveFrameNumber(op[fieldName], defaultValue, frame, fps);\n\t\tvalue = Math.max(minVal, Math.min(maxVal, raw));\n\t}\n\telse if (sd) {\n\t\tconst raw = resolveFrameNumber(sd.offset, defaultValue, frame, fps);\n\t\tvalue = Math.max(minVal, Math.min(maxVal, raw));\n\t}\n\treturn {\n\t\thasSignal,\n\t\tsd,\n\t\tvalue\n\t};\n}\nconst Relight3DWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst frame = props.frame ?? 0;\n\tconst compositionFrame = props.compositionFrame ?? frame;\n\tconst fps = props.fps || 30;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"Relight3D\" || !op) return;\n\tconst sourceMedia = props.virtualMedia.children?.[0];\n\tif (!sourceMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst { texture: srcTex } = await drawChildToTexture(args, sourceMedia, { props: {\n\t\t...props,\n\t\tvirtualMedia: sourceMedia,\n\t\tcontainerWidth: width,\n\t\tcontainerHeight: height\n\t} });\n\targs.pass.end();\n\tconst normalMedia = op.normalMedia ?? (op.inputs?.normalMap?.connectionValid ? op.inputs.normalMap.outputItem?.data : null);\n\tconst depthMedia = normalMedia ?? op.depthMedia;\n\tlet depthTex;\n\tlet hasDepthMap = false;\n\tconst hasNormalMap = Boolean(normalMedia);\n\tif (depthMedia) {\n\t\t({texture: depthTex} = await drawChildToTexture(args, depthMedia, {\n\t\t\tprops: {\n\t\t\t\t...props,\n\t\t\t\tvirtualMedia: depthMedia,\n\t\t\t\tcontainerWidth: width,\n\t\t\t\tcontainerHeight: height\n\t\t\t},\n\t\t\texclude: [srcTex]\n\t\t}));\n\t\targs.pass.end();\n\t\thasDepthMap = true;\n\t} else {\n\t\tdepthTex = srcTex;\n\t\thasDepthMap = false;\n\t}\n\tconst { pipeline, uniformLayout: uLayout, srcTextureLayout: srcLayout, depthTextureLayout: depthLayout, signalTextureLayout: sigLayout } = getRelightResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst elapsedSeconds = props.elapsedMs !== void 0 ? props.elapsedMs / 1e3 : compositionFrame / fps;\n\tconst durationSeconds = props.virtualMedia?.metadata?.durationMs ? props.virtualMedia.metadata.durationMs / 1e3 : props.durationMs !== void 0 ? props.durationMs / 1e3 : 4;\n\tconst intensityInfo = resolveSignalField(op, \"intensity\", 1, 0, 10, compositionFrame, fps);\n\tconst posXInfo = resolveSignalField(op, \"lightPosX\", .5, 0, 1, compositionFrame, fps);\n\tconst posYInfo = resolveSignalField(op, \"lightPosY\", .5, 0, 1, compositionFrame, fps);\n\tconst posZInfo = resolveSignalField(op, \"lightPosZ\", .3, -2, 2, compositionFrame, fps);\n\tconst radiusInfo = resolveSignalField(op, \"lightRadius\", .8, .05, 5, compositionFrame, fps);\n\tconst spotConeInfo = resolveSignalField(op, \"spotConeAngle\", 45, 5, 90, compositionFrame, fps);\n\tconst roughnessInfo = resolveSignalField(op, \"specularRoughness\", .35, .01, 1, compositionFrame, fps);\n\tconst specularInfo = resolveSignalField(op, \"specularStrength\", .7, 0, 3, compositionFrame, fps);\n\tconst metallicInfo = resolveSignalField(op, \"metallic\", 0, 0, 1, compositionFrame, fps);\n\tconst ambientInfo = resolveSignalField(op, \"ambientIntensity\", .4, 0, 2, compositionFrame, fps);\n\tconst volumetricInfo = resolveSignalField(op, \"volumetricDensity\", .2, 0, 1, compositionFrame, fps);\n\tconst depthScaleInfo = resolveSignalField(op, \"depthScale\", 1, .1, 10, compositionFrame, fps);\n\tconst getSigTextureView = (info, fallbackId) => {\n\t\tif (info.hasSignal && info.sd) return signalRegistry.getOrCreate2DTextureView(ctx.device, encoder, info.sd.nodeId ?? fallbackId, elapsedSeconds, durationSeconds, info.sd, width, height, props.renderId, compositionFrame, fps);\n\t\treturn signalRegistry.getDummy1x1TextureView(ctx.device);\n\t};\n\tconst sigIntensityView = getSigTextureView(intensityInfo, \"relight_int_sig\");\n\tconst sigPosXView = getSigTextureView(posXInfo, \"relight_posx_sig\");\n\tconst sigPosYView = getSigTextureView(posYInfo, \"relight_posy_sig\");\n\tconst sigPosZView = getSigTextureView(posZInfo, \"relight_posz_sig\");\n\tconst sigRadiusView = getSigTextureView(radiusInfo, \"relight_rad_sig\");\n\tconst sigRoughnessView = getSigTextureView(roughnessInfo, \"relight_rough_sig\");\n\tconst sigSpecularView = getSigTextureView(specularInfo, \"relight_spec_sig\");\n\tconst sigVolumetricView = getSigTextureView(volumetricInfo, \"relight_vol_sig\");\n\tconst uniformData = new Float32Array(32);\n\tconst lightColorParsed = parseColor(op.lightColor ?? \"#ffffff\");\n\tconst ambientColorParsed = parseColor(op.ambientColor ?? \"#ffffff\");\n\tuniformData[0] = op.lightType === \"Spot\" ? 1 : op.lightType === \"Directional\" ? 2 : op.lightType === \"Rim\" ? 3 : 0;\n\tuniformData[1] = intensityInfo.value;\n\tuniformData[2] = posXInfo.value;\n\tuniformData[3] = posYInfo.value;\n\tuniformData[4] = posZInfo.value;\n\tuniformData[5] = radiusInfo.value;\n\tuniformData[6] = spotConeInfo.value * Math.PI / 180;\n\tuniformData[7] = roughnessInfo.value;\n\tuniformData[8] = specularInfo.value;\n\tuniformData[9] = metallicInfo.value;\n\tuniformData[10] = ambientInfo.value;\n\tuniformData[11] = volumetricInfo.value;\n\tuniformData[12] = depthScaleInfo.value;\n\tuniformData[13] = op.depthInvert ? 1 : 0;\n\tuniformData[14] = hasDepthMap || hasNormalMap ? 1 : 0;\n\tuniformData[15] = hasNormalMap ? 1 : 0;\n\tuniformData[16] = intensityInfo.hasSignal ? 1 : 0;\n\tuniformData[17] = posXInfo.hasSignal ? 1 : 0;\n\tuniformData[18] = posYInfo.hasSignal ? 1 : 0;\n\tuniformData[19] = posZInfo.hasSignal ? 1 : 0;\n\tuniformData[20] = radiusInfo.hasSignal ? 1 : 0;\n\tuniformData[21] = roughnessInfo.hasSignal ? 1 : 0;\n\tuniformData[22] = specularInfo.hasSignal ? 1 : 0;\n\tuniformData[23] = volumetricInfo.hasSignal ? 1 : 0;\n\tuniformData[24] = lightColorParsed.r;\n\tuniformData[25] = lightColorParsed.g;\n\tuniformData[26] = lightColorParsed.b;\n\tuniformData[27] = lightColorParsed.a;\n\tuniformData[28] = ambientColorParsed.r;\n\tuniformData[29] = ambientColorParsed.g;\n\tuniformData[30] = ambientColorParsed.b;\n\tuniformData[31] = ambientColorParsed.a;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(uniformData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\tsrcTex,\n\t\tdepthTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: uLayout,\n\t\t\tentries: [{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: { buffer: uniformBuffer }\n\t\t\t}]\n\t\t}),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, srcLayout, srcTex, sampler),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, depthLayout, depthTex, sampler),\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: sigLayout,\n\t\t\tentries: [\n\t\t\t\t{\n\t\t\t\t\tbinding: 0,\n\t\t\t\t\tresource: sigIntensityView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: sigPosXView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: sigPosYView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: sigPosZView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: sigRadiusView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: sigRoughnessView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: sigSpecularView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: sigVolumetricView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 8,\n\t\t\t\t\tresource: sampler\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t]);\n\tdrawTextureToTarget(args, outTex, op.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: Relight3DWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-CXgKN5yn.mjs.map"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { n as defineRenderer } from "./renderer-CtVkU_GA.mjs";
1
+ import { n as defineRenderer } from "./renderer-BSitV56h.mjs";
2
+ import { i as beginTargetPass, l as fragmentBindGroupLayout, o as drawChildToTexture } from "./gpu-RkpiFGOA.mjs";
2
3
 
3
- //#region ../../nodes/node-mesh-warp/dist/renderers-DzkHlv-9.mjs
4
+ //#region ../../nodes/node-mesh-warp/dist/renderers-OcO6N-y5.mjs
4
5
  function createUniformGrid(cols, rows) {
5
6
  const points = [];
6
7
  for (let r = 0; r < rows; r++) {
@@ -113,15 +114,7 @@ function getMeshWarpResources(device, format) {
113
114
  visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,
114
115
  buffer: { type: "uniform" }
115
116
  }] });
116
- const warpTextureLayout = device.createBindGroupLayout({ entries: [{
117
- binding: 0,
118
- visibility: GPUShaderStage.FRAGMENT,
119
- texture: { sampleType: "float" }
120
- }, {
121
- binding: 1,
122
- visibility: GPUShaderStage.FRAGMENT,
123
- sampler: { type: "filtering" }
124
- }] });
117
+ const warpTextureLayout = fragmentBindGroupLayout(device, ["texture", "sampler"]);
125
118
  const module = device.createShaderModule({
126
119
  label: "mesh_warp.wgsl",
127
120
  code: meshWarpWgsl
@@ -163,7 +156,7 @@ function getMeshWarpResources(device, format) {
163
156
  return res;
164
157
  }
165
158
  const MeshWarpWebGPURenderer = async (args) => {
166
- const { ctx, props, drawChild, targetTexture, targetView, targetWidth, targetHeight, encoder } = args;
159
+ const { ctx, props, targetWidth, targetHeight } = args;
167
160
  const { virtualMedia } = props;
168
161
  const op = virtualMedia?.operation;
169
162
  if (!op || op.op !== "MeshWarp") return;
@@ -172,28 +165,15 @@ const MeshWarpWebGPURenderer = async (args) => {
172
165
  const sourceWidth = op.originalWidth ?? childMedia.metadata?.width ?? props.containerWidth ?? targetWidth;
173
166
  const sourceHeight = op.originalHeight ?? childMedia.metadata?.height ?? props.containerHeight ?? targetHeight;
174
167
  args.pass.end();
175
- const childTex = ctx.renderer.getTemporaryTexture(sourceWidth, sourceHeight, [...props.excludeTextures || [], targetTexture]);
176
- const childView = childTex.createView();
177
- ctx.renderer.beginFrame(encoder, childView, {
178
- r: 0,
179
- g: 0,
180
- b: 0,
181
- a: 0
182
- }, sourceWidth, sourceHeight, "clear").end();
183
- ctx.renderer.pushScissor({
184
- x: 0,
185
- y: 0,
168
+ const { texture: childTex } = await drawChildToTexture(args, childMedia, {
186
169
  width: sourceWidth,
187
- height: sourceHeight
170
+ height: sourceHeight,
171
+ props: {
172
+ ...props,
173
+ containerWidth: sourceWidth,
174
+ containerHeight: sourceHeight
175
+ }
188
176
  });
189
- ctx.renderer.pushIdentity();
190
- await drawChild(childMedia, {
191
- ...props,
192
- containerWidth: sourceWidth,
193
- containerHeight: sourceHeight
194
- }, childView, childTex, sourceWidth, sourceHeight);
195
- ctx.renderer.popTransform();
196
- ctx.renderer.popScissor();
197
177
  const cols = Number(op.cols) || 3;
198
178
  const rows = Number(op.rows) || 3;
199
179
  const points = op.points || [];
@@ -232,21 +212,15 @@ const MeshWarpWebGPURenderer = async (args) => {
232
212
  }]
233
213
  });
234
214
  const textureBindGroup = ctx.renderer.bindGroupCache.getBindGroup(ctx.device, tLayout, childTex, sampler);
235
- const outPass = ctx.renderer.beginFrame(encoder, targetView, {
236
- r: 0,
237
- g: 0,
238
- b: 0,
239
- a: 0
240
- }, targetWidth, targetHeight, "load");
215
+ const outPass = beginTargetPass(args);
241
216
  outPass.setPipeline(pipeline);
242
217
  outPass.setBindGroup(0, uniformBindGroup);
243
218
  outPass.setBindGroup(1, textureBindGroup);
244
219
  const vertexCount = (cols - 1) * (rows - 1) * 6;
245
220
  outPass.draw(vertexCount);
246
- args.pass = outPass;
247
221
  };
248
222
  var renderers_default = defineRenderer({ WebGPURenderer: MeshWarpWebGPURenderer });
249
223
 
250
224
  //#endregion
251
225
  export { renderers_default as t };
252
- //# sourceMappingURL=renderer-BREIjsUU.mjs.map
226
+ //# sourceMappingURL=renderer-2uN2cd0y.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-2uN2cd0y.mjs","names":[],"sources":["../../../nodes/node-mesh-warp/dist/renderers-OcO6N-y5.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { beginTargetPass, drawChildToTexture, fragmentBindGroupLayout } from \"@framefields/node-sdk/gpu\";\n\n//#region src/shared/utils.ts\nfunction createUniformGrid(cols, rows) {\n\tconst points = [];\n\tfor (let r = 0; r < rows; r++) {\n\t\tconst y = r / (rows - 1) * 100;\n\t\tfor (let c = 0; c < cols; c++) {\n\t\t\tconst x = c / (cols - 1) * 100;\n\t\t\tpoints.push({\n\t\t\t\tx,\n\t\t\t\ty\n\t\t\t});\n\t\t}\n\t}\n\treturn points;\n}\nfunction interpolateGridPoint(u, v, oldPoints, oldCols, oldRows) {\n\tconst px = u * (oldCols - 1);\n\tconst py = v * (oldRows - 1);\n\tconst x0 = Math.floor(px);\n\tconst x1 = Math.min(oldCols - 1, x0 + 1);\n\tconst y0 = Math.floor(py);\n\tconst y1 = Math.min(oldRows - 1, y0 + 1);\n\tconst tx = px - x0;\n\tconst ty = py - y0;\n\tconst p00 = oldPoints[y0 * oldCols + x0];\n\tconst p10 = oldPoints[y0 * oldCols + x1];\n\tconst p01 = oldPoints[y1 * oldCols + x0];\n\tconst p11 = oldPoints[y1 * oldCols + x1];\n\tif (!p00 || !p10 || !p01 || !p11) return {\n\t\tx: u * 100,\n\t\ty: v * 100\n\t};\n\treturn {\n\t\tx: (1 - tx) * (1 - ty) * p00.x + tx * (1 - ty) * p10.x + (1 - tx) * ty * p01.x + tx * ty * p11.x,\n\t\ty: (1 - tx) * (1 - ty) * p00.y + tx * (1 - ty) * p10.y + (1 - tx) * ty * p01.y + tx * ty * p11.y\n\t};\n}\nfunction resizeGrid(oldPoints, oldCols, oldRows, newCols, newRows) {\n\tif (!oldPoints || oldPoints.length !== oldCols * oldRows) return createUniformGrid(newCols, newRows);\n\tconst points = [];\n\tfor (let r = 0; r < newRows; r++) {\n\t\tconst v = r / (newRows - 1);\n\t\tfor (let c = 0; c < newCols; c++) {\n\t\t\tconst u = c / (newCols - 1);\n\t\t\tpoints.push(interpolateGridPoint(u, v, oldPoints, oldCols, oldRows));\n\t\t}\n\t}\n\treturn points;\n}\n\n//#endregion\n//#region src/renderers/webgpu-renderer.ts\nconst meshWarpWgsl = `\nstruct MeshUniforms {\n\tgridSize : vec2<f32>,\n\tlayerSize : vec2<f32>,\n\tmatrix_col0 : vec4<f32>,\n\tmatrix_col1 : vec4<f32>,\n\tpoints : array<vec4<f32>, 144>,\n};\n\n@group(0) @binding(0) var<uniform> u : MeshUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n\nstruct VSOut {\n\t@builtin(position) pos : vec4<f32>,\n\t@location(0) uv : vec2<f32>,\n};\n\n@vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {\n\tlet cols = u32(u.gridSize.x);\n\tlet rows = u32(u.gridSize.y);\n\t\n\tlet cellsCol = cols - 1u;\n\tlet cellsRow = rows - 1u;\n\tlet totalCells = cellsCol * cellsRow;\n\t\n\tlet cellIndex = vi / 6u;\n\tlet vertexInCell = vi % 6u;\n\t\n\tif (cellIndex >= totalCells) {\n\t\treturn VSOut(vec4<f32>(0.0), vec4<f32>(0.0).xy);\n\t}\n\t\n\tlet cellC = cellIndex % cellsCol;\n\tlet cellR = cellIndex / cellsCol;\n\t\n\tvar colOffset = 0u;\n\tvar rowOffset = 0u;\n\t\n\t// Mapping vertex index in cell to quad corner offset\n\t// Triangle 1: TL (0,0), TR (1,0), BL (0,1)\n\t// Triangle 2: TR (1,0), BR (1,1), BL (0,1)\n\tif (vertexInCell == 1u) { // TR\n\t\tcolOffset = 1u;\n\t\trowOffset = 0u;\n\t} else if (vertexInCell == 2u) { // BL\n\t\tcolOffset = 0u;\n\t\trowOffset = 1u;\n\t} else if (vertexInCell == 3u) { // TR\n\t\tcolOffset = 1u;\n\t\trowOffset = 0u;\n\t} else if (vertexInCell == 4u) { // BR\n\t\tcolOffset = 1u;\n\t\trowOffset = 1u;\n\t} else if (vertexInCell == 5u) { // BL\n\t\tcolOffset = 0u;\n\t\trowOffset = 1u;\n\t}\n\t// Vertex 0 is TL (colOffset=0, rowOffset=0)\n\t\n\tlet gridC = cellC + colOffset;\n\tlet gridR = cellR + rowOffset;\n\t\n\tlet pointIndex = gridR * cols + gridC;\n\tlet warpedPoint = u.points[pointIndex].xy;\n\t\n\tlet lx = (warpedPoint.x / 100.0) * u.layerSize.x;\n\tlet ly = (warpedPoint.y / 100.0) * u.layerSize.y;\n\t\n\tlet tx = u.matrix_col0.x * lx + u.matrix_col0.y * ly + u.matrix_col0.z;\n\tlet ty = u.matrix_col1.x * lx + u.matrix_col1.y * ly + u.matrix_col1.z;\n\t\n\tlet targetW = u.matrix_col0.w;\n\tlet targetH = u.matrix_col1.w;\n\t\n\tlet x_clip = (tx / targetW) * 2.0 - 1.0;\n\tlet y_clip = 1.0 - (ty / targetH) * 2.0;\n\t\n\tlet u_coord = f32(gridC) / f32(cellsCol);\n\tlet v_coord = f32(gridR) / f32(cellsRow);\n\t\n\treturn VSOut(vec4<f32>(x_clip, y_clip, 0.0, 1.0), vec2<f32>(u_coord, v_coord));\n}\n\n@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {\n\tlet color = textureSampleLevel(tex, samp, in.uv, 0.0);\n\treturn color;\n}\n`;\nconst deviceResourceCache = /* @__PURE__ */ new WeakMap();\nfunction getMeshWarpResources(device, format) {\n\tlet res = deviceResourceCache.get(device);\n\tif (!res) {\n\t\tconst warpUniformLayout = device.createBindGroupLayout({ entries: [{\n\t\t\tbinding: 0,\n\t\t\tvisibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,\n\t\t\tbuffer: { type: \"uniform\" }\n\t\t}] });\n\t\tconst warpTextureLayout = fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]);\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: \"mesh_warp.wgsl\",\n\t\t\tcode: meshWarpWgsl\n\t\t});\n\t\tres = {\n\t\t\twarpPipeline: device.createRenderPipeline({\n\t\t\t\tlabel: \"MeshWarpPipeline\",\n\t\t\t\tlayout: device.createPipelineLayout({ bindGroupLayouts: [warpUniformLayout, warpTextureLayout] }),\n\t\t\t\tvertex: {\n\t\t\t\t\tmodule,\n\t\t\t\t\tentryPoint: \"vs\"\n\t\t\t\t},\n\t\t\t\tfragment: {\n\t\t\t\t\tmodule,\n\t\t\t\t\tentryPoint: \"fs\",\n\t\t\t\t\ttargets: [{\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tblend: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tsrcFactor: \"src-alpha\",\n\t\t\t\t\t\t\t\tdstFactor: \"one-minus-src-alpha\",\n\t\t\t\t\t\t\t\toperation: \"add\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talpha: {\n\t\t\t\t\t\t\t\tsrcFactor: \"one\",\n\t\t\t\t\t\t\t\tdstFactor: \"one-minus-src-alpha\",\n\t\t\t\t\t\t\t\toperation: \"add\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\tprimitive: { topology: \"triangle-list\" }\n\t\t\t}),\n\t\t\twarpUniformLayout,\n\t\t\twarpTextureLayout\n\t\t};\n\t\tdeviceResourceCache.set(device, res);\n\t}\n\treturn res;\n}\nconst MeshWarpWebGPURenderer = async (args) => {\n\tconst { ctx, props, targetWidth, targetHeight } = args;\n\tconst { virtualMedia } = props;\n\tconst op = virtualMedia?.operation;\n\tif (!op || op.op !== \"MeshWarp\") return;\n\tconst childMedia = virtualMedia.children?.[0];\n\tif (!childMedia) return;\n\tconst sourceWidth = op.originalWidth ?? childMedia.metadata?.width ?? props.containerWidth ?? targetWidth;\n\tconst sourceHeight = op.originalHeight ?? childMedia.metadata?.height ?? props.containerHeight ?? targetHeight;\n\targs.pass.end();\n\tconst { texture: childTex } = await drawChildToTexture(args, childMedia, {\n\t\twidth: sourceWidth,\n\t\theight: sourceHeight,\n\t\tprops: {\n\t\t\t...props,\n\t\t\tcontainerWidth: sourceWidth,\n\t\t\tcontainerHeight: sourceHeight\n\t\t}\n\t});\n\tconst cols = Number(op.cols) || 3;\n\tconst rows = Number(op.rows) || 3;\n\tconst points = op.points || [];\n\tconst finalPoints = points.length === cols * rows ? points : createUniformGrid(cols, rows);\n\tconst maxPoints = 144;\n\tconst uniformData = new Float32Array(12 + maxPoints * 4);\n\tuniformData[0] = cols;\n\tuniformData[1] = rows;\n\tuniformData[2] = props.containerWidth ?? sourceWidth;\n\tuniformData[3] = props.containerHeight ?? sourceHeight;\n\tconst matrix = ctx.renderer.getCurrentTransform();\n\tuniformData[4] = matrix.a;\n\tuniformData[5] = matrix.c;\n\tuniformData[6] = matrix.e;\n\tuniformData[7] = targetWidth;\n\tuniformData[8] = matrix.b;\n\tuniformData[9] = matrix.d;\n\tuniformData[10] = matrix.f;\n\tuniformData[11] = targetHeight;\n\tfor (let i = 0; i < maxPoints; i++) {\n\t\tconst pt = finalPoints[i] || {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t};\n\t\tuniformData[12 + i * 4] = pt.x;\n\t\tuniformData[12 + i * 4 + 1] = pt.y;\n\t}\n\tconst { warpPipeline: pipeline, warpUniformLayout: uLayout, warpTextureLayout: tLayout } = getMeshWarpResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(uniformData);\n\tconst uniformBindGroup = ctx.device.createBindGroup({\n\t\tlayout: uLayout,\n\t\tentries: [{\n\t\t\tbinding: 0,\n\t\t\tresource: { buffer: uniformBuffer }\n\t\t}]\n\t});\n\tconst textureBindGroup = ctx.renderer.bindGroupCache.getBindGroup(ctx.device, tLayout, childTex, sampler);\n\tconst outPass = beginTargetPass(args);\n\toutPass.setPipeline(pipeline);\n\toutPass.setBindGroup(0, uniformBindGroup);\n\toutPass.setBindGroup(1, textureBindGroup);\n\tconst vertexCount = (cols - 1) * (rows - 1) * 6;\n\toutPass.draw(vertexCount);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: MeshWarpWebGPURenderer });\n\n//#endregion\nexport { resizeGrid as i, createUniformGrid as n, interpolateGridPoint as r, renderers_default as t };\n//# sourceMappingURL=renderers-OcO6N-y5.mjs.map"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import "./chunk-GMkBE123.mjs";
2
+ import "./dist-Bun_TUvZ.mjs";
3
+ import { t as renderers_default } from "./renderer-Cjq1s3br.mjs";
4
+
5
+ export { renderers_default as default };
@@ -0,0 +1,5 @@
1
+ import "./chunk-GMkBE123.mjs";
2
+ import "./dist-Bun_TUvZ.mjs";
3
+ import { t as renderers_default } from "./renderer-Bs4tz_pw.mjs";
4
+
5
+ export { renderers_default as default };
@@ -0,0 +1,5 @@
1
+ import "./chunk-GMkBE123.mjs";
2
+ import "./dist-Bun_TUvZ.mjs";
3
+ import { t as renderers_default } from "./renderer-BwVfhrEx.mjs";
4
+
5
+ export { renderers_default as default };
@@ -0,0 +1,5 @@
1
+ import "./chunk-GMkBE123.mjs";
2
+ import "./dist-Bun_TUvZ.mjs";
3
+ import { n as renderers_default, t as rendererNode } from "./renderer-DG1NFsSV.mjs";
4
+
5
+ export { renderers_default as default, rendererNode };