framefields 2.0.9 → 2.0.11

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 (241) hide show
  1. package/README.md +17 -6
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +10 -10
  4. package/dist/{audio-BxA0sL9z.d.mts → audio-BHanw8Jb.d.mts} +3 -3
  5. package/dist/{audio-BxA0sL9z.d.mts.map → audio-BHanw8Jb.d.mts.map} +1 -1
  6. package/dist/{audio-Dev4NGPa.mjs → audio-COOMNwL5.mjs} +4 -4
  7. package/dist/{audio-Dev4NGPa.mjs.map → audio-COOMNwL5.mjs.map} +1 -1
  8. package/dist/{dist-CoSg-CWr.mjs → dist-BAVZdFEJ.mjs} +3 -3
  9. package/dist/{dist-CoSg-CWr.mjs.map → dist-BAVZdFEJ.mjs.map} +1 -1
  10. package/dist/{dist-DzUJmIHt.mjs → dist-BYqNNwsl.mjs} +2 -2
  11. package/dist/{dist-DzUJmIHt.mjs.map → dist-BYqNNwsl.mjs.map} +1 -1
  12. package/dist/{dist-B9Afsv83.mjs → dist-CbG3QxDw.mjs} +651 -2
  13. package/dist/dist-CbG3QxDw.mjs.map +1 -0
  14. package/dist/{dist-DgfykO99.mjs → dist-Cxi68OuY.mjs} +5347 -3286
  15. package/dist/dist-Cxi68OuY.mjs.map +1 -0
  16. package/dist/effects/index.d.mts +4 -4
  17. package/dist/effects/index.mjs +25 -25
  18. package/dist/{effects-hxRwxjyC.mjs → effects-DzbjFhyA.mjs} +3 -3
  19. package/dist/{effects-hxRwxjyC.mjs.map → effects-DzbjFhyA.mjs.map} +1 -1
  20. package/dist/fonts/index.d.mts +2 -2
  21. package/dist/fonts/index.mjs +1 -1
  22. package/dist/{fonts-BznIea-I.mjs → fonts-C0W6TgJk.mjs} +52 -5
  23. package/dist/fonts-C0W6TgJk.mjs.map +1 -0
  24. package/dist/{index-J9CIK_nu.d.mts → index-9B8CJowc.d.mts} +2 -2
  25. package/dist/{index-J9CIK_nu.d.mts.map → index-9B8CJowc.d.mts.map} +1 -1
  26. package/dist/{index-CvDVpaKn.d.mts → index-CDoTrMs1.d.mts} +4 -4
  27. package/dist/{index-CvDVpaKn.d.mts.map → index-CDoTrMs1.d.mts.map} +1 -1
  28. package/dist/{index-BXNNJVs8.d.mts → index-CYGpSVsf.d.mts} +2 -2
  29. package/dist/{index-BXNNJVs8.d.mts.map → index-CYGpSVsf.d.mts.map} +1 -1
  30. package/dist/{index-D1zaOwEU.d.mts → index-DDEPvMww.d.mts} +520 -71
  31. package/dist/index-DDEPvMww.d.mts.map +1 -0
  32. package/dist/{index-oodg5k9K.d.mts → index-DGJp1d30.d.mts} +3 -3
  33. package/dist/{index-oodg5k9K.d.mts.map → index-DGJp1d30.d.mts.map} +1 -1
  34. package/dist/{index-fo4E7A6C.d.mts → index-DRZu3ezy.d.mts} +3 -3
  35. package/dist/{index-fo4E7A6C.d.mts.map → index-DRZu3ezy.d.mts.map} +1 -1
  36. package/dist/{index-CQcdKyxF.d.mts → index-DnWsbbuZ.d.mts} +54 -2
  37. package/dist/index-DnWsbbuZ.d.mts.map +1 -0
  38. package/dist/index.d.mts +398 -18
  39. package/dist/index.d.mts.map +1 -1
  40. package/dist/index.mjs +633 -57
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/preview/index.d.mts +2 -2
  43. package/dist/preview/index.mjs +10 -10
  44. package/dist/{preview-DZTbEON9.mjs → preview-BV2C4Fk6.mjs} +2 -2
  45. package/dist/{preview-DZTbEON9.mjs.map → preview-BV2C4Fk6.mjs.map} +1 -1
  46. package/dist/preview-engine/{chunk-VVLM6LZ3.mjs → chunk-6256GQFP.mjs} +1 -1
  47. package/dist/preview-engine/{chunk-VWLR2AZR.mjs → chunk-AEK5BO3J.mjs} +1 -1
  48. package/dist/preview-engine/{chunk-YG35X5R5.mjs → chunk-AWTH2WZO.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-7DIAFPQP.mjs → chunk-ECPP3UG6.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-5JD65JSJ.mjs → chunk-FGHOHCFG.mjs} +1 -1
  51. package/dist/preview-engine/chunk-IMV5SBQV.mjs +1 -0
  52. package/dist/preview-engine/chunk-IQKIHFNZ.mjs +1 -0
  53. package/dist/preview-engine/chunk-L3IEJZ5S.mjs +474 -0
  54. package/dist/preview-engine/chunk-M7NMFDJ3.mjs +3 -0
  55. package/dist/preview-engine/chunk-MJM3NFEC.mjs +315 -0
  56. package/dist/preview-engine/chunk-NFAGEP43.mjs +1448 -0
  57. package/dist/preview-engine/{chunk-5PPSCISJ.mjs → chunk-Q66QQI6N.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-JAOXXYXG.mjs → chunk-QYRDQMNB.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-XCYFPA34.mjs → chunk-RJUAM52F.mjs} +1 -1
  60. package/dist/preview-engine/chunk-VRGREB3V.mjs +1 -0
  61. package/dist/preview-engine/{chunk-AW7HNZKR.mjs → chunk-Y6HWYPKX.mjs} +1 -1
  62. package/dist/preview-engine/effects.mjs +1 -1
  63. package/dist/preview-engine/fonts.mjs +1 -1
  64. package/dist/preview-engine/framefields.mjs +27 -27
  65. package/dist/preview-engine/player.mjs +1 -1
  66. package/dist/preview-engine/renderers-5BV6JGTU.mjs +248 -0
  67. package/dist/preview-engine/renderers-7X2W6QWX.mjs +1 -0
  68. package/dist/preview-engine/renderers-EOJMPPAQ.mjs +1 -0
  69. package/dist/preview-engine/renderers-G5KQISVL.mjs +1 -0
  70. package/dist/preview-engine/renderers-GMX2ZQDG.mjs +1 -0
  71. package/dist/preview-engine/renderers-TVTQ2R74.mjs +1 -0
  72. package/dist/preview-engine/renderers-ZIMBODX6.mjs +1 -0
  73. package/dist/{program-C797QMRL.mjs → program-BmNKgzja.mjs} +281 -23
  74. package/dist/program-BmNKgzja.mjs.map +1 -0
  75. package/dist/renderer/index.d.mts +2 -2
  76. package/dist/renderer/index.mjs +2 -2
  77. package/dist/{renderer-D-4Yh-RK.mjs → renderer-1VuQTY1Z.mjs} +2 -2
  78. package/dist/{renderer-D-4Yh-RK.mjs.map → renderer-1VuQTY1Z.mjs.map} +1 -1
  79. package/dist/renderer-6oMSare3.mjs +3 -0
  80. package/dist/renderer-B1ComPb2.mjs +3 -0
  81. package/dist/{renderer-DgSO5OO0.mjs → renderer-B1YMwl2B.mjs} +1 -1
  82. package/dist/{renderer-9QCHY8Kh.mjs → renderer-B2ieylQ3.mjs} +2 -2
  83. package/dist/{renderer-9QCHY8Kh.mjs.map → renderer-B2ieylQ3.mjs.map} +1 -1
  84. package/dist/{renderer-CuqhAB4i.mjs → renderer-B8-kzZdP.mjs} +2 -2
  85. package/dist/{renderer-CuqhAB4i.mjs.map → renderer-B8-kzZdP.mjs.map} +1 -1
  86. package/dist/{renderer-Dn8v2o9L.mjs → renderer-B8UaFNqb.mjs} +3 -3
  87. package/dist/{renderer-Dn8v2o9L.mjs.map → renderer-B8UaFNqb.mjs.map} +1 -1
  88. package/dist/{renderer-DPpgBTlK.mjs → renderer-BDbTWSpP.mjs} +3 -3
  89. package/dist/{renderer-DPpgBTlK.mjs.map → renderer-BDbTWSpP.mjs.map} +1 -1
  90. package/dist/{renderer-CrVAvP92.mjs → renderer-BIIWCg_J.mjs} +3 -3
  91. package/dist/{renderer-CrVAvP92.mjs.map → renderer-BIIWCg_J.mjs.map} +1 -1
  92. package/dist/{renderer-5jfDUKd4.mjs → renderer-BJ1aTkZf.mjs} +3 -3
  93. package/dist/{renderer-5jfDUKd4.mjs.map → renderer-BJ1aTkZf.mjs.map} +1 -1
  94. package/dist/renderer-BQ5Bz5D0.mjs +3 -0
  95. package/dist/{renderer-D6Gi_h4K.mjs → renderer-BSaYG8aw.mjs} +1 -1
  96. package/dist/{renderer-2NQWaZd7.d.mts → renderer-BTdOMMEx.d.mts} +2 -2
  97. package/dist/{renderer-2NQWaZd7.d.mts.map → renderer-BTdOMMEx.d.mts.map} +1 -1
  98. package/dist/renderer-BZcn_iBl.mjs +3 -0
  99. package/dist/{renderer-DnF3aXPX.mjs → renderer-Bc04fivZ.mjs} +3 -3
  100. package/dist/{renderer-DnF3aXPX.mjs.map → renderer-Bc04fivZ.mjs.map} +1 -1
  101. package/dist/{renderer-B1UeU7lX.mjs → renderer-BfAWZziM.mjs} +193 -12
  102. package/dist/renderer-BfAWZziM.mjs.map +1 -0
  103. package/dist/{renderer-CKJb_Lky.mjs → renderer-Bfgd4N0O.mjs} +3 -3
  104. package/dist/{renderer-CKJb_Lky.mjs.map → renderer-Bfgd4N0O.mjs.map} +1 -1
  105. package/dist/{renderer-b6sZN90h.mjs → renderer-BhZZEyFX.mjs} +2 -2
  106. package/dist/{renderer-b6sZN90h.mjs.map → renderer-BhZZEyFX.mjs.map} +1 -1
  107. package/dist/{renderer-C-PfbkPu.mjs → renderer-Bhdf90Zq.mjs} +2 -2
  108. package/dist/{renderer-C-PfbkPu.mjs.map → renderer-Bhdf90Zq.mjs.map} +1 -1
  109. package/dist/renderer-Bp6sDMa6.mjs +3 -0
  110. package/dist/renderer-Bt7_sb_Y.mjs +3 -0
  111. package/dist/{renderer-CB8hMQgm.mjs → renderer-Bv21DbWy.mjs} +1 -1
  112. package/dist/{renderer-gT0ADXMW.mjs → renderer-Bv6q84TU.mjs} +2 -2
  113. package/dist/{renderer-gT0ADXMW.mjs.map → renderer-Bv6q84TU.mjs.map} +1 -1
  114. package/dist/renderer-C606ZPUn.mjs +3 -0
  115. package/dist/renderer-C9jyKn1i.mjs +3 -0
  116. package/dist/renderer-CERfcxgv.mjs +3 -0
  117. package/dist/renderer-CG5PzNkv.mjs +3 -0
  118. package/dist/{renderer-CpUbDJAV.mjs → renderer-CI7sG_cv.mjs} +2 -2
  119. package/dist/{renderer-CpUbDJAV.mjs.map → renderer-CI7sG_cv.mjs.map} +1 -1
  120. package/dist/renderer-CPoIMVdk.mjs +3 -0
  121. package/dist/{renderer-B4ecTNR7.mjs → renderer-CWTpc4ff.mjs} +2 -2
  122. package/dist/{renderer-B4ecTNR7.mjs.map → renderer-CWTpc4ff.mjs.map} +1 -1
  123. package/dist/{renderer-D3uNI10l.mjs → renderer-CXn5HAnK.mjs} +3 -3
  124. package/dist/{renderer-D3uNI10l.mjs.map → renderer-CXn5HAnK.mjs.map} +1 -1
  125. package/dist/{renderer-DCK73tcD.mjs → renderer-C_TPMHiH.mjs} +2 -2
  126. package/dist/{renderer-DCK73tcD.mjs.map → renderer-C_TPMHiH.mjs.map} +1 -1
  127. package/dist/renderer-Ca7L1EOp.mjs +3 -0
  128. package/dist/{renderer-6PqlYQjC.mjs → renderer-CaaOKMSd.mjs} +2 -2
  129. package/dist/{renderer-6PqlYQjC.mjs.map → renderer-CaaOKMSd.mjs.map} +1 -1
  130. package/dist/{renderer-DX38J6mK.mjs → renderer-CdciwwMI.mjs} +3 -3
  131. package/dist/{renderer-DX38J6mK.mjs.map → renderer-CdciwwMI.mjs.map} +1 -1
  132. package/dist/{renderer-DRpE3ZW4.mjs → renderer-CfC_aiew.mjs} +3 -3
  133. package/dist/{renderer-DRpE3ZW4.mjs.map → renderer-CfC_aiew.mjs.map} +1 -1
  134. package/dist/{renderer-BE4Ns0nw.mjs → renderer-ChdLYS-G.mjs} +3 -3
  135. package/dist/{renderer-BE4Ns0nw.mjs.map → renderer-ChdLYS-G.mjs.map} +1 -1
  136. package/dist/renderer-Cl6GkeHx.mjs +3 -0
  137. package/dist/renderer-ClcjrFyo.mjs +3 -0
  138. package/dist/{renderer-B8gTyU3w.mjs → renderer-CnXW28b9.mjs} +2 -2
  139. package/dist/{renderer-B8gTyU3w.mjs.map → renderer-CnXW28b9.mjs.map} +1 -1
  140. package/dist/{renderer-C2gnWTQZ.mjs → renderer-Ctk2zzfy.mjs} +3 -3
  141. package/dist/{renderer-C2gnWTQZ.mjs.map → renderer-Ctk2zzfy.mjs.map} +1 -1
  142. package/dist/{renderer-EmG34sT2.mjs → renderer-CtyD_Xju.mjs} +2 -2
  143. package/dist/{renderer-EmG34sT2.mjs.map → renderer-CtyD_Xju.mjs.map} +1 -1
  144. package/dist/renderer-CySUP_wk.mjs +3 -0
  145. package/dist/renderer-D2l_Odyg.mjs +3 -0
  146. package/dist/{renderer-CckJJHbM.mjs → renderer-D2nCGcjv.mjs} +2 -2
  147. package/dist/{renderer-CckJJHbM.mjs.map → renderer-D2nCGcjv.mjs.map} +1 -1
  148. package/dist/renderer-DCPCYySt.mjs +3 -0
  149. package/dist/{renderer-BgqjWI7K.mjs → renderer-DIgsilTw.mjs} +3 -3
  150. package/dist/{renderer-BgqjWI7K.mjs.map → renderer-DIgsilTw.mjs.map} +1 -1
  151. package/dist/renderer-DIkpJEOZ.mjs +3 -0
  152. package/dist/{renderer-CxQ5v4fJ.mjs → renderer-DML9qpmS.mjs} +2 -2
  153. package/dist/{renderer-CxQ5v4fJ.mjs.map → renderer-DML9qpmS.mjs.map} +1 -1
  154. package/dist/renderer-DNSXPkf_.mjs +3 -0
  155. package/dist/renderer-DP-CvZ_Z.mjs +3 -0
  156. package/dist/renderer-DeXb8R6h.mjs +3 -0
  157. package/dist/renderer-DezO-ZaP.mjs +4 -0
  158. package/dist/renderer-DhXe04fC.mjs +3 -0
  159. package/dist/{renderer-BwmZUkvd.mjs → renderer-DirxsOjq.mjs} +2 -2
  160. package/dist/{renderer-BwmZUkvd.mjs.map → renderer-DirxsOjq.mjs.map} +1 -1
  161. package/dist/{renderer-BcPpcKDI.mjs → renderer-Djlb4TLO.mjs} +3 -3
  162. package/dist/{renderer-BcPpcKDI.mjs.map → renderer-Djlb4TLO.mjs.map} +1 -1
  163. package/dist/renderer-DnH3SI7w.mjs +3 -0
  164. package/dist/{renderer-xp_J0ln7.mjs → renderer-DpGc-N3G.mjs} +3 -3
  165. package/dist/{renderer-xp_J0ln7.mjs.map → renderer-DpGc-N3G.mjs.map} +1 -1
  166. package/dist/renderer-Dpw4oi33.mjs +3 -0
  167. package/dist/{renderer-DAFyJ4dv.mjs → renderer-DxTs4Iyi.mjs} +2 -2
  168. package/dist/{renderer-DAFyJ4dv.mjs.map → renderer-DxTs4Iyi.mjs.map} +1 -1
  169. package/dist/{renderer-BXaK02qA.mjs → renderer-Dy0utCl7.mjs} +3 -3
  170. package/dist/{renderer-BXaK02qA.mjs.map → renderer-Dy0utCl7.mjs.map} +1 -1
  171. package/dist/renderer-Md-ytU0v.mjs +3 -0
  172. package/dist/{renderer-BTYncYDf.mjs → renderer-RKsXlF_0.mjs} +43 -43
  173. package/dist/{renderer-BTYncYDf.mjs.map → renderer-RKsXlF_0.mjs.map} +1 -1
  174. package/dist/renderer-U-bhWO9Q.mjs +3 -0
  175. package/dist/{renderer-CV8diddR.mjs → renderer-WSGuj_V6.mjs} +2 -2
  176. package/dist/{renderer-CV8diddR.mjs.map → renderer-WSGuj_V6.mjs.map} +1 -1
  177. package/dist/{renderer-_bygZSKk.mjs → renderer-bsWnRNpJ.mjs} +2 -2
  178. package/dist/{renderer-_bygZSKk.mjs.map → renderer-bsWnRNpJ.mjs.map} +1 -1
  179. package/dist/{renderer-lq4n1hSS.mjs → renderer-cgxO2xN6.mjs} +3 -3
  180. package/dist/{renderer-lq4n1hSS.mjs.map → renderer-cgxO2xN6.mjs.map} +1 -1
  181. package/dist/{renderer-zvtpCnqy.mjs → renderer-dncoIVdd.mjs} +1 -1
  182. package/dist/{renderer-BpJgfBQ8.mjs → renderer-kwmlLQOO.mjs} +3 -3
  183. package/dist/{renderer-BpJgfBQ8.mjs.map → renderer-kwmlLQOO.mjs.map} +1 -1
  184. package/dist/{renderer--vY6O19V.mjs → renderer-vqkKWqa5.mjs} +2 -2
  185. package/dist/{renderer--vY6O19V.mjs.map → renderer-vqkKWqa5.mjs.map} +1 -1
  186. package/dist/renderer-zA5okHds.mjs +3 -0
  187. package/dist/{renderers-CP8CFWDs-Ciap7y_j.mjs → renderers-CP8CFWDs-DwQTx8S7.mjs} +3 -3
  188. package/dist/{renderers-CP8CFWDs-Ciap7y_j.mjs.map → renderers-CP8CFWDs-DwQTx8S7.mjs.map} +1 -1
  189. package/dist/signals/index.d.mts +5 -5
  190. package/dist/signals/index.mjs +6 -6
  191. package/dist/{signals-CsxqD2AA.mjs → signals-Bv1OweKd.mjs} +3 -3
  192. package/dist/{signals-CsxqD2AA.mjs.map → signals-Bv1OweKd.mjs.map} +1 -1
  193. package/package.json +55 -55
  194. package/dist/dist-B9Afsv83.mjs.map +0 -1
  195. package/dist/dist-DgfykO99.mjs.map +0 -1
  196. package/dist/fonts-BznIea-I.mjs.map +0 -1
  197. package/dist/index-CQcdKyxF.d.mts.map +0 -1
  198. package/dist/index-D1zaOwEU.d.mts.map +0 -1
  199. package/dist/preview-engine/chunk-BUWK5RJ4.mjs +0 -997
  200. package/dist/preview-engine/chunk-CNSHAFEA.mjs +0 -1
  201. package/dist/preview-engine/chunk-OF75EHTX.mjs +0 -418
  202. package/dist/preview-engine/chunk-UC7CSW2A.mjs +0 -1
  203. package/dist/preview-engine/chunk-WQ7BFSKF.mjs +0 -3
  204. package/dist/preview-engine/chunk-ZJFAGIOM.mjs +0 -315
  205. package/dist/preview-engine/renderers-32PIFHPS.mjs +0 -1
  206. package/dist/preview-engine/renderers-3Y3EMRDJ.mjs +0 -1
  207. package/dist/preview-engine/renderers-CHJWUJVI.mjs +0 -1
  208. package/dist/preview-engine/renderers-CI2GXWLP.mjs +0 -1
  209. package/dist/preview-engine/renderers-EE2GFG7J.mjs +0 -1
  210. package/dist/preview-engine/renderers-LTNTQLWE.mjs +0 -248
  211. package/dist/preview-engine/renderers-UGZUPONY.mjs +0 -1
  212. package/dist/program-C797QMRL.mjs.map +0 -1
  213. package/dist/renderer-3uTfN95I.mjs +0 -3
  214. package/dist/renderer-B1UeU7lX.mjs.map +0 -1
  215. package/dist/renderer-B5GslTP-.mjs +0 -3
  216. package/dist/renderer-BUIWeIKQ.mjs +0 -3
  217. package/dist/renderer-B_LfC88A.mjs +0 -3
  218. package/dist/renderer-B_zmicsE.mjs +0 -3
  219. package/dist/renderer-BtNxtXkR.mjs +0 -3
  220. package/dist/renderer-C-sZSHtf.mjs +0 -3
  221. package/dist/renderer-C1zifktw.mjs +0 -3
  222. package/dist/renderer-CCt2XTSM.mjs +0 -3
  223. package/dist/renderer-CL3evUmF.mjs +0 -3
  224. package/dist/renderer-CMXcaArD.mjs +0 -3
  225. package/dist/renderer-CW9D5zCP.mjs +0 -3
  226. package/dist/renderer-CjY77sB_.mjs +0 -3
  227. package/dist/renderer-D1R7vBUl.mjs +0 -3
  228. package/dist/renderer-D5yawxtJ.mjs +0 -3
  229. package/dist/renderer-DC8jr1Ay.mjs +0 -3
  230. package/dist/renderer-DCv-Abvn.mjs +0 -4
  231. package/dist/renderer-DPLFhzaV.mjs +0 -3
  232. package/dist/renderer-DVsF2FDr.mjs +0 -3
  233. package/dist/renderer-DetDm3ep.mjs +0 -3
  234. package/dist/renderer-DhMhJh_G.mjs +0 -3
  235. package/dist/renderer-DhQld4Qt.mjs +0 -3
  236. package/dist/renderer-Dn3rc3ah.mjs +0 -3
  237. package/dist/renderer-Dw9LxE2f.mjs +0 -3
  238. package/dist/renderer-HvrQZw5E.mjs +0 -3
  239. package/dist/renderer-QdJE56ts.mjs +0 -3
  240. package/dist/renderer-euGyUN2O.mjs +0 -3
  241. package/dist/renderer-p3SmBFP9.mjs +0 -3
