framefields 2.5.2 → 2.5.5

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 (460) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-pIgFoKQ2.d.mts → audio-B5mdR8vv.d.mts} +3 -3
  4. package/dist/{audio-pIgFoKQ2.d.mts.map → audio-B5mdR8vv.d.mts.map} +1 -1
  5. package/dist/{audio-CZwVENqB.mjs → audio-C9euVW4K.mjs} +4 -4
  6. package/dist/{audio-CZwVENqB.mjs.map → audio-C9euVW4K.mjs.map} +1 -1
  7. package/dist/components/index.d.mts +10 -10
  8. package/dist/components/index.mjs +45 -45
  9. package/dist/{dist-CQZ5_60A.mjs → dist-BPOi5xb_.mjs} +2 -2
  10. package/dist/dist-BPOi5xb_.mjs.map +1 -0
  11. package/dist/{dist-DBWkkSvJ.mjs → dist-BuirkW-f.mjs} +76 -30
  12. package/dist/dist-BuirkW-f.mjs.map +1 -0
  13. package/dist/{dist-DFeF-ygz.mjs → dist-D021IFfp.mjs} +3 -1
  14. package/dist/{dist-DFeF-ygz.mjs.map → dist-D021IFfp.mjs.map} +1 -1
  15. package/dist/{dist-DHQVWaV2.mjs → dist-DBdxM6xv.mjs} +6 -7
  16. package/dist/dist-DBdxM6xv.mjs.map +1 -0
  17. package/dist/effects/index.d.mts +4 -4
  18. package/dist/effects/index.mjs +35 -35
  19. package/dist/{effects-DZvq-nWT.mjs → effects-B263lgUi.mjs} +3 -3
  20. package/dist/{effects-DZvq-nWT.mjs.map → effects-B263lgUi.mjs.map} +1 -1
  21. package/dist/fonts/index.mjs +2 -2
  22. package/dist/{fonts-DcsxFpyU.mjs → fonts-DNx6ps2p.mjs} +2 -2
  23. package/dist/{fonts-DcsxFpyU.mjs.map → fonts-DNx6ps2p.mjs.map} +1 -1
  24. package/dist/{gpu-Dq_uI_00.mjs → gpu-BRBIoxMC.mjs} +2 -2
  25. package/dist/{gpu-Dq_uI_00.mjs.map → gpu-BRBIoxMC.mjs.map} +1 -1
  26. package/dist/{index-Dbwf24s4.d.mts → index-3Vdef2KE.d.mts} +3 -3
  27. package/dist/{index-Dbwf24s4.d.mts.map → index-3Vdef2KE.d.mts.map} +1 -1
  28. package/dist/{index-BE1KdTQ7.d.mts → index-B4o6F1JC.d.mts} +2 -2
  29. package/dist/{index-BE1KdTQ7.d.mts.map → index-B4o6F1JC.d.mts.map} +1 -1
  30. package/dist/{index-DPP5g-Si.d.mts → index-BhzlG_1Q.d.mts} +2 -2
  31. package/dist/{index-DPP5g-Si.d.mts.map → index-BhzlG_1Q.d.mts.map} +1 -1
  32. package/dist/{index-CEsl2BcF.d.mts → index-D-Gnyffj.d.mts} +4 -4
  33. package/dist/{index-CEsl2BcF.d.mts.map → index-D-Gnyffj.d.mts.map} +1 -1
  34. package/dist/{index-BlPLU_a1.d.mts → index-N1tMc5Z9.d.mts} +183 -185
  35. package/dist/index-N1tMc5Z9.d.mts.map +1 -0
  36. package/dist/{index-BAXaZC6T.d.mts → index-o8LxWdwz.d.mts} +3 -3
  37. package/dist/{index-BAXaZC6T.d.mts.map → index-o8LxWdwz.d.mts.map} +1 -1
  38. package/dist/{index-C6awQk4-.d.mts → index-ocZc12ZS.d.mts} +22 -19
  39. package/dist/index-ocZc12ZS.d.mts.map +1 -0
  40. package/dist/index.d.mts +11 -11
  41. package/dist/index.mjs +53 -53
  42. package/dist/preview/index.d.mts +3 -3
  43. package/dist/preview/index.mjs +10 -10
  44. package/dist/{preview-CYI4i4m3.mjs → preview-ChR8Z8Fm.mjs} +2 -2
  45. package/dist/{preview-CYI4i4m3.mjs.map → preview-ChR8Z8Fm.mjs.map} +1 -1
  46. package/dist/preview-engine/audio.mjs +1 -1
  47. package/dist/preview-engine/{chunk-CT2WFPYG.mjs → chunk-2LQCQ3OT.mjs} +10 -10
  48. package/dist/preview-engine/{chunk-AB5VITYM.mjs → chunk-2TCJSHFA.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-JMOJKT5W.mjs → chunk-2YGR5YCN.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-LNJYHSYX.mjs → chunk-3KHD67Q3.mjs} +1 -1
  51. package/dist/preview-engine/chunk-3SR6BI4B.mjs +1 -0
  52. package/dist/preview-engine/{chunk-NXKXOSE6.mjs → chunk-4INGTMZ5.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-T4VP45AP.mjs → chunk-4JX5LBE2.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-7JYMNGNK.mjs → chunk-5NT7WWJR.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-NB55FW7D.mjs → chunk-6PMATELR.mjs} +1 -1
  56. package/dist/preview-engine/{chunk-PDM3TJ45.mjs → chunk-AKT4YQWL.mjs} +1 -1
  57. package/dist/preview-engine/{chunk-RNFYEZLL.mjs → chunk-ALSOO22Q.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-3AYICEZ5.mjs → chunk-B7J72YSP.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-W4HIVUUA.mjs → chunk-BBHRXV75.mjs} +1 -1
  60. package/dist/preview-engine/{chunk-NHQR76WL.mjs → chunk-DDFWN7DI.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-ZVUTFXDR.mjs → chunk-DOCFOSA6.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-YJ24W73B.mjs → chunk-FZLKPBKS.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-EU7CFSB5.mjs → chunk-GQIRV466.mjs} +1 -1
  64. package/dist/preview-engine/{chunk-DWHQSNSJ.mjs → chunk-IIOHF7MH.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-WUMVCQYI.mjs → chunk-J24VHZS6.mjs} +1 -1
  66. package/dist/preview-engine/{chunk-3I6B3YPF.mjs → chunk-JD4TBC6Z.mjs} +8 -8
  67. package/dist/preview-engine/{chunk-X6BJLPW6.mjs → chunk-JTT3YX7W.mjs} +1 -1
  68. package/dist/preview-engine/{chunk-XJ4CQIZZ.mjs → chunk-KWTTANYN.mjs} +1 -1
  69. package/dist/preview-engine/{chunk-QCUGWPYP.mjs → chunk-LN3YAWUD.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-M6ZKK6ZU.mjs → chunk-LYSU6S4O.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-TE2QAKKF.mjs → chunk-MJCK5FLZ.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-24H3QVYB.mjs → chunk-MMVFX42U.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-25T3M6MI.mjs → chunk-MUOJMF7M.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-Z4TKEI3I.mjs → chunk-NQZRPPUU.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-VTE3IISK.mjs → chunk-OXXRKNHW.mjs} +1 -1
  76. package/dist/preview-engine/{chunk-DUEY7AXY.mjs → chunk-PJMX2GFY.mjs} +1 -1
  77. package/dist/preview-engine/{chunk-MA4YVA2E.mjs → chunk-Q7JN4EHX.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-SNASF7OM.mjs → chunk-Q7XC3FI7.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-UXCTWFKK.mjs → chunk-QPBTLJ5W.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-LQVACZDE.mjs → chunk-QRYCB6E3.mjs} +1 -1
  81. package/dist/preview-engine/{chunk-2QQQTZHS.mjs → chunk-RDEQ4LQU.mjs} +1 -1
  82. package/dist/preview-engine/{chunk-KKBJ7X3T.mjs → chunk-RF62TV3G.mjs} +1 -1
  83. package/dist/preview-engine/{chunk-CE6CG5BH.mjs → chunk-RHXZXWJ4.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-BNO5JAEZ.mjs → chunk-RKNV5N7D.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-PXWCGXTF.mjs → chunk-SP22JWN2.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-NYEDWUFS.mjs → chunk-SQ52PBF3.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-QYIKOOFI.mjs → chunk-SVE3XWO7.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-QJYAIQYU.mjs → chunk-SXNCNG4L.mjs} +1 -1
  89. package/dist/preview-engine/chunk-SYP4AJMF.mjs +1 -0
  90. package/dist/preview-engine/{chunk-VH5V54RA.mjs → chunk-TPFDAOW7.mjs} +1 -1
  91. package/dist/preview-engine/{chunk-ENS4KUJV.mjs → chunk-UEQIO6AH.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-XYRBFLFF.mjs → chunk-ULPLHKM2.mjs} +1 -1
  93. package/dist/preview-engine/{chunk-MCR7XMNQ.mjs → chunk-ULVX4VYT.mjs} +1 -1
  94. package/dist/preview-engine/{chunk-ZAIVXGSS.mjs → chunk-UQD2UE6I.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-NAISBHLR.mjs → chunk-VY6ST4QX.mjs} +1 -1
  96. package/dist/preview-engine/{chunk-7BUKVFWB.mjs → chunk-W2EZFV4Q.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-P734GD7D.mjs → chunk-WDWHOXSA.mjs} +1 -1
  98. package/dist/preview-engine/{chunk-2RZ6S4SW.mjs → chunk-YEPYVASB.mjs} +1 -1
  99. package/dist/preview-engine/chunk-ZJLNXN7W.mjs +480 -0
  100. package/dist/preview-engine/{chunk-6GMEF2QB.mjs → chunk-ZZAZF6VC.mjs} +1 -1
  101. package/dist/preview-engine/components.mjs +1 -1
  102. package/dist/preview-engine/effects.mjs +1 -1
  103. package/dist/preview-engine/fonts.mjs +1 -1
  104. package/dist/preview-engine/framefields.mjs +1 -1
  105. package/dist/preview-engine/player.mjs +1 -1
  106. package/dist/preview-engine/renderers-4CRXZJ5G.mjs +1 -0
  107. package/dist/preview-engine/{renderers-WPBTAU2E.mjs → renderers-4RVSLTCX.mjs} +1 -1
  108. package/dist/preview-engine/{renderers-W5CTR4B5.mjs → renderers-56TGEFDK.mjs} +1 -1
  109. package/dist/preview-engine/renderers-5QF4OLFQ.mjs +1 -0
  110. package/dist/preview-engine/renderers-5SOW6OVE.mjs +1 -0
  111. package/dist/preview-engine/renderers-6M2HPY2J.mjs +1 -0
  112. package/dist/preview-engine/{renderers-DZZFIYYA.mjs → renderers-7GMW52G3.mjs} +1 -1
  113. package/dist/preview-engine/renderers-7HT5NW7W.mjs +1 -0
  114. package/dist/preview-engine/{renderers-KV3TTCO6.mjs → renderers-7SW2AHM2.mjs} +1 -1
  115. package/dist/preview-engine/{renderers-BNXTSIXJ.mjs → renderers-ART3EGSZ.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-6NFRKHNO.mjs → renderers-ATTGUTYY.mjs} +1 -1
  117. package/dist/preview-engine/renderers-AYWCRBQC.mjs +1 -0
  118. package/dist/preview-engine/renderers-BA6ZCPI5.mjs +1 -0
  119. package/dist/preview-engine/{renderers-AKZAAGR7.mjs → renderers-BAS7RXTC.mjs} +1 -1
  120. package/dist/preview-engine/{renderers-CLLR5MOQ.mjs → renderers-BWRNCXR6.mjs} +1 -1
  121. package/dist/preview-engine/{renderers-N7T34SCI.mjs → renderers-C3YXNKNM.mjs} +1 -1
  122. package/dist/preview-engine/renderers-CZTCW4FC.mjs +1 -0
  123. package/dist/preview-engine/{renderers-C7SJ3M6S.mjs → renderers-D2XEQ2YY.mjs} +1 -1
  124. package/dist/preview-engine/renderers-DFIJYBW2.mjs +1 -0
  125. package/dist/preview-engine/{renderers-DHKB5LI6.mjs → renderers-EJGF3PYQ.mjs} +1 -1
  126. package/dist/preview-engine/renderers-EJN6M6DO.mjs +1 -0
  127. package/dist/preview-engine/{renderers-MKEXNBCW.mjs → renderers-EK3HQUUF.mjs} +1 -1
  128. package/dist/preview-engine/{renderers-O56IOD7J.mjs → renderers-EQDINUMT.mjs} +1 -1
  129. package/dist/preview-engine/{renderers-VYK2BJID.mjs → renderers-FC7G7KU7.mjs} +1 -1
  130. package/dist/preview-engine/{renderers-BQLYS4TM.mjs → renderers-FD3ZT73R.mjs} +1 -1
  131. package/dist/preview-engine/{renderers-TASYN62K.mjs → renderers-FYI6QNUH.mjs} +1 -1
  132. package/dist/preview-engine/renderers-G34C5J27.mjs +1 -0
  133. package/dist/preview-engine/{renderers-ROSSJ7Y2.mjs → renderers-GHP7SL5M.mjs} +1 -1
  134. package/dist/preview-engine/renderers-GKVTNDVH.mjs +1 -0
  135. package/dist/preview-engine/{renderers-MPCYLXXU.mjs → renderers-GY4R467B.mjs} +1 -1
  136. package/dist/preview-engine/{renderers-TAMDNTEQ.mjs → renderers-H2UI7YEO.mjs} +1 -1
  137. package/dist/preview-engine/{renderers-6PVGRTXV.mjs → renderers-HBIBRZD7.mjs} +1 -1
  138. package/dist/preview-engine/{renderers-GF77N2KM.mjs → renderers-HMNCIEU3.mjs} +1 -1
  139. package/dist/preview-engine/{renderers-SIBP54WK.mjs → renderers-HZBYQKIQ.mjs} +1 -1
  140. package/dist/preview-engine/renderers-IK7ZJJKJ.mjs +1 -0
  141. package/dist/preview-engine/renderers-ISASPH6T.mjs +1 -0
  142. package/dist/preview-engine/renderers-IW5MWDBI.mjs +1 -0
  143. package/dist/preview-engine/renderers-K2PI4WJS.mjs +1 -0
  144. package/dist/preview-engine/renderers-KESHVFL2.mjs +1 -0
  145. package/dist/preview-engine/renderers-KTZZVAB2.mjs +1 -0
  146. package/dist/preview-engine/renderers-KY5CJEOV.mjs +1 -0
  147. package/dist/preview-engine/{renderers-MS4HG3M4.mjs → renderers-LTV5RFDJ.mjs} +1 -1
  148. package/dist/preview-engine/{renderers-CEJP6Q7F.mjs → renderers-LV6LLULR.mjs} +1 -1
  149. package/dist/preview-engine/renderers-M5W6SUQD.mjs +1 -0
  150. package/dist/preview-engine/{renderers-H3ZM2TOA.mjs → renderers-MEM3REMI.mjs} +1 -1
  151. package/dist/preview-engine/{renderers-HJ6NO5ZD.mjs → renderers-N36R42RL.mjs} +1 -1
  152. package/dist/preview-engine/{renderers-UVABXXQF.mjs → renderers-NTKSN32T.mjs} +1 -1
  153. package/dist/preview-engine/renderers-O5XMWFPY.mjs +1 -0
  154. package/dist/preview-engine/{renderers-QO2RHF7F.mjs → renderers-P2FTCDZ7.mjs} +1 -1
  155. package/dist/preview-engine/{renderers-L7EITUCD.mjs → renderers-PYDOSDEY.mjs} +1 -1
  156. package/dist/preview-engine/renderers-QJA35PKC.mjs +1 -0
  157. package/dist/preview-engine/{renderers-TWZHTKW7.mjs → renderers-RDHHVXRE.mjs} +1 -1
  158. package/dist/preview-engine/{renderers-RRJ2DX2W.mjs → renderers-SY435YU3.mjs} +1 -1
  159. package/dist/preview-engine/renderers-TJIFTQHV.mjs +1 -0
  160. package/dist/preview-engine/renderers-TN4XN436.mjs +1 -0
  161. package/dist/preview-engine/renderers-UDYLCYCB.mjs +1 -0
  162. package/dist/preview-engine/renderers-WZ7SFIBZ.mjs +1 -0
  163. package/dist/preview-engine/renderers-WZEV464O.mjs +228 -0
  164. package/dist/preview-engine/renderers-X6QNDC6R.mjs +1 -0
  165. package/dist/preview-engine/renderers-X6RNTJOV.mjs +1 -0
  166. package/dist/preview-engine/{renderers-QPFZBLDI.mjs → renderers-Y3N7236P.mjs} +1 -1
  167. package/dist/preview-engine/{renderers-XSPU2BIQ.mjs → renderers-YBTWN76S.mjs} +1 -1
  168. package/dist/preview-engine/{renderers-T62TXGVO.mjs → renderers-YK74777T.mjs} +1 -1
  169. package/dist/preview-engine/renderers-YP3ASXIJ.mjs +1 -0
  170. package/dist/preview-engine/renderers-YVJAG3PD.mjs +1 -0
  171. package/dist/preview-engine/{renderers-4RFB2LG2.mjs → renderers-ZAMSS7QN.mjs} +1 -1
  172. package/dist/preview-engine/{renderers-FOHW7RWH.mjs → renderers-ZDMDDWLN.mjs} +1 -1
  173. package/dist/preview-engine/renderers-ZPPZNMKJ.mjs +1 -0
  174. package/dist/preview-engine/signals.mjs +1 -1
  175. package/dist/{program-BdPDtfVv.mjs → program-O2bWX0cs.mjs} +4 -4
  176. package/dist/{program-BdPDtfVv.mjs.map → program-O2bWX0cs.mjs.map} +1 -1
  177. package/dist/registry/captions.json +1 -1
  178. package/dist/registry/card-stack.json +3 -2
  179. package/dist/registry/chat-thread.json +4 -3
  180. package/dist/registry/index.json +3 -2
  181. package/dist/registry/lower-third.json +1 -1
  182. package/dist/registry/meter.json +1 -1
  183. package/dist/renderer/index.d.mts +2 -2
  184. package/dist/renderer/index.mjs +2 -2
  185. package/dist/renderer-0441BN0U.mjs +5 -0
  186. package/dist/{renderer-B31zMDE8.mjs → renderer-1NoJLLDa.mjs} +5 -5
  187. package/dist/{renderer-B31zMDE8.mjs.map → renderer-1NoJLLDa.mjs.map} +1 -1
  188. package/dist/renderer-3qDgFc-W.mjs +5 -0
  189. package/dist/renderer-6AIqTN5Z.mjs +5 -0
  190. package/dist/{renderer-DP41Fokp.mjs → renderer-8_d6YNnE.mjs} +4 -4
  191. package/dist/{renderer-DP41Fokp.mjs.map → renderer-8_d6YNnE.mjs.map} +1 -1
  192. package/dist/{renderer-PLoGrFGz.mjs → renderer-B0IJirDs.mjs} +4 -4
  193. package/dist/{renderer-PLoGrFGz.mjs.map → renderer-B0IJirDs.mjs.map} +1 -1
  194. package/dist/{renderer-CdUf7ZDJ.mjs → renderer-B2no_9zi.mjs} +4 -4
  195. package/dist/{renderer-CdUf7ZDJ.mjs.map → renderer-B2no_9zi.mjs.map} +1 -1
  196. package/dist/{renderer-D6p8b6ql.mjs → renderer-B5ZdkcMi.mjs} +4 -4
  197. package/dist/{renderer-D6p8b6ql.mjs.map → renderer-B5ZdkcMi.mjs.map} +1 -1
  198. package/dist/renderer-B7MZ5R7u.mjs +5 -0
  199. package/dist/{renderer-BBTkfhL8.mjs → renderer-B7vXnBUo.mjs} +4 -4
  200. package/dist/{renderer-BBTkfhL8.mjs.map → renderer-B7vXnBUo.mjs.map} +1 -1
  201. package/dist/renderer-BE2rIA4B.mjs +5 -0
  202. package/dist/renderer-BIQ81ln4.mjs +5 -0
  203. package/dist/{renderer-l_U6kA8K.mjs → renderer-BKJ8cywK.mjs} +3 -3
  204. package/dist/{renderer-l_U6kA8K.mjs.map → renderer-BKJ8cywK.mjs.map} +1 -1
  205. package/dist/renderer-BKm3_Ob3.mjs +5 -0
  206. package/dist/{renderer-COtZ315B.mjs → renderer-BMiZIGkZ.mjs} +2 -2
  207. package/dist/renderer-BNdT1Wwf.mjs +5 -0
  208. package/dist/{renderer-Z39F9QK5.mjs → renderer-BNs31kME.mjs} +4 -4
  209. package/dist/{renderer-Z39F9QK5.mjs.map → renderer-BNs31kME.mjs.map} +1 -1
  210. package/dist/renderer-BQycs1q_.mjs +5 -0
  211. package/dist/{renderer-ZjSP5jw6.mjs → renderer-BStETpqC.mjs} +3 -3
  212. package/dist/{renderer-ZjSP5jw6.mjs.map → renderer-BStETpqC.mjs.map} +1 -1
  213. package/dist/{renderer-BmoQJUJO.mjs → renderer-BWNQQZ12.mjs} +4 -4
  214. package/dist/{renderer-BmoQJUJO.mjs.map → renderer-BWNQQZ12.mjs.map} +1 -1
  215. package/dist/{renderer-G3px5ODP.mjs → renderer-BZ5uOfoX.mjs} +4 -4
  216. package/dist/{renderer-G3px5ODP.mjs.map → renderer-BZ5uOfoX.mjs.map} +1 -1
  217. package/dist/{renderer-D0X7Eh-T.mjs → renderer-Bag1LFos.mjs} +4 -4
  218. package/dist/{renderer-D0X7Eh-T.mjs.map → renderer-Bag1LFos.mjs.map} +1 -1
  219. package/dist/{renderer-D5u3GVtD.mjs → renderer-BfQdc3RM.mjs} +74 -74
  220. package/dist/{renderer-D5u3GVtD.mjs.map → renderer-BfQdc3RM.mjs.map} +1 -1
  221. package/dist/{renderer-C9r0-KY4.mjs → renderer-BgmO1Dzw.mjs} +11 -2
  222. package/dist/{renderer-C9r0-KY4.mjs.map → renderer-BgmO1Dzw.mjs.map} +1 -1
  223. package/dist/renderer-Bj7MxXfk.mjs +5 -0
  224. package/dist/renderer-BjRAGYYC.mjs +5 -0
  225. package/dist/{renderer-DQuKNgIx.mjs → renderer-BlU3Sh_0.mjs} +5 -5
  226. package/dist/{renderer-DQuKNgIx.mjs.map → renderer-BlU3Sh_0.mjs.map} +1 -1
  227. package/dist/renderer-BqE2BQ_X.mjs +5 -0
  228. package/dist/{renderer-DkPDYtD3.mjs → renderer-BrKgtYq4.mjs} +4 -4
  229. package/dist/{renderer-DkPDYtD3.mjs.map → renderer-BrKgtYq4.mjs.map} +1 -1
  230. package/dist/{renderer-FCqOfN6n.mjs → renderer-Bs6BaMLf.mjs} +4 -4
  231. package/dist/{renderer-FCqOfN6n.mjs.map → renderer-Bs6BaMLf.mjs.map} +1 -1
  232. package/dist/renderer-BsewLDHZ.mjs +3 -0
  233. package/dist/{renderer-Bmj7AyJP.mjs → renderer-BvA4sQz5.mjs} +3 -3
  234. package/dist/{renderer-Bmj7AyJP.mjs.map → renderer-BvA4sQz5.mjs.map} +1 -1
  235. package/dist/{renderer-Bw5YP2Db.mjs → renderer-Bvizxddu.mjs} +4 -4
  236. package/dist/{renderer-Bw5YP2Db.mjs.map → renderer-Bvizxddu.mjs.map} +1 -1
  237. package/dist/{renderer-WVrUeiLZ.mjs → renderer-Bwxm-kWL.mjs} +2 -2
  238. package/dist/renderer-Bz5BMkOE.mjs +5 -0
  239. package/dist/{renderer-vTsc6CpO.d.mts → renderer-C-dcd14F.d.mts} +2 -2
  240. package/dist/{renderer-vTsc6CpO.d.mts.map → renderer-C-dcd14F.d.mts.map} +1 -1
  241. package/dist/{renderer-DK34NH92.mjs → renderer-C2MaJKfY.mjs} +4 -4
  242. package/dist/{renderer-DK34NH92.mjs.map → renderer-C2MaJKfY.mjs.map} +1 -1
  243. package/dist/{renderer-DyMEAZIm.mjs → renderer-C3tdjg8B.mjs} +5 -5
  244. package/dist/{renderer-DyMEAZIm.mjs.map → renderer-C3tdjg8B.mjs.map} +1 -1
  245. package/dist/{renderer-BGNdwdCR.mjs → renderer-C5QYI1Wu.mjs} +4 -4
  246. package/dist/{renderer-BGNdwdCR.mjs.map → renderer-C5QYI1Wu.mjs.map} +1 -1
  247. package/dist/{renderer-Cjs1OeBu.mjs → renderer-C6n8y6Pw.mjs} +4 -4
  248. package/dist/{renderer-Cjs1OeBu.mjs.map → renderer-C6n8y6Pw.mjs.map} +1 -1
  249. package/dist/{renderer-D2ru2Afi.mjs → renderer-C8pJFxcL.mjs} +4 -4
  250. package/dist/{renderer-D2ru2Afi.mjs.map → renderer-C8pJFxcL.mjs.map} +1 -1
  251. package/dist/{renderer-BfrzKmRh.mjs → renderer-CA_CwisV.mjs} +3 -3
  252. package/dist/{renderer-BfrzKmRh.mjs.map → renderer-CA_CwisV.mjs.map} +1 -1
  253. package/dist/renderer-CDOSfB9H.mjs +5 -0
  254. package/dist/{renderer-CWSM0IGG.mjs → renderer-CEAmByVW.mjs} +3 -3
  255. package/dist/{renderer-CWSM0IGG.mjs.map → renderer-CEAmByVW.mjs.map} +1 -1
  256. package/dist/{renderer-BN_n6O6P.mjs → renderer-CFCR_7bq.mjs} +4 -4
  257. package/dist/{renderer-BN_n6O6P.mjs.map → renderer-CFCR_7bq.mjs.map} +1 -1
  258. package/dist/{renderer-1VKN5j2C.mjs → renderer-CFRTJ7cT.mjs} +4 -4
  259. package/dist/{renderer-1VKN5j2C.mjs.map → renderer-CFRTJ7cT.mjs.map} +1 -1
  260. package/dist/{renderer-gjT5v76-.mjs → renderer-CPSg6eEQ.mjs} +3 -3
  261. package/dist/{renderer-gjT5v76-.mjs.map → renderer-CPSg6eEQ.mjs.map} +1 -1
  262. package/dist/renderer-CT26yQT-.mjs +5 -0
  263. package/dist/{renderer-IMg0dK6K.mjs → renderer-CTy0bSsl.mjs} +4 -4
  264. package/dist/{renderer-IMg0dK6K.mjs.map → renderer-CTy0bSsl.mjs.map} +1 -1
  265. package/dist/{renderer-BJwOM1Dq.mjs → renderer-CVbNiH03.mjs} +4 -4
  266. package/dist/{renderer-BJwOM1Dq.mjs.map → renderer-CVbNiH03.mjs.map} +1 -1
  267. package/dist/renderer-CZeAbz48.mjs +5 -0
  268. package/dist/{renderer-ChjkppUz.mjs → renderer-CbxfSmYE.mjs} +4 -4
  269. package/dist/{renderer-ChjkppUz.mjs.map → renderer-CbxfSmYE.mjs.map} +1 -1
  270. package/dist/{renderer-nLPfvY3-.mjs → renderer-CdxNwGeb.mjs} +2 -2
  271. package/dist/{renderer-nLPfvY3-.mjs.map → renderer-CdxNwGeb.mjs.map} +1 -1
  272. package/dist/{renderer-CMEqUhrW.mjs → renderer-Cg2xS8h8.mjs} +4 -4
  273. package/dist/{renderer-CMEqUhrW.mjs.map → renderer-Cg2xS8h8.mjs.map} +1 -1
  274. package/dist/{renderer-2bipMLqz.mjs → renderer-CnclEQdA.mjs} +3 -3
  275. package/dist/{renderer-2bipMLqz.mjs.map → renderer-CnclEQdA.mjs.map} +1 -1
  276. package/dist/{renderer-kP5Y282J.mjs → renderer-CpDaUeCN.mjs} +5 -5
  277. package/dist/{renderer-kP5Y282J.mjs.map → renderer-CpDaUeCN.mjs.map} +1 -1
  278. package/dist/{renderer-vwoyR8pW.mjs → renderer-CqJou_2L.mjs} +3 -3
  279. package/dist/{renderer-vwoyR8pW.mjs.map → renderer-CqJou_2L.mjs.map} +1 -1
  280. package/dist/{renderer-VxVi_0c7.mjs → renderer-CrKYlipx.mjs} +3 -3
  281. package/dist/{renderer-VxVi_0c7.mjs.map → renderer-CrKYlipx.mjs.map} +1 -1
  282. package/dist/{renderer-Cj1giMd0.mjs → renderer-D3FJcRA3.mjs} +3 -3
  283. package/dist/{renderer-Cj1giMd0.mjs.map → renderer-D3FJcRA3.mjs.map} +1 -1
  284. package/dist/renderer-D50b7kip.mjs +5 -0
  285. package/dist/renderer-D5LmrO96.mjs +5 -0
  286. package/dist/{renderer-Bo_d7h86.mjs → renderer-D8m3fuRp.mjs} +4 -4
  287. package/dist/{renderer-Bo_d7h86.mjs.map → renderer-D8m3fuRp.mjs.map} +1 -1
  288. package/dist/{renderer-Bo1PY0zW.mjs → renderer-DADTT3ym.mjs} +2 -2
  289. package/dist/renderer-DCvqZ5o_.mjs +5 -0
  290. package/dist/{renderer-DuQMzR3v.mjs → renderer-DGOY-LBR.mjs} +39 -423
  291. package/dist/renderer-DGOY-LBR.mjs.map +1 -0
  292. package/dist/{renderer-BYJS2lhn.mjs → renderer-DHdFVpdH.mjs} +4 -4
  293. package/dist/{renderer-BYJS2lhn.mjs.map → renderer-DHdFVpdH.mjs.map} +1 -1
  294. package/dist/renderer-DJGJeGEn.mjs +5 -0
  295. package/dist/{renderer-CDX2f82b.mjs → renderer-DO1TeUqV.mjs} +4 -4
  296. package/dist/{renderer-CDX2f82b.mjs.map → renderer-DO1TeUqV.mjs.map} +1 -1
  297. package/dist/renderer-DONvNNXi.mjs +5 -0
  298. package/dist/renderer-DPaSo--Y.mjs +6 -0
  299. package/dist/{renderer-BWnFh7NO.mjs → renderer-DTPmvL1i.mjs} +4 -4
  300. package/dist/{renderer-BWnFh7NO.mjs.map → renderer-DTPmvL1i.mjs.map} +1 -1
  301. package/dist/{renderer-DWaqF7-6.mjs → renderer-DVGVcDvB.mjs} +4 -4
  302. package/dist/{renderer-DWaqF7-6.mjs.map → renderer-DVGVcDvB.mjs.map} +1 -1
  303. package/dist/{renderer-CXbXF7Dh.mjs → renderer-DW21AyEv.mjs} +4 -4
  304. package/dist/{renderer-CXbXF7Dh.mjs.map → renderer-DW21AyEv.mjs.map} +1 -1
  305. package/dist/{renderer-7DyjqxEj.mjs → renderer-DWG6EXGj.mjs} +4 -4
  306. package/dist/{renderer-7DyjqxEj.mjs.map → renderer-DWG6EXGj.mjs.map} +1 -1
  307. package/dist/{renderer-CmKdr2nA.mjs → renderer-Daqvhwjp.mjs} +4 -4
  308. package/dist/{renderer-CmKdr2nA.mjs.map → renderer-Daqvhwjp.mjs.map} +1 -1
  309. package/dist/{renderer-B4blg067.mjs → renderer-DcApNxER.mjs} +4 -4
  310. package/dist/{renderer-B4blg067.mjs.map → renderer-DcApNxER.mjs.map} +1 -1
  311. package/dist/{renderer-CLO8QHWE.mjs → renderer-DdkPY4hO.mjs} +4 -4
  312. package/dist/{renderer-CLO8QHWE.mjs.map → renderer-DdkPY4hO.mjs.map} +1 -1
  313. package/dist/renderer-DfYYokhr.mjs +5 -0
  314. package/dist/{renderer-BWa3CLK7.mjs → renderer-Dk0okoS3.mjs} +3 -3
  315. package/dist/{renderer-BWa3CLK7.mjs.map → renderer-Dk0okoS3.mjs.map} +1 -1
  316. package/dist/{renderer-ChCUad83.mjs → renderer-DkM6Ikdf.mjs} +4 -4
  317. package/dist/{renderer-ChCUad83.mjs.map → renderer-DkM6Ikdf.mjs.map} +1 -1
  318. package/dist/{renderer-Fsdod0yZ.mjs → renderer-DkOxEQsg.mjs} +4 -4
  319. package/dist/{renderer-Fsdod0yZ.mjs.map → renderer-DkOxEQsg.mjs.map} +1 -1
  320. package/dist/renderer-DlIJhdEM.mjs +5 -0
  321. package/dist/{renderer-Ch7qwjH9.mjs → renderer-DmTxEeMh.mjs} +4 -4
  322. package/dist/{renderer-Ch7qwjH9.mjs.map → renderer-DmTxEeMh.mjs.map} +1 -1
  323. package/dist/renderer-DqD3nMtv.mjs +5 -0
  324. package/dist/renderer-DrIl-uGt.mjs +5 -0
  325. package/dist/{renderer-kkDfQ56G.mjs → renderer-DsnV8tpW.mjs} +4 -4
  326. package/dist/{renderer-kkDfQ56G.mjs.map → renderer-DsnV8tpW.mjs.map} +1 -1
  327. package/dist/{renderer-0cHsK6xR.mjs → renderer-DtqiWq1m.mjs} +4 -4
  328. package/dist/{renderer-0cHsK6xR.mjs.map → renderer-DtqiWq1m.mjs.map} +1 -1
  329. package/dist/{renderer-CNs1vBUy.mjs → renderer-Duorbrb8.mjs} +3 -3
  330. package/dist/{renderer-CNs1vBUy.mjs.map → renderer-Duorbrb8.mjs.map} +1 -1
  331. package/dist/{renderer-B5YYBBDq.mjs → renderer-Dw3K8KT9.mjs} +3 -3
  332. package/dist/{renderer-B5YYBBDq.mjs.map → renderer-Dw3K8KT9.mjs.map} +1 -1
  333. package/dist/{renderer-VdTs-dqH.mjs → renderer-Dwh0jaor.mjs} +4 -4
  334. package/dist/{renderer-VdTs-dqH.mjs.map → renderer-Dwh0jaor.mjs.map} +1 -1
  335. package/dist/renderer-DyCB3Q1d.mjs +5 -0
  336. package/dist/renderer-DyJ-iSv6.mjs +5 -0
  337. package/dist/{renderer-DqO9gBAi.mjs → renderer-Dz4muMyE.mjs} +4 -4
  338. package/dist/{renderer-DqO9gBAi.mjs.map → renderer-Dz4muMyE.mjs.map} +1 -1
  339. package/dist/renderer-Dzs0jV0G.mjs +5 -0
  340. package/dist/{renderer-BAkPq8qo.mjs → renderer-H4-8sBjl.mjs} +3 -3
  341. package/dist/{renderer-BAkPq8qo.mjs.map → renderer-H4-8sBjl.mjs.map} +1 -1
  342. package/dist/renderer-HIKXw5-Y.mjs +5 -0
  343. package/dist/renderer-Jgt2g8Wp.mjs +5 -0
  344. package/dist/renderer-KnZWmT-M.mjs +5 -0
  345. package/dist/renderer-OMSXddG9.mjs +5 -0
  346. package/dist/renderer-P78xh6OV.mjs +5 -0
  347. package/dist/{renderer-fH9SCJC2.mjs → renderer-PhjHSS97.mjs} +3 -3
  348. package/dist/{renderer-fH9SCJC2.mjs.map → renderer-PhjHSS97.mjs.map} +1 -1
  349. package/dist/{renderer-o_JK4YfO.mjs → renderer-QQDU1b0Z.mjs} +4 -4
  350. package/dist/{renderer-o_JK4YfO.mjs.map → renderer-QQDU1b0Z.mjs.map} +1 -1
  351. package/dist/{renderer-DBjV6C2u.mjs → renderer-R5Lg65F8.mjs} +2 -2
  352. package/dist/{renderer-DHqicGgT.mjs → renderer-RbMM6Njv.mjs} +4 -4
  353. package/dist/{renderer-DHqicGgT.mjs.map → renderer-RbMM6Njv.mjs.map} +1 -1
  354. package/dist/{renderer-sg-ffvVd.d.mts → renderer-WTvo3wo9.d.mts} +18 -4
  355. package/dist/renderer-WTvo3wo9.d.mts.map +1 -0
  356. package/dist/renderer-WyaqnVMz.mjs +3 -0
  357. package/dist/{renderer-Db_wphHH.mjs → renderer-YBwN9uyj.mjs} +230 -23
  358. package/dist/renderer-YBwN9uyj.mjs.map +1 -0
  359. package/dist/{renderer-BBTdHKH7.mjs → renderer-YFHESw3v.mjs} +4 -4
  360. package/dist/{renderer-BBTdHKH7.mjs.map → renderer-YFHESw3v.mjs.map} +1 -1
  361. package/dist/renderer-gaFP1Kak.mjs +5 -0
  362. package/dist/{renderer-PNIgmWft.mjs → renderer-kFtcuY9J.mjs} +2 -2
  363. package/dist/{renderer-PNIgmWft.mjs.map → renderer-kFtcuY9J.mjs.map} +1 -1
  364. package/dist/renderer-lQ8gH7Zd.mjs +5 -0
  365. package/dist/{renderer-B8LXXvHi.mjs → renderer-oR1LvHeO.mjs} +4 -4
  366. package/dist/{renderer-B8LXXvHi.mjs.map → renderer-oR1LvHeO.mjs.map} +1 -1
  367. package/dist/{renderer-CJoa4H2G.mjs → renderer-tcS585Iy.mjs} +3 -3
  368. package/dist/{renderer-CJoa4H2G.mjs.map → renderer-tcS585Iy.mjs.map} +1 -1
  369. package/dist/{renderer-BhhweLr_.mjs → renderer-x1xlZaH_.mjs} +4 -4
  370. package/dist/{renderer-BhhweLr_.mjs.map → renderer-x1xlZaH_.mjs.map} +1 -1
  371. package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs → renderers-CP8CFWDs-EZZPEbhW.mjs} +4 -4
  372. package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs.map → renderers-CP8CFWDs-EZZPEbhW.mjs.map} +1 -1
  373. package/dist/signals/index.d.mts +5 -5
  374. package/dist/signals/index.mjs +7 -7
  375. package/dist/{signals-Cf9mfNGE.mjs → signals-BrNF9l9s.mjs} +3 -3
  376. package/dist/{signals-Cf9mfNGE.mjs.map → signals-BrNF9l9s.mjs.map} +1 -1
  377. package/dist/{src-Ds9IAk5S.mjs → src-r7Suenhp.mjs} +9 -9
  378. package/dist/{src-Ds9IAk5S.mjs.map → src-r7Suenhp.mjs.map} +1 -1
  379. package/package.json +58 -58
  380. package/dist/dist-CQZ5_60A.mjs.map +0 -1
  381. package/dist/dist-DBWkkSvJ.mjs.map +0 -1
  382. package/dist/dist-DHQVWaV2.mjs.map +0 -1
  383. package/dist/index-BlPLU_a1.d.mts.map +0 -1
  384. package/dist/index-C6awQk4-.d.mts.map +0 -1
  385. package/dist/preview-engine/chunk-I6E3AKLS.mjs +0 -1
  386. package/dist/preview-engine/chunk-X6HUH6K4.mjs +0 -1
  387. package/dist/preview-engine/chunk-XUPZBI3Y.mjs +0 -474
  388. package/dist/preview-engine/renderers-2S5ZWL2J.mjs +0 -1
  389. package/dist/preview-engine/renderers-37CN7O4S.mjs +0 -1
  390. package/dist/preview-engine/renderers-3UGG2IMP.mjs +0 -1
  391. package/dist/preview-engine/renderers-7MPBAHYA.mjs +0 -1
  392. package/dist/preview-engine/renderers-AFTYMS3H.mjs +0 -1
  393. package/dist/preview-engine/renderers-AYEWAW7F.mjs +0 -1
  394. package/dist/preview-engine/renderers-DUF2CTX6.mjs +0 -1
  395. package/dist/preview-engine/renderers-EIJFIY6L.mjs +0 -1
  396. package/dist/preview-engine/renderers-EOMMSENQ.mjs +0 -1
  397. package/dist/preview-engine/renderers-JXBZPQKP.mjs +0 -1
  398. package/dist/preview-engine/renderers-KSQM7EM5.mjs +0 -1
  399. package/dist/preview-engine/renderers-LD3COS4X.mjs +0 -1
  400. package/dist/preview-engine/renderers-MCTBJEL7.mjs +0 -1
  401. package/dist/preview-engine/renderers-OZGEXW2X.mjs +0 -1
  402. package/dist/preview-engine/renderers-PSEDMUBV.mjs +0 -1
  403. package/dist/preview-engine/renderers-PVUROEGR.mjs +0 -1
  404. package/dist/preview-engine/renderers-QBVVTQV6.mjs +0 -1
  405. package/dist/preview-engine/renderers-R4U2TK6P.mjs +0 -1
  406. package/dist/preview-engine/renderers-RBLNDAO4.mjs +0 -1
  407. package/dist/preview-engine/renderers-RM25AXWZ.mjs +0 -1
  408. package/dist/preview-engine/renderers-RYRFCEYT.mjs +0 -1
  409. package/dist/preview-engine/renderers-SRU6QXLN.mjs +0 -1
  410. package/dist/preview-engine/renderers-TBP2EKJ4.mjs +0 -1
  411. package/dist/preview-engine/renderers-UQHKFGDX.mjs +0 -1
  412. package/dist/preview-engine/renderers-WDV7ENJA.mjs +0 -1
  413. package/dist/preview-engine/renderers-WNBDSSJ3.mjs +0 -1
  414. package/dist/preview-engine/renderers-WTC2RNGU.mjs +0 -1
  415. package/dist/preview-engine/renderers-XLBHSQZJ.mjs +0 -228
  416. package/dist/preview-engine/renderers-XVUOO7B6.mjs +0 -1
  417. package/dist/preview-engine/renderers-YHOQUEHD.mjs +0 -1
  418. package/dist/preview-engine/renderers-YPFM5UJO.mjs +0 -1
  419. package/dist/preview-engine/renderers-YW3LBALW.mjs +0 -1
  420. package/dist/renderer-B-D_VZg3.mjs +0 -5
  421. package/dist/renderer-B64dhpDX.mjs +0 -5
  422. package/dist/renderer-BA2Ko4H1.mjs +0 -3
  423. package/dist/renderer-BDL4jyrb.mjs +0 -5
  424. package/dist/renderer-BKCZGKkl.mjs +0 -5
  425. package/dist/renderer-BKs3jI7-.mjs +0 -5
  426. package/dist/renderer-BW74Zf-u.mjs +0 -5
  427. package/dist/renderer-BXuQN61O.mjs +0 -5
  428. package/dist/renderer-BY1pPvzx.mjs +0 -6
  429. package/dist/renderer-Bahthqvq.mjs +0 -5
  430. package/dist/renderer-BbaiQG8h.mjs +0 -5
  431. package/dist/renderer-BhHF-08y.mjs +0 -5
  432. package/dist/renderer-BnrMcw6C.mjs +0 -5
  433. package/dist/renderer-BsS61z5l.mjs +0 -5
  434. package/dist/renderer-Btuq2Eq8.mjs +0 -5
  435. package/dist/renderer-BvcqncI2.mjs +0 -3
  436. package/dist/renderer-BxmsEl2x.mjs +0 -5
  437. package/dist/renderer-CGOyHdKs.mjs +0 -5
  438. package/dist/renderer-CJjmpmpu.mjs +0 -5
  439. package/dist/renderer-CQvDDAIu.mjs +0 -5
  440. package/dist/renderer-CYxigw7S.mjs +0 -5
  441. package/dist/renderer-CgDofO5z.mjs +0 -5
  442. package/dist/renderer-CgmQchab.mjs +0 -5
  443. package/dist/renderer-CjzrLwW_.mjs +0 -5
  444. package/dist/renderer-ClnYWADT.mjs +0 -5
  445. package/dist/renderer-CwAd71C6.mjs +0 -5
  446. package/dist/renderer-D3Z9t-xT.mjs +0 -5
  447. package/dist/renderer-DKH1oSlW.mjs +0 -5
  448. package/dist/renderer-DTkf_hwG.mjs +0 -5
  449. package/dist/renderer-DU0bmOS7.mjs +0 -5
  450. package/dist/renderer-D_vJHQt5.mjs +0 -5
  451. package/dist/renderer-Db_wphHH.mjs.map +0 -1
  452. package/dist/renderer-Dc5n0M6P.mjs +0 -5
  453. package/dist/renderer-Ddfn0Dha.mjs +0 -5
  454. package/dist/renderer-DeSoNQeG.mjs +0 -5
  455. package/dist/renderer-DuQMzR3v.mjs.map +0 -1
  456. package/dist/renderer-Dzca9Qba.mjs +0 -5
  457. package/dist/renderer-HRVvtc9c.mjs +0 -5
  458. package/dist/renderer-M3Qs4f1K.mjs +0 -5
  459. package/dist/renderer-NDHJt_Ae.mjs +0 -5
  460. package/dist/renderer-sg-ffvVd.d.mts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-0cHsK6xR.mjs","names":[],"sources":["../../../nodes/node-camera-parallax-3d/dist/renderers-3w0EgvnV.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveSignalField } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst CAMERA_PARALLAX_SHADER = `\nstruct CameraParallaxUniforms {\n // vec4 0\n motionPreset : f32, // 0=Custom, 1=DollyZoom, 2=Orbit, 3=FlyThrough, 4=HandheldShake, 5=RackFocus\n panX : f32,\n panY : f32,\n dollyZ : f32,\n\n // vec4 1\n fov : f32,\n parallaxAmount : f32,\n dofAperture : f32,\n focusPlane : f32,\n\n // vec4 2\n edgeDilation : f32,\n depthInvert : f32,\n hasDepthMap : f32,\n timeProgress : f32, // normalized 0.0 - 1.0 (or continuous)\n\n // vec4 3\n aspect : f32,\n _pad1 : f32,\n _pad2 : f32,\n _pad3 : f32,\n\n // vec4 4: signal flags\n hasSigPanX : f32,\n hasSigPanY : f32,\n hasSigDollyZ : f32,\n hasSigFocusPlane : f32,\n\n // vec4 5: signal flags\n hasSigParallax : f32,\n hasSigAperture : f32,\n hasSigFOV : f32,\n hasSigEdgeDilation : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : CameraParallaxUniforms;\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 panXSigTex : texture_2d<f32>;\n@group(3) @binding(1) var panYSigTex : texture_2d<f32>;\n@group(3) @binding(2) var dollyZSigTex : texture_2d<f32>;\n@group(3) @binding(3) var focusPlaneSigTex : texture_2d<f32>;\n@group(3) @binding(4) var parallaxSigTex : texture_2d<f32>;\n@group(3) @binding(5) var apertureSigTex : texture_2d<f32>;\n@group(3) @binding(6) var fovSigTex : texture_2d<f32>;\n@group(3) @binding(7) var edgeDilationSigTex : texture_2d<f32>;\n@group(3) @binding(8) var sigSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleDepth(uv: vec2<f32>) -> f32 {\n let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));\n var raw: f32 = 0.0;\n if (u.hasDepthMap > 0.5) {\n let dSample = textureSampleLevel(depthTex, depthSamp, clampedUV, 0.0);\n raw = dot(dSample.rgb, vec3<f32>(0.299, 0.587, 0.114));\n } else {\n let c = textureSampleLevel(srcTex, srcSamp, clampedUV, 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 clamp(raw, 0.0, 1.0);\n}\n\nfn sampleAlbedo(uv: vec2<f32>) -> vec4<f32> {\n if (uv.x >= 0.0 && uv.x <= 1.0 && uv.y >= 0.0 && uv.y <= 1.0) {\n return textureSampleLevel(srcTex, srcSamp, uv, 0.0);\n }\n // Mirror with subtle fade for border inpainting\n let mirroredUV = abs(fract(uv * 0.5 + 0.5) * 2.0 - 1.0);\n let clampedUV = clamp(mirroredUV, vec2<f32>(0.001), vec2<f32>(0.999));\n return textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n let dims = vec2<f32>(textureDimensions(srcTex));\n let texelSize = vec2<f32>(1.0 / dims.x, 1.0 / dims.y);\n let aspect = select(u.aspect, dims.x / max(1.0, dims.y), u.aspect <= 0.0);\n\n // Resolve signals\n var panX = u.panX;\n if (u.hasSigPanX > 0.5) {\n panX = textureSampleLevel(panXSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var panY = u.panY;\n if (u.hasSigPanY > 0.5) {\n panY = textureSampleLevel(panYSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var dollyZ = u.dollyZ;\n if (u.hasSigDollyZ > 0.5) {\n dollyZ = textureSampleLevel(dollyZSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var focusPlane = u.focusPlane;\n if (u.hasSigFocusPlane > 0.5) {\n focusPlane = clamp(textureSampleLevel(focusPlaneSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var parallaxAmount = u.parallaxAmount;\n if (u.hasSigParallax > 0.5) {\n parallaxAmount = max(0.0, textureSampleLevel(parallaxSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var dofAperture = u.dofAperture;\n if (u.hasSigAperture > 0.5) {\n dofAperture = clamp(textureSampleLevel(apertureSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var fov = u.fov;\n if (u.hasSigFOV > 0.5) {\n fov = clamp(textureSampleLevel(fovSigTex, sigSamp, in.uv, 0.0).r, 15.0, 120.0);\n }\n\n var edgeDilation = u.edgeDilation;\n if (u.hasSigEdgeDilation > 0.5) {\n edgeDilation = clamp(textureSampleLevel(edgeDilationSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n // Motion Presets Computation\n let t = u.timeProgress;\n let twoPi = 6.2831853;\n let pi = 3.14159265;\n\n var motionPanX: f32 = 0.0;\n var motionPanY: f32 = 0.0;\n var motionDollyZ: f32 = 0.0;\n var motionFocus: f32 = 0.0;\n\n let preset = u.motionPreset;\n\n if (preset > 0.5 && preset < 1.5) {\n // DollyZoom (Vertigo effect)\n let s = sin(t * pi);\n motionDollyZ = (s * 2.0 - 1.0) * 0.45;\n motionPanX = sin(t * twoPi) * 0.06;\n motionPanY = cos(t * twoPi) * 0.03;\n } else if (preset > 1.5 && preset < 2.5) {\n // Orbit\n let angle = t * twoPi;\n motionPanX = cos(angle) * 0.32;\n motionPanY = sin(angle) * 0.18;\n motionDollyZ = sin(angle * 2.0) * 0.12;\n } else if (preset > 2.5 && preset < 3.5) {\n // FlyThrough\n let phase = sin(t * pi);\n motionDollyZ = phase * 0.65;\n motionPanX = sin(t * twoPi) * 0.12;\n motionPanY = cos(t * pi) * 0.08;\n motionFocus = (phase - 0.5) * 0.6;\n } else if (preset > 3.5 && preset < 4.5) {\n // HandheldShake\n motionPanX = (sin(t * twoPi * 1.6) * 0.06 + sin(t * twoPi * 3.7) * 0.03);\n motionPanY = (cos(t * twoPi * 1.3) * 0.05 + sin(t * twoPi * 4.2) * 0.025);\n motionDollyZ = sin(t * twoPi * 0.8) * 0.04;\n } else if (preset > 4.5) {\n // RackFocus\n let focusWave = sin(t * pi);\n motionFocus = (focusWave - 0.5) * 0.8;\n motionPanX = sin(t * twoPi) * 0.04;\n motionPanY = cos(t * twoPi) * 0.02;\n motionDollyZ = sin(t * pi) * 0.06;\n }\n\n // Cumulative camera parameters\n let effectivePanX = clamp(panX + motionPanX, -1.0, 1.0);\n let effectivePanY = clamp(panY + motionPanY, -1.0, 1.0);\n let effectiveDollyZ = clamp(dollyZ + motionDollyZ, -1.0, 1.0);\n let effectiveFocusPlane = clamp(focusPlane + motionFocus, 0.0, 1.0);\n\n // FOV & perspective distortion factor\n let fovRad = (fov * pi) / 180.0;\n let fovScale = tan(fovRad * 0.5) / tan(50.0 * pi / 360.0);\n\n // 3D Camera Raymarch Offset\n let camOffset = vec2<f32>(effectivePanX * aspect, -effectivePanY) * (parallaxAmount * 0.15 * fovScale);\n let zoomFactor = max(0.5, 1.0 + effectiveDollyZ * 0.4);\n\n let centeredUV = (in.uv - 0.5) / zoomFactor + 0.5;\n\n // Steep Relief Raymarching (16 linear steps + 4 binary refinement steps)\n let numSteps = 16.0;\n let stepSize = 1.0 / numSteps;\n var currentRayZ: f32 = 1.0;\n var currentUV = centeredUV;\n var lastUV = centeredUV;\n var lastRayZ: f32 = 1.0;\n var lastDepth: f32 = sampleDepth(centeredUV);\n var foundHit = false;\n\n for (var i = 0; i < 16; i = i + 1) {\n let sampleUV = centeredUV + camOffset * (currentRayZ - effectiveFocusPlane);\n let sceneDepth = sampleDepth(sampleUV);\n\n if (sceneDepth >= currentRayZ) {\n foundHit = true;\n lastUV = sampleUV;\n break;\n }\n\n lastRayZ = currentRayZ;\n lastDepth = sceneDepth;\n currentRayZ = currentRayZ - stepSize;\n }\n\n // Binary refinement search for sub-pixel surface accuracy\n var hitUV = lastUV;\n var hitDepth = lastDepth;\n var minZ = currentRayZ;\n var maxZ = lastRayZ;\n\n for (var b = 0; b < 4; b = b + 1) {\n let midZ = (minZ + maxZ) * 0.5;\n let testUV = centeredUV + camOffset * (midZ - effectiveFocusPlane);\n let testDepth = sampleDepth(testUV);\n if (testDepth >= midZ) {\n minZ = midZ;\n hitUV = testUV;\n hitDepth = testDepth;\n } else {\n maxZ = midZ;\n }\n }\n\n // Edge inpainting / dilation clamping\n var finalUV = hitUV;\n if (hitUV.x < 0.0 || hitUV.x > 1.0 || hitUV.y < 0.0 || hitUV.y > 1.0) {\n let clampedBorderUV = clamp(hitUV, vec2<f32>(0.0), vec2<f32>(1.0));\n finalUV = mix(hitUV, clampedBorderUV, edgeDilation);\n }\n\n // Circle of Confusion (Physical Bokeh Blur)\n let coc = abs(hitDepth - effectiveFocusPlane) * dofAperture * 0.04;\n\n if (coc < 0.0008) {\n return sampleAlbedo(finalUV);\n }\n\n // Multi-tap Golden Spiral Bokeh Disk Blur (16 taps)\n var accumColor = vec4<f32>(0.0);\n var totalWeight: f32 = 0.0;\n let goldenAngle = 2.39996323;\n\n for (var tap = 0; tap < 16; tap = tap + 1) {\n let fTap = f32(tap);\n let r = sqrt((fTap + 0.5) / 16.0);\n let theta = fTap * goldenAngle;\n let offset = vec2<f32>(cos(theta), sin(theta) * aspect) * (r * coc);\n\n let tapUV = finalUV + offset;\n let tapColor = sampleAlbedo(tapUV);\n let tapDepth = sampleDepth(tapUV);\n\n // Bokeh depth weighting: prevents foreground blur from bleeding into background\n let depthDelta = tapDepth - hitDepth;\n let bokehWeight = select(1.0, smoothstep(-0.08, 0.04, depthDelta), depthDelta < 0.0) / (1.0 + r * r * 0.5);\n\n accumColor = accumColor + tapColor * bokehWeight;\n totalWeight = totalWeight + bokehWeight;\n }\n\n let finalColor = accumColor / max(totalWeight, 0.0001);\n return vec4<f32>(clamp(finalColor.rgb, vec3<f32>(0.0), vec3<f32>(1.0)), finalColor.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 getCameraParallaxResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `camera_parallax_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: `camera_parallax_${format}.wgsl`,\n\t\t\tcode: CAMERA_PARALLAX_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `CameraParallaxPipeline_${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}\nconst CameraParallax3DWebGPURenderer = 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 || 60;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"CameraParallax3D\" || !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 depthMedia = op.depthMedia;\n\tlet depthTex;\n\tlet hasDepthMap = false;\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 } = getCameraParallaxResources(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 timeProgress = durationSeconds > 0 ? elapsedSeconds % durationSeconds / durationSeconds : 0;\n\tconst panXInfo = resolveSignalField(op, \"panX\", 0, -1, 1);\n\tconst panYInfo = resolveSignalField(op, \"panY\", 0, -1, 1);\n\tconst dollyZInfo = resolveSignalField(op, \"dollyZ\", 0, -1, 1);\n\tconst fovInfo = resolveSignalField(op, \"fov\", 50, 15, 120);\n\tconst parallaxInfo = resolveSignalField(op, \"parallaxAmount\", .6, 0, 2);\n\tconst apertureInfo = resolveSignalField(op, \"dofAperture\", .3, 0, 1);\n\tconst focusPlaneInfo = resolveSignalField(op, \"focusPlane\", .4, 0, 1);\n\tconst edgeDilationInfo = resolveSignalField(op, \"edgeDilation\", .5, 0, 1);\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, frame, fps);\n\t\treturn signalRegistry.getDummy1x1TextureView(ctx.device);\n\t};\n\tconst sigPanXView = getSigTextureView(panXInfo, \"cam_panx_sig\");\n\tconst sigPanYView = getSigTextureView(panYInfo, \"cam_pany_sig\");\n\tconst sigDollyZView = getSigTextureView(dollyZInfo, \"cam_dollyz_sig\");\n\tconst sigFocusPlaneView = getSigTextureView(focusPlaneInfo, \"cam_focus_sig\");\n\tconst sigParallaxView = getSigTextureView(parallaxInfo, \"cam_plax_sig\");\n\tconst sigApertureView = getSigTextureView(apertureInfo, \"cam_ap_sig\");\n\tconst sigFOVView = getSigTextureView(fovInfo, \"cam_fov_sig\");\n\tconst sigEdgeDilationView = getSigTextureView(edgeDilationInfo, \"cam_edge_sig\");\n\tconst uniformData = new Float32Array(24);\n\tuniformData[0] = op.motionPreset === \"DollyZoom\" ? 1 : op.motionPreset === \"Orbit\" ? 2 : op.motionPreset === \"FlyThrough\" ? 3 : op.motionPreset === \"HandheldShake\" ? 4 : op.motionPreset === \"RackFocus\" ? 5 : 0;\n\tuniformData[1] = panXInfo.value;\n\tuniformData[2] = panYInfo.value;\n\tuniformData[3] = dollyZInfo.value;\n\tuniformData[4] = fovInfo.value;\n\tuniformData[5] = parallaxInfo.value;\n\tuniformData[6] = apertureInfo.value;\n\tuniformData[7] = focusPlaneInfo.value;\n\tuniformData[8] = edgeDilationInfo.value;\n\tuniformData[9] = op.depthInvert ? 1 : 0;\n\tuniformData[10] = hasDepthMap ? 1 : 0;\n\tuniformData[11] = timeProgress;\n\tuniformData[12] = width / Math.max(1, height);\n\tuniformData[13] = 0;\n\tuniformData[14] = 0;\n\tuniformData[15] = 0;\n\tuniformData[16] = panXInfo.hasSignal ? 1 : 0;\n\tuniformData[17] = panYInfo.hasSignal ? 1 : 0;\n\tuniformData[18] = dollyZInfo.hasSignal ? 1 : 0;\n\tuniformData[19] = focusPlaneInfo.hasSignal ? 1 : 0;\n\tuniformData[20] = parallaxInfo.hasSignal ? 1 : 0;\n\tuniformData[21] = apertureInfo.hasSignal ? 1 : 0;\n\tuniformData[22] = fovInfo.hasSignal ? 1 : 0;\n\tuniformData[23] = edgeDilationInfo.hasSignal ? 1 : 0;\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: sigPanXView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: sigPanYView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: sigDollyZView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: sigFocusPlaneView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: sigParallaxView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: sigApertureView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: sigFOVView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: sigEdgeDilationView\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: CameraParallax3DWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-3w0EgvnV.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"renderer-DtqiWq1m.mjs","names":[],"sources":["../../../nodes/node-camera-parallax-3d/dist/renderers-3w0EgvnV.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveSignalField } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst CAMERA_PARALLAX_SHADER = `\nstruct CameraParallaxUniforms {\n // vec4 0\n motionPreset : f32, // 0=Custom, 1=DollyZoom, 2=Orbit, 3=FlyThrough, 4=HandheldShake, 5=RackFocus\n panX : f32,\n panY : f32,\n dollyZ : f32,\n\n // vec4 1\n fov : f32,\n parallaxAmount : f32,\n dofAperture : f32,\n focusPlane : f32,\n\n // vec4 2\n edgeDilation : f32,\n depthInvert : f32,\n hasDepthMap : f32,\n timeProgress : f32, // normalized 0.0 - 1.0 (or continuous)\n\n // vec4 3\n aspect : f32,\n _pad1 : f32,\n _pad2 : f32,\n _pad3 : f32,\n\n // vec4 4: signal flags\n hasSigPanX : f32,\n hasSigPanY : f32,\n hasSigDollyZ : f32,\n hasSigFocusPlane : f32,\n\n // vec4 5: signal flags\n hasSigParallax : f32,\n hasSigAperture : f32,\n hasSigFOV : f32,\n hasSigEdgeDilation : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : CameraParallaxUniforms;\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 panXSigTex : texture_2d<f32>;\n@group(3) @binding(1) var panYSigTex : texture_2d<f32>;\n@group(3) @binding(2) var dollyZSigTex : texture_2d<f32>;\n@group(3) @binding(3) var focusPlaneSigTex : texture_2d<f32>;\n@group(3) @binding(4) var parallaxSigTex : texture_2d<f32>;\n@group(3) @binding(5) var apertureSigTex : texture_2d<f32>;\n@group(3) @binding(6) var fovSigTex : texture_2d<f32>;\n@group(3) @binding(7) var edgeDilationSigTex : texture_2d<f32>;\n@group(3) @binding(8) var sigSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleDepth(uv: vec2<f32>) -> f32 {\n let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));\n var raw: f32 = 0.0;\n if (u.hasDepthMap > 0.5) {\n let dSample = textureSampleLevel(depthTex, depthSamp, clampedUV, 0.0);\n raw = dot(dSample.rgb, vec3<f32>(0.299, 0.587, 0.114));\n } else {\n let c = textureSampleLevel(srcTex, srcSamp, clampedUV, 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 clamp(raw, 0.0, 1.0);\n}\n\nfn sampleAlbedo(uv: vec2<f32>) -> vec4<f32> {\n if (uv.x >= 0.0 && uv.x <= 1.0 && uv.y >= 0.0 && uv.y <= 1.0) {\n return textureSampleLevel(srcTex, srcSamp, uv, 0.0);\n }\n // Mirror with subtle fade for border inpainting\n let mirroredUV = abs(fract(uv * 0.5 + 0.5) * 2.0 - 1.0);\n let clampedUV = clamp(mirroredUV, vec2<f32>(0.001), vec2<f32>(0.999));\n return textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n let dims = vec2<f32>(textureDimensions(srcTex));\n let texelSize = vec2<f32>(1.0 / dims.x, 1.0 / dims.y);\n let aspect = select(u.aspect, dims.x / max(1.0, dims.y), u.aspect <= 0.0);\n\n // Resolve signals\n var panX = u.panX;\n if (u.hasSigPanX > 0.5) {\n panX = textureSampleLevel(panXSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var panY = u.panY;\n if (u.hasSigPanY > 0.5) {\n panY = textureSampleLevel(panYSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var dollyZ = u.dollyZ;\n if (u.hasSigDollyZ > 0.5) {\n dollyZ = textureSampleLevel(dollyZSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var focusPlane = u.focusPlane;\n if (u.hasSigFocusPlane > 0.5) {\n focusPlane = clamp(textureSampleLevel(focusPlaneSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var parallaxAmount = u.parallaxAmount;\n if (u.hasSigParallax > 0.5) {\n parallaxAmount = max(0.0, textureSampleLevel(parallaxSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var dofAperture = u.dofAperture;\n if (u.hasSigAperture > 0.5) {\n dofAperture = clamp(textureSampleLevel(apertureSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var fov = u.fov;\n if (u.hasSigFOV > 0.5) {\n fov = clamp(textureSampleLevel(fovSigTex, sigSamp, in.uv, 0.0).r, 15.0, 120.0);\n }\n\n var edgeDilation = u.edgeDilation;\n if (u.hasSigEdgeDilation > 0.5) {\n edgeDilation = clamp(textureSampleLevel(edgeDilationSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n // Motion Presets Computation\n let t = u.timeProgress;\n let twoPi = 6.2831853;\n let pi = 3.14159265;\n\n var motionPanX: f32 = 0.0;\n var motionPanY: f32 = 0.0;\n var motionDollyZ: f32 = 0.0;\n var motionFocus: f32 = 0.0;\n\n let preset = u.motionPreset;\n\n if (preset > 0.5 && preset < 1.5) {\n // DollyZoom (Vertigo effect)\n let s = sin(t * pi);\n motionDollyZ = (s * 2.0 - 1.0) * 0.45;\n motionPanX = sin(t * twoPi) * 0.06;\n motionPanY = cos(t * twoPi) * 0.03;\n } else if (preset > 1.5 && preset < 2.5) {\n // Orbit\n let angle = t * twoPi;\n motionPanX = cos(angle) * 0.32;\n motionPanY = sin(angle) * 0.18;\n motionDollyZ = sin(angle * 2.0) * 0.12;\n } else if (preset > 2.5 && preset < 3.5) {\n // FlyThrough\n let phase = sin(t * pi);\n motionDollyZ = phase * 0.65;\n motionPanX = sin(t * twoPi) * 0.12;\n motionPanY = cos(t * pi) * 0.08;\n motionFocus = (phase - 0.5) * 0.6;\n } else if (preset > 3.5 && preset < 4.5) {\n // HandheldShake\n motionPanX = (sin(t * twoPi * 1.6) * 0.06 + sin(t * twoPi * 3.7) * 0.03);\n motionPanY = (cos(t * twoPi * 1.3) * 0.05 + sin(t * twoPi * 4.2) * 0.025);\n motionDollyZ = sin(t * twoPi * 0.8) * 0.04;\n } else if (preset > 4.5) {\n // RackFocus\n let focusWave = sin(t * pi);\n motionFocus = (focusWave - 0.5) * 0.8;\n motionPanX = sin(t * twoPi) * 0.04;\n motionPanY = cos(t * twoPi) * 0.02;\n motionDollyZ = sin(t * pi) * 0.06;\n }\n\n // Cumulative camera parameters\n let effectivePanX = clamp(panX + motionPanX, -1.0, 1.0);\n let effectivePanY = clamp(panY + motionPanY, -1.0, 1.0);\n let effectiveDollyZ = clamp(dollyZ + motionDollyZ, -1.0, 1.0);\n let effectiveFocusPlane = clamp(focusPlane + motionFocus, 0.0, 1.0);\n\n // FOV & perspective distortion factor\n let fovRad = (fov * pi) / 180.0;\n let fovScale = tan(fovRad * 0.5) / tan(50.0 * pi / 360.0);\n\n // 3D Camera Raymarch Offset\n let camOffset = vec2<f32>(effectivePanX * aspect, -effectivePanY) * (parallaxAmount * 0.15 * fovScale);\n let zoomFactor = max(0.5, 1.0 + effectiveDollyZ * 0.4);\n\n let centeredUV = (in.uv - 0.5) / zoomFactor + 0.5;\n\n // Steep Relief Raymarching (16 linear steps + 4 binary refinement steps)\n let numSteps = 16.0;\n let stepSize = 1.0 / numSteps;\n var currentRayZ: f32 = 1.0;\n var currentUV = centeredUV;\n var lastUV = centeredUV;\n var lastRayZ: f32 = 1.0;\n var lastDepth: f32 = sampleDepth(centeredUV);\n var foundHit = false;\n\n for (var i = 0; i < 16; i = i + 1) {\n let sampleUV = centeredUV + camOffset * (currentRayZ - effectiveFocusPlane);\n let sceneDepth = sampleDepth(sampleUV);\n\n if (sceneDepth >= currentRayZ) {\n foundHit = true;\n lastUV = sampleUV;\n break;\n }\n\n lastRayZ = currentRayZ;\n lastDepth = sceneDepth;\n currentRayZ = currentRayZ - stepSize;\n }\n\n // Binary refinement search for sub-pixel surface accuracy\n var hitUV = lastUV;\n var hitDepth = lastDepth;\n var minZ = currentRayZ;\n var maxZ = lastRayZ;\n\n for (var b = 0; b < 4; b = b + 1) {\n let midZ = (minZ + maxZ) * 0.5;\n let testUV = centeredUV + camOffset * (midZ - effectiveFocusPlane);\n let testDepth = sampleDepth(testUV);\n if (testDepth >= midZ) {\n minZ = midZ;\n hitUV = testUV;\n hitDepth = testDepth;\n } else {\n maxZ = midZ;\n }\n }\n\n // Edge inpainting / dilation clamping\n var finalUV = hitUV;\n if (hitUV.x < 0.0 || hitUV.x > 1.0 || hitUV.y < 0.0 || hitUV.y > 1.0) {\n let clampedBorderUV = clamp(hitUV, vec2<f32>(0.0), vec2<f32>(1.0));\n finalUV = mix(hitUV, clampedBorderUV, edgeDilation);\n }\n\n // Circle of Confusion (Physical Bokeh Blur)\n let coc = abs(hitDepth - effectiveFocusPlane) * dofAperture * 0.04;\n\n if (coc < 0.0008) {\n return sampleAlbedo(finalUV);\n }\n\n // Multi-tap Golden Spiral Bokeh Disk Blur (16 taps)\n var accumColor = vec4<f32>(0.0);\n var totalWeight: f32 = 0.0;\n let goldenAngle = 2.39996323;\n\n for (var tap = 0; tap < 16; tap = tap + 1) {\n let fTap = f32(tap);\n let r = sqrt((fTap + 0.5) / 16.0);\n let theta = fTap * goldenAngle;\n let offset = vec2<f32>(cos(theta), sin(theta) * aspect) * (r * coc);\n\n let tapUV = finalUV + offset;\n let tapColor = sampleAlbedo(tapUV);\n let tapDepth = sampleDepth(tapUV);\n\n // Bokeh depth weighting: prevents foreground blur from bleeding into background\n let depthDelta = tapDepth - hitDepth;\n let bokehWeight = select(1.0, smoothstep(-0.08, 0.04, depthDelta), depthDelta < 0.0) / (1.0 + r * r * 0.5);\n\n accumColor = accumColor + tapColor * bokehWeight;\n totalWeight = totalWeight + bokehWeight;\n }\n\n let finalColor = accumColor / max(totalWeight, 0.0001);\n return vec4<f32>(clamp(finalColor.rgb, vec3<f32>(0.0), vec3<f32>(1.0)), finalColor.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 getCameraParallaxResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `camera_parallax_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: `camera_parallax_${format}.wgsl`,\n\t\t\tcode: CAMERA_PARALLAX_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `CameraParallaxPipeline_${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}\nconst CameraParallax3DWebGPURenderer = 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 || 60;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"CameraParallax3D\" || !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 depthMedia = op.depthMedia;\n\tlet depthTex;\n\tlet hasDepthMap = false;\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 } = getCameraParallaxResources(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 timeProgress = durationSeconds > 0 ? elapsedSeconds % durationSeconds / durationSeconds : 0;\n\tconst panXInfo = resolveSignalField(op, \"panX\", 0, -1, 1);\n\tconst panYInfo = resolveSignalField(op, \"panY\", 0, -1, 1);\n\tconst dollyZInfo = resolveSignalField(op, \"dollyZ\", 0, -1, 1);\n\tconst fovInfo = resolveSignalField(op, \"fov\", 50, 15, 120);\n\tconst parallaxInfo = resolveSignalField(op, \"parallaxAmount\", .6, 0, 2);\n\tconst apertureInfo = resolveSignalField(op, \"dofAperture\", .3, 0, 1);\n\tconst focusPlaneInfo = resolveSignalField(op, \"focusPlane\", .4, 0, 1);\n\tconst edgeDilationInfo = resolveSignalField(op, \"edgeDilation\", .5, 0, 1);\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, frame, fps);\n\t\treturn signalRegistry.getDummy1x1TextureView(ctx.device);\n\t};\n\tconst sigPanXView = getSigTextureView(panXInfo, \"cam_panx_sig\");\n\tconst sigPanYView = getSigTextureView(panYInfo, \"cam_pany_sig\");\n\tconst sigDollyZView = getSigTextureView(dollyZInfo, \"cam_dollyz_sig\");\n\tconst sigFocusPlaneView = getSigTextureView(focusPlaneInfo, \"cam_focus_sig\");\n\tconst sigParallaxView = getSigTextureView(parallaxInfo, \"cam_plax_sig\");\n\tconst sigApertureView = getSigTextureView(apertureInfo, \"cam_ap_sig\");\n\tconst sigFOVView = getSigTextureView(fovInfo, \"cam_fov_sig\");\n\tconst sigEdgeDilationView = getSigTextureView(edgeDilationInfo, \"cam_edge_sig\");\n\tconst uniformData = new Float32Array(24);\n\tuniformData[0] = op.motionPreset === \"DollyZoom\" ? 1 : op.motionPreset === \"Orbit\" ? 2 : op.motionPreset === \"FlyThrough\" ? 3 : op.motionPreset === \"HandheldShake\" ? 4 : op.motionPreset === \"RackFocus\" ? 5 : 0;\n\tuniformData[1] = panXInfo.value;\n\tuniformData[2] = panYInfo.value;\n\tuniformData[3] = dollyZInfo.value;\n\tuniformData[4] = fovInfo.value;\n\tuniformData[5] = parallaxInfo.value;\n\tuniformData[6] = apertureInfo.value;\n\tuniformData[7] = focusPlaneInfo.value;\n\tuniformData[8] = edgeDilationInfo.value;\n\tuniformData[9] = op.depthInvert ? 1 : 0;\n\tuniformData[10] = hasDepthMap ? 1 : 0;\n\tuniformData[11] = timeProgress;\n\tuniformData[12] = width / Math.max(1, height);\n\tuniformData[13] = 0;\n\tuniformData[14] = 0;\n\tuniformData[15] = 0;\n\tuniformData[16] = panXInfo.hasSignal ? 1 : 0;\n\tuniformData[17] = panYInfo.hasSignal ? 1 : 0;\n\tuniformData[18] = dollyZInfo.hasSignal ? 1 : 0;\n\tuniformData[19] = focusPlaneInfo.hasSignal ? 1 : 0;\n\tuniformData[20] = parallaxInfo.hasSignal ? 1 : 0;\n\tuniformData[21] = apertureInfo.hasSignal ? 1 : 0;\n\tuniformData[22] = fovInfo.hasSignal ? 1 : 0;\n\tuniformData[23] = edgeDilationInfo.hasSignal ? 1 : 0;\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: sigPanXView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: sigPanYView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: sigDollyZView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: sigFocusPlaneView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: sigParallaxView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: sigApertureView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: sigFOVView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: sigEdgeDilationView\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: CameraParallax3DWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-3w0EgvnV.mjs.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Et as frameSignal, tn as programmaticSignal } from "./dist-DFeF-ygz.mjs";
2
- import { n as defineRenderer } from "./renderer-C9r0-KY4.mjs";
1
+ import { Et as frameSignal, tn as programmaticSignal } from "./dist-D021IFfp.mjs";
2
+ import { n as defineRenderer } from "./renderer-BgmO1Dzw.mjs";
3
3
  import { a as PoseSkeletonComputePipeline } from "./dist-C_SMBmHr.mjs";
4
4
  import { existsSync, mkdirSync, statSync } from "node:fs";
5
5
  import { dirname, join, resolve } from "node:path";
@@ -5085,4 +5085,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: VisionWebGPURenderer })
5085
5085
 
5086
5086
  //#endregion
5087
5087
  export { COCO_CLASSES as _, COCO17_KEYPOINT_NAMES as a, SpatialLandmarkTransformer as c, VisionNode as d, VisionRunner as f, pinNodeToObject as g, pinNodeToLandmark as h, COCO17_KEYPOINTS as i, TemporalObjectTracker as l, mergeSubjectMask as m, CLIP_SUBJECT as n, PoseSkeletonRenderer as o, analyzeSequence as p, COCO17_BONES as r, SegmentationTexturePool as s, renderers_default as t, VisionBundle as u };
5088
- //# sourceMappingURL=renderer-CNs1vBUy.mjs.map
5088
+ //# sourceMappingURL=renderer-Duorbrb8.mjs.map