@@ -1,12 +1,12 @@
1
- import { It as resolveNumber, Nt as reportRenderDiagnostic, Pt as resolveBoolean, bt as getActiveMediaMetadata, f as DEFAULT_DURATION_MS } from "./dist-B9Afsv83.mjs";
1
+ import { Gt as reportRenderDiagnostic, Jt as resolveNumber, Kt as resolveBoolean, p as DEFAULT_DURATION_MS, wt as getActiveMediaMetadata } from "./dist-CbG3QxDw.mjs";
2
2
  import { n as defineRenderer, t as audioRegistry } from "./renderer-CtVkU_GA.mjs";
3
- import { I as generateExtrudedTextGeometry, J as parseColor, K as measureMaxCaptionHeight, Q as poseNodes, S as Vector3Math, V as jointMatrices, a as Camera3D, g as ScreenSpaceRelightPipeline, l as Matrix4Math, m as Renderer3D, n as AudioLatentTrackCache, rt as srtLoader, st as resolveMediaSourceUrl, y as SlugFontCache } from "./dist-DgfykO99.mjs";
4
- import { a as resolveLayerDuration, g as measureText, n as decodeAudioSource } from "./dist-CoSg-CWr.mjs";
3
+ import { $ as poseNodes, H as jointMatrices, I as generateExtrudedTextGeometry, R as getPrimitiveGeometry, S as Vector3Math, Y as parseColor, a as Camera3D, c as Light3D, ct as resolveMediaSourceUrl, g as ScreenSpaceRelightPipeline, it as srtLoader, l as Matrix4Math, m as Renderer3D, n as AudioLatentTrackCache, q as measureMaxCaptionHeight, y as SlugFontCache } from "./dist-Cxi68OuY.mjs";
4
+ import { a as resolveLayerDuration, g as measureText, n as decodeAudioSource } from "./dist-BAVZdFEJ.mjs";
5
5
  import { o as TemporalDeflickerPipeline } from "./dist-C_hjvkdN.mjs";
6
- import { Gt as initLayout, Rt as evaluateTrackAtFrame, St as computeLayout, vt as collectNodeOps } from "./program-C797QMRL.mjs";
6
+ import { Ct as collectNodeOps, Dt as computeLayout, Ut as evaluateTrackAtFrame, Zt as initLayout } from "./program-BmNKgzja.mjs";
7
7
  import gsapModule from "gsap";
8
8
 
9
- //#region ../../nodes/node-compositor/dist/renderers-DZwweR5N.mjs
9
+ //#region ../../nodes/node-compositor/dist/renderers-BAr6K7E8.mjs
10
10
  /**
11
11
  * Solves a cubic bezier curve defined by control points (x1, y1) and (x2, y2)
12
12
  * for a given progress parameter t in [0, 1].
@@ -1338,6 +1338,25 @@ function drawProjectedQuad(ctx, encoder, destView, sourceTex, quad, destWidth, d
1338
1338
  renderPass.draw(4);
1339
1339
  renderPass.end();
1340
1340
  }
1341
+ /**
1342
+ * Emissive and shadow participation for a 3D draw: animated values first,
1343
+ * then the node's own, then (meshes) the model file's material.
1344
+ */
1345
+ function surfaceProps(target, lop, mat) {
1346
+ const toSrgb = (v) => v <= .0031308 ? 12.92 * v : 1.055 * v ** (1 / 2.4) - .055;
1347
+ const emissive = target?.emissive ?? lop.emissive ?? (mat?.emissive ? [
1348
+ toSrgb(mat.emissive[0]),
1349
+ toSrgb(mat.emissive[1]),
1350
+ toSrgb(mat.emissive[2])
1351
+ ] : void 0);
1352
+ const out = {};
1353
+ if (emissive !== void 0) {
1354
+ out.emissive = emissive;
1355
+ out.emissiveIntensity = target?.emissiveIntensity ?? lop.emissiveIntensity ?? mat?.emissiveStrength ?? 1;
1356
+ }
1357
+ if (lop.castShadow !== void 0) out.castShadow = lop.castShadow;
1358
+ return out;
1359
+ }
1341
1360
  function computeContainerScissor(matrix, width, height) {
1342
1361
  const corners = [
1343
1362
  matrix.transformPoint(new DOMPoint(0, 0)),
@@ -1524,6 +1543,9 @@ const CompositorWebGPURenderer = async (args) => {
1524
1543
  let camera = null;
1525
1544
  let dofEnabled = false;
1526
1545
  const sceneLights = [];
1546
+ let sceneEnvironment = null;
1547
+ let sceneBloom = null;
1548
+ let shadowMapSize;
1527
1549
  if (is3DScene) {
1528
1550
  const camOp = cameraVM?.operation;
1529
1551
  const camStub = camOp?.id ? targetsById[camOp.id] : void 0;
@@ -1593,6 +1615,23 @@ const CompositorWebGPURenderer = async (args) => {
1593
1615
  if (durationFrames !== void 0 && shiftedFrame >= startFrame + durationFrames) continue;
1594
1616
  }
1595
1617
  const lightType = target?.lightType ?? lop.lightType ?? "point";
1618
+ if (lightType === "environment") {
1619
+ const intensity$1 = target?.intensity ?? lop.intensity;
1620
+ sceneEnvironment = {
1621
+ preset: lop.preset,
1622
+ top: lop.top,
1623
+ horizon: lop.horizon,
1624
+ bottom: lop.bottom,
1625
+ softboxes: target?.softboxes ?? lop.softboxes,
1626
+ rotation: target?.rotation ?? lop.rotation,
1627
+ exposure: target?.exposure ?? lop.exposure,
1628
+ toneMapping: lop.toneMapping,
1629
+ fog: lop.fog,
1630
+ ...intensity$1 !== void 0 && { intensity: intensity$1 }
1631
+ };
1632
+ sceneBloom = lop.bloom === true ? {} : lop.bloom && typeof lop.bloom === "object" ? { ...lop.bloom } : null;
1633
+ continue;
1634
+ }
1596
1635
  const color = parseColor(target?.color ?? lop.color ?? "#ffffff");
1597
1636
  const intensity = target?.intensity ?? lop.intensity ?? 1;
1598
1637
  const x = target?.x ?? lop.x ?? 0;
@@ -1622,11 +1661,17 @@ const CompositorWebGPURenderer = async (args) => {
1622
1661
  radius,
1623
1662
  angle,
1624
1663
  penumbra,
1625
- decay
1664
+ decay,
1665
+ castShadow: Boolean(lop.castShadow),
1666
+ shadowSoftness: target?.shadowSoftness ?? lop.shadowSoftness,
1667
+ shadowDarkness: target?.shadowDarkness ?? lop.shadowDarkness
1626
1668
  });
1669
+ if (lop.castShadow && lop.shadowMapSize) shadowMapSize = lop.shadowMapSize;
1627
1670
  }
1628
1671
  }
1629
1672
  const pending3DItems = [];
1673
+ /** Textures the queued 3D items still read: their layers and mattes. */
1674
+ const pendingTextures = () => pending3DItems.flatMap((q) => [q.texture, q.opts.matte]).filter((t) => Boolean(t));
1630
1675
  const flush3DPass = (curTex, curView, curExcludes) => {
1631
1676
  if (pending3DItems.length === 0 || !camera) return {
1632
1677
  finalTex: curTex,
@@ -1634,7 +1679,7 @@ const CompositorWebGPURenderer = async (args) => {
1634
1679
  };
1635
1680
  const r3d = getRenderer3D(ctx.device, ctx.renderer.format ?? "rgba8unorm", sampleCount3d);
1636
1681
  for (const item of pending3DItems) if (item.kind === "mesh" && item.opts.audioDeform) item.meshBuffers = r3d.deformMesh(encoder, item.mesh, item.opts.audioDeform);
1637
- const itemTextures = pending3DItems.map((q) => q.kind === "quad" ? q.texture : q.texture).filter((t) => Boolean(t));
1682
+ const itemTextures = pendingTextures();
1638
1683
  const scene3dTex = ctx.renderer.getTemporaryTexture(nativeWidth, nativeHeight, [
1639
1684
  curTex,
1640
1685
  targetTexture,
@@ -1648,12 +1693,41 @@ const CompositorWebGPURenderer = async (args) => {
1648
1693
  linearDepthTex = r3d.getOrCreateLinearDepthTexture(nativeWidth, nativeHeight);
1649
1694
  linearDepthView = linearDepthTex.createView();
1650
1695
  }
1696
+ let shadow = null;
1697
+ const casterIndex = Light3D.shadowCasterIndex(sceneLights);
1698
+ if (casterIndex >= 0) {
1699
+ const casters = [];
1700
+ const receivers = [];
1701
+ for (const item of pending3DItems) if (item.kind === "mesh") {
1702
+ const caster = {
1703
+ kind: "mesh",
1704
+ mesh: item.mesh,
1705
+ buffers: item.meshBuffers,
1706
+ opts: item.opts
1707
+ };
1708
+ receivers.push(r3d.worldBounds(caster));
1709
+ if (item.opts.castShadow !== false && item.opts.material !== "unlit") casters.push(caster);
1710
+ } else if (item.kind === "quad") {
1711
+ const caster = {
1712
+ kind: "quad",
1713
+ texture: item.texture,
1714
+ opts: item.opts
1715
+ };
1716
+ receivers.push(r3d.worldBounds(caster));
1717
+ if (item.opts.castShadow === true) casters.push(caster);
1718
+ }
1719
+ const shadowLight = sceneLights.filter((l) => (l.lightType ?? l.type) !== "ambient")[casterIndex];
1720
+ if (shadowLight && casters.length > 0) shadow = r3d.renderShadowMap(encoder, shadowLight, casterIndex, casters, receivers, { mapSize: shadowMapSize });
1721
+ }
1651
1722
  const { pass: pass3d, cameraBindGroup, cameraBuffer, lightsBindGroup } = r3d.beginPass(encoder, scene3dView, nativeWidth, nativeHeight, camera, "clear", {
1652
1723
  r: 0,
1653
1724
  g: 0,
1654
1725
  b: 0,
1655
1726
  a: 0
1656
- }, linearDepthView, sceneLights);
1727
+ }, linearDepthView, sceneLights, {
1728
+ environment: sceneEnvironment,
1729
+ shadow
1730
+ }, Boolean(sceneBloom));
1657
1731
  for (const item of pending3DItems) if (item.kind === "quad") r3d.drawTextureQuad(pass3d, cameraBindGroup, lightsBindGroup, item.texture, item.opts, dofEnabled);
1658
1732
  else if (item.kind === "slug") r3d.drawSlugText(pass3d, cameraBindGroup, lightsBindGroup, item.batches, item.opts, item.stackBase, dofEnabled);
1659
1733
  else if (item.kind === "mesh") r3d.drawMesh3D(pass3d, cameraBindGroup, lightsBindGroup, item.meshBuffers ?? item.mesh, item.texture, item.opts, dofEnabled);
@@ -1669,6 +1743,17 @@ const CompositorWebGPURenderer = async (args) => {
1669
1743
  r3d.applyDepthOfField(encoder, scene3dTex, linearDepthTex, dofResultTex.createView(), cameraBuffer);
1670
1744
  final3dTex = dofResultTex;
1671
1745
  }
1746
+ if (sceneBloom) {
1747
+ const bloomTex = ctx.renderer.getTemporaryTexture(nativeWidth, nativeHeight, [
1748
+ curTex,
1749
+ targetTexture,
1750
+ final3dTex,
1751
+ scene3dTex,
1752
+ ...curExcludes
1753
+ ]);
1754
+ r3d.applyBloom(encoder, final3dTex, bloomTex, sceneBloom, r3d.hdrSource());
1755
+ final3dTex = bloomTex;
1756
+ }
1672
1757
  const nextTex = ctx.renderer.composite(encoder, curTex, final3dTex, "normal", [targetTexture, ...curExcludes]);
1673
1758
  pending3DItems.length = 0;
1674
1759
  return {
@@ -1684,9 +1769,15 @@ const CompositorWebGPURenderer = async (args) => {
1684
1769
  let activeTex = initialTex;
1685
1770
  let activeView = initialView;
1686
1771
  let activeExcludes = excludes;
1772
+ const mattesByOwner = /* @__PURE__ */ new Map();
1773
+ for (const vm of vms) {
1774
+ const owner = vm.operation?.matteOf;
1775
+ if (owner) mattesByOwner.set(owner, vm);
1776
+ }
1687
1777
  for (const child of sorted) {
1688
1778
  const lop = child.operation;
1689
1779
  if (lop.kind === "camera" || lop.kind === "light") continue;
1780
+ if (lop.matteOf) continue;
1690
1781
  const targetId = lop.id || lop.inputHandleId;
1691
1782
  const target = targetId ? targetsById[targetId] : void 0;
1692
1783
  const isChild3D = Boolean(target?.is3D ?? lop.is3D) || Boolean(camera && ((target?.z ?? lop.z ?? 0) !== 0 || lop.is3D)) || Boolean(parent3DMatrix);
@@ -1710,6 +1801,87 @@ const CompositorWebGPURenderer = async (args) => {
1710
1801
  continue;
1711
1802
  }
1712
1803
  nodeIndex += 1;
1804
+ const matteVM = lop.matteId ? mattesByOwner.get(lop.id) : void 0;
1805
+ if (matteVM) {
1806
+ const isolate = async (vm, index) => {
1807
+ const queued = pending3DItems.splice(0);
1808
+ const busy = [
1809
+ targetTexture,
1810
+ activeTex,
1811
+ ...activeExcludes,
1812
+ ...queued.flatMap((q) => [q.texture, q.opts.matte])
1813
+ ].filter((t) => Boolean(t));
1814
+ const tex = ctx.renderer.getTemporaryTexture(targetW, targetH, busy);
1815
+ const view = tex.createView();
1816
+ ctx.renderer.beginFrame(encoder, view, {
1817
+ r: 0,
1818
+ g: 0,
1819
+ b: 0,
1820
+ a: 0
1821
+ }, targetW, targetH, "clear").end();
1822
+ const drawn = (await renderLayerVM(vm, index, tex, view, busy.filter((t) => t !== targetTexture), accumulatedOpacity, parentMatrix, parentRect, targetW, targetH, parent3DMatrix, false))?.finalTex ?? tex;
1823
+ const flat = flush3DPass(drawn, drawn.createView(), busy).finalTex;
1824
+ pending3DItems.push(...queued);
1825
+ return flat;
1826
+ };
1827
+ const mode = matteVM.operation.matteMode ?? "alpha";
1828
+ const blend = mode === "luma" ? "luma-in" : mode === "luma-inverted" ? "luma-out" : mode === "alpha-inverted" ? "destination-out" : "destination-in";
1829
+ if (isChild3D) {
1830
+ let coverage = await isolate(matteVM, nodeIndex);
1831
+ activeExcludes = [...activeExcludes, coverage];
1832
+ nodeIndex += 1;
1833
+ if (mode !== "alpha") {
1834
+ const white = ctx.renderer.getTemporaryTexture(targetW, targetH, [
1835
+ targetTexture,
1836
+ activeTex,
1837
+ ...activeExcludes,
1838
+ ...pendingTextures()
1839
+ ]);
1840
+ ctx.renderer.beginFrame(encoder, white.createView(), {
1841
+ r: 1,
1842
+ g: 1,
1843
+ b: 1,
1844
+ a: 1
1845
+ }, targetW, targetH, "clear").end();
1846
+ coverage = ctx.renderer.composite(encoder, white, coverage, blend, [
1847
+ targetTexture,
1848
+ activeTex,
1849
+ ...activeExcludes,
1850
+ ...pendingTextures(),
1851
+ white
1852
+ ]);
1853
+ activeExcludes = [...activeExcludes, coverage];
1854
+ }
1855
+ const before = pending3DItems.length;
1856
+ const res$1 = await renderLayerVM(child, nodeIndex, activeTex, activeView, activeExcludes, accumulatedOpacity, parentMatrix, parentRect, targetW, targetH, parent3DMatrix, isRootScene);
1857
+ for (const item of pending3DItems.slice(before)) item.opts.matte = coverage;
1858
+ if (res$1) {
1859
+ if (res$1.finalTex !== activeTex) activeExcludes = [...activeExcludes, res$1.finalTex];
1860
+ activeTex = res$1.finalTex;
1861
+ activeView = res$1.finalView;
1862
+ }
1863
+ continue;
1864
+ }
1865
+ const contentTex = await isolate(child, nodeIndex);
1866
+ activeExcludes = [...activeExcludes, contentTex];
1867
+ nodeIndex += 1;
1868
+ const matteTex = await isolate(matteVM, nodeIndex);
1869
+ const masked = ctx.renderer.composite(encoder, contentTex, matteTex, blend, [
1870
+ targetTexture,
1871
+ activeTex,
1872
+ ...activeExcludes,
1873
+ matteTex
1874
+ ]);
1875
+ const next = ctx.renderer.composite(encoder, activeTex, masked, "normal", [
1876
+ targetTexture,
1877
+ ...activeExcludes,
1878
+ matteTex
1879
+ ]);
1880
+ activeExcludes = [...activeExcludes, next];
1881
+ activeTex = next;
1882
+ activeView = next.createView();
1883
+ continue;
1884
+ }
1713
1885
  const res = await renderLayerVM(child, nodeIndex, activeTex, activeView, activeExcludes, accumulatedOpacity, parentMatrix, parentRect, targetW, targetH, parent3DMatrix, isRootScene);
1714
1886
  if (res) {
1715
1887
  if (res.finalTex !== activeTex) activeExcludes = [...activeExcludes, res.finalTex];
@@ -1729,7 +1901,7 @@ const CompositorWebGPURenderer = async (args) => {
1729
1901
  };
1730
1902
  };
1731
1903
  const renderLayerVM = async (nodeVM, i, destTex, destView, baseExcludes, accumulatedOpacity, parentMatrix, parentRect, targetW = nativeWidth, targetH = nativeHeight, parent3DMatrix = null, isRootScene = false) => {
1732
- const excludes = [...baseExcludes, ...pending3DItems.map((q) => q.texture).filter((t) => Boolean(t))];
1904
+ const excludes = [...baseExcludes, ...pendingTextures()];
1733
1905
  const lop = nodeVM.operation;
1734
1906
  if (lop.kind === "camera" || lop.kind === "light") return;
1735
1907
  const targetId = lop.id || lop.inputHandleId;
@@ -1757,6 +1929,10 @@ const CompositorWebGPURenderer = async (args) => {
1757
1929
  lop.modelData = modelSrc;
1758
1930
  }
1759
1931
  }
1932
+ if (!modelSrc && lop.primitive3d) {
1933
+ modelSrc = getPrimitiveGeometry(lop.primitive3d);
1934
+ lop.modelData = modelSrc;
1935
+ }
1760
1936
  if (!modelSrc) return;
1761
1937
  let model;
1762
1938
  try {
@@ -1993,8 +2169,10 @@ const CompositorWebGPURenderer = async (args) => {
1993
2169
  specularIntensity: target?.specularIntensity ?? lop.specularIntensity ?? .5,
1994
2170
  ambientIntensity: target?.ambientIntensity ?? lop.ambientIntensity ?? 1,
1995
2171
  metallic: target?.metallic ?? lop.metallic ?? mat?.metallic,
2172
+ ...surfaceProps(target, lop, mat),
1996
2173
  audioDeform: meshAudioDeform
1997
2174
  };
2175
+ if (mat) meshOpts.maps = await r3d.materialMaps(mat);
1998
2176
  pending3DItems.push({
1999
2177
  kind: "mesh",
2000
2178
  mesh,
@@ -2150,7 +2328,7 @@ const CompositorWebGPURenderer = async (args) => {
2150
2328
  activeTex,
2151
2329
  targetTexture,
2152
2330
  ...excludes,
2153
- ...pending3DItems.map((q) => q.texture).filter((t) => Boolean(t))
2331
+ ...pendingTextures()
2154
2332
  ];
2155
2333
  const groupTex$1 = ctx.renderer.getTemporaryTexture(texW$1, texH$1, groupExcludes$1);
2156
2334
  const groupView$1 = groupTex$1.createView();
@@ -2254,6 +2432,7 @@ const CompositorWebGPURenderer = async (args) => {
2254
2432
  specularIntensity: target?.specularIntensity ?? lop.specularIntensity,
2255
2433
  ambientIntensity: target?.ambientIntensity ?? lop.ambientIntensity,
2256
2434
  metallic: target?.metallic ?? lop.metallic,
2435
+ ...surfaceProps(target, lop),
2257
2436
  ...modelMatrix && { modelMatrix }
2258
2437
  };
2259
2438
  pending3DItems.push({
@@ -2589,7 +2768,8 @@ const CompositorWebGPURenderer = async (args) => {
2589
2768
  const textTrack = lop.animation?.tracks?.find((t) => t.prop === "text");
2590
2769
  if (!hasKineticAnimators$1 && !hasTypewriter && (textTrack !== void 0 || typeof target?.text === "number") && fullText.length > 0) {
2591
2770
  const progress = typeof target?.text === "number" ? Math.max(0, Math.min(1, target.text)) : 1;
2592
- if (progress >= 1) displayText = fullText;
2771
+ const countsUnits = typeof target?.text === "number" && target.text > 1.0001;
2772
+ if (progress >= 1 && !countsUnits) displayText = fullText;
2593
2773
  else if (progress <= 0) displayText = "";
2594
2774
  else {
2595
2775
  const presetType = textTrack?.keyframes?.find((k) => k.presetType)?.presetType ?? "typewriter";
@@ -2994,6 +3174,7 @@ const CompositorWebGPURenderer = async (args) => {
2994
3174
  specularIntensity: target?.specularIntensity ?? lop.specularIntensity,
2995
3175
  ambientIntensity: target?.ambientIntensity ?? lop.ambientIntensity,
2996
3176
  metallic: target?.metallic ?? lop.metallic,
3177
+ ...surfaceProps(target, lop),
2997
3178
  ...modelMatrix && { modelMatrix }
2998
3179
  };
2999
3180
  const quadHasContent = layerHasRaster || Boolean(quadOpts.borderWidth && quadOpts.borderWidth > 0 && quadOpts.borderColor);
@@ -3302,4 +3483,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: CompositorWebGPURendere
3302
3483
 
3303
3484
  //#endregion
3304
3485
  export { Transform3DMath, renderers_default as default, has3DTransform, solveHomography };
3305
- //# sourceMappingURL=renderer-B1UeU7lX.mjs.map
3486
+ //# sourceMappingURL=renderer-BfAWZziM.mjs.map