framefields 2.3.0 → 2.3.1

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 (239) hide show
  1. package/dist/audio/index.mjs +10 -10
  2. package/dist/{audio-ChRqnFwB.mjs → audio-CS104aUj.mjs} +3 -3
  3. package/dist/{audio-ChRqnFwB.mjs.map → audio-CS104aUj.mjs.map} +1 -1
  4. package/dist/{dist-t-NLlnhM.mjs → dist-BOdxAhOT.mjs} +2 -2
  5. package/dist/{dist-t-NLlnhM.mjs.map → dist-BOdxAhOT.mjs.map} +1 -1
  6. package/dist/{dist-PwT_Vmax.mjs → dist-jU289ehm.mjs} +108 -26
  7. package/dist/{dist-PwT_Vmax.mjs.map → dist-jU289ehm.mjs.map} +1 -1
  8. package/dist/effects/index.mjs +34 -34
  9. package/dist/{effects-Duoqc_Oa.mjs → effects-BzOlVD-w.mjs} +2 -2
  10. package/dist/{effects-Duoqc_Oa.mjs.map → effects-BzOlVD-w.mjs.map} +1 -1
  11. package/dist/fonts/index.mjs +2 -2
  12. package/dist/{fonts-CgNmeFXh.mjs → fonts-BhlV_3Qt.mjs} +2 -2
  13. package/dist/{fonts-CgNmeFXh.mjs.map → fonts-BhlV_3Qt.mjs.map} +1 -1
  14. package/dist/{gpu-1ZpAuQOR.mjs → gpu-BA1Wz_mS.mjs} +2 -2
  15. package/dist/{gpu-1ZpAuQOR.mjs.map → gpu-BA1Wz_mS.mjs.map} +1 -1
  16. package/dist/index-AdrZIWT0.d.mts.map +1 -1
  17. package/dist/index.mjs +48 -48
  18. package/dist/preview/index.mjs +10 -10
  19. package/dist/{preview-CArsjmkd.mjs → preview-BVyG76gO.mjs} +2 -2
  20. package/dist/{preview-CArsjmkd.mjs.map → preview-BVyG76gO.mjs.map} +1 -1
  21. package/dist/preview-engine/{chunk-DLAHSLNX.mjs → chunk-GCTVRM7J.mjs} +14 -14
  22. package/dist/preview-engine/framefields.mjs +1 -1
  23. package/dist/preview-engine/player.mjs +1 -1
  24. package/dist/preview-engine/{renderers-527ONFIA.mjs → renderers-3F5AIDEL.mjs} +1 -1
  25. package/dist/{program-Dd9tJFkY.mjs → program-CCSfHMfh.mjs} +2 -2
  26. package/dist/{program-Dd9tJFkY.mjs.map → program-CCSfHMfh.mjs.map} +1 -1
  27. package/dist/renderer/index.mjs +2 -2
  28. package/dist/renderer-1Kv7oA86.mjs +5 -0
  29. package/dist/{renderer-CC72sZ8l.mjs → renderer-1uLtqb74.mjs} +69 -69
  30. package/dist/{renderer-CC72sZ8l.mjs.map → renderer-1uLtqb74.mjs.map} +1 -1
  31. package/dist/{renderer-94byj7Mk.mjs → renderer-4VpA7LfU.mjs} +2 -2
  32. package/dist/{renderer-94byj7Mk.mjs.map → renderer-4VpA7LfU.mjs.map} +1 -1
  33. package/dist/{renderer-D8_UYdDb.mjs → renderer-8BM6sJUR.mjs} +2 -2
  34. package/dist/{renderer-D8_UYdDb.mjs.map → renderer-8BM6sJUR.mjs.map} +1 -1
  35. package/dist/renderer-AVHJ33nv.mjs +5 -0
  36. package/dist/{renderer-BVR0mEIT.mjs → renderer-AtLlZMQ9.mjs} +2 -2
  37. package/dist/{renderer-BVR0mEIT.mjs.map → renderer-AtLlZMQ9.mjs.map} +1 -1
  38. package/dist/renderer-B8dJGf8R.mjs +6 -0
  39. package/dist/{renderer-DJQD7tai.mjs → renderer-B93zd3sx.mjs} +2 -2
  40. package/dist/{renderer-DJQD7tai.mjs.map → renderer-B93zd3sx.mjs.map} +1 -1
  41. package/dist/{renderer-Ck2pRec0.mjs → renderer-BD7Lmb8h.mjs} +3 -3
  42. package/dist/{renderer-Ck2pRec0.mjs.map → renderer-BD7Lmb8h.mjs.map} +1 -1
  43. package/dist/renderer-BEA6nknY.mjs +5 -0
  44. package/dist/{renderer-yGAk7J9P.mjs → renderer-BFRI5alp.mjs} +3 -3
  45. package/dist/{renderer-yGAk7J9P.mjs.map → renderer-BFRI5alp.mjs.map} +1 -1
  46. package/dist/{renderer-C4tUATd_.mjs → renderer-BG5sbTXt.mjs} +3 -3
  47. package/dist/{renderer-C4tUATd_.mjs.map → renderer-BG5sbTXt.mjs.map} +1 -1
  48. package/dist/{renderer-CSPpKLi3.mjs → renderer-BI4OMlEx.mjs} +2 -2
  49. package/dist/{renderer-CSPpKLi3.mjs.map → renderer-BI4OMlEx.mjs.map} +1 -1
  50. package/dist/renderer-BOfi06L2.mjs +5 -0
  51. package/dist/renderer-BOhvtAGL.mjs +5 -0
  52. package/dist/renderer-BQT3GI9g.mjs +5 -0
  53. package/dist/{renderer-Cvysm2Jg.mjs → renderer-BRwp1kV-.mjs} +3 -3
  54. package/dist/{renderer-Cvysm2Jg.mjs.map → renderer-BRwp1kV-.mjs.map} +1 -1
  55. package/dist/{renderer-DWcbrx2M.mjs → renderer-BVUTOGHs.mjs} +2 -2
  56. package/dist/{renderer-DWcbrx2M.mjs.map → renderer-BVUTOGHs.mjs.map} +1 -1
  57. package/dist/renderer-BXmStgeT.mjs +5 -0
  58. package/dist/renderer-Bajxo7Nt.mjs +5 -0
  59. package/dist/{renderer-DIqwz7dV.mjs → renderer-Bel1UHA5.mjs} +2 -2
  60. package/dist/{renderer-Dvg5nbgU.mjs → renderer-BetA_iVd.mjs} +3 -3
  61. package/dist/{renderer-Dvg5nbgU.mjs.map → renderer-BetA_iVd.mjs.map} +1 -1
  62. package/dist/{renderer-BId5hBLb.mjs → renderer-BmDpyiII.mjs} +3 -3
  63. package/dist/{renderer-BId5hBLb.mjs.map → renderer-BmDpyiII.mjs.map} +1 -1
  64. package/dist/{renderer-D-yNHLG7.mjs → renderer-BonWt8jF.mjs} +3 -3
  65. package/dist/{renderer-D-yNHLG7.mjs.map → renderer-BonWt8jF.mjs.map} +1 -1
  66. package/dist/{renderer-CI9Pq77W.mjs → renderer-BpEsZG3t.mjs} +3 -3
  67. package/dist/{renderer-CI9Pq77W.mjs.map → renderer-BpEsZG3t.mjs.map} +1 -1
  68. package/dist/{renderer-DpQaiH6C.mjs → renderer-BvBIHi6N.mjs} +2 -2
  69. package/dist/{renderer-DpQaiH6C.mjs.map → renderer-BvBIHi6N.mjs.map} +1 -1
  70. package/dist/{renderer-D6YcQTLI.mjs → renderer-BvvuGfZk.mjs} +3 -3
  71. package/dist/{renderer-D6YcQTLI.mjs.map → renderer-BvvuGfZk.mjs.map} +1 -1
  72. package/dist/renderer-BzRR0KMm.mjs +5 -0
  73. package/dist/{renderer-DzOzVxNS.mjs → renderer-Bzl0s07U.mjs} +2 -2
  74. package/dist/{renderer-DzOzVxNS.mjs.map → renderer-Bzl0s07U.mjs.map} +1 -1
  75. package/dist/{renderer-CKSdl0Xf.mjs → renderer-C39GD6jP.mjs} +3 -3
  76. package/dist/{renderer-CKSdl0Xf.mjs.map → renderer-C39GD6jP.mjs.map} +1 -1
  77. package/dist/renderer-C3Gjy2iE.mjs +5 -0
  78. package/dist/{renderer-CS-goRD3.mjs → renderer-C3lPwajT.mjs} +3 -3
  79. package/dist/{renderer-CS-goRD3.mjs.map → renderer-C3lPwajT.mjs.map} +1 -1
  80. package/dist/renderer-C5hQgkz-.mjs +5 -0
  81. package/dist/{renderer-BY08hHFS.mjs → renderer-C6cF5seJ.mjs} +2 -2
  82. package/dist/{renderer-BY08hHFS.mjs.map → renderer-C6cF5seJ.mjs.map} +1 -1
  83. package/dist/{renderer-UT0CcmMZ.mjs → renderer-C8GZ0pCV.mjs} +3 -3
  84. package/dist/{renderer-UT0CcmMZ.mjs.map → renderer-C8GZ0pCV.mjs.map} +1 -1
  85. package/dist/{renderer-CWQ-Bct7.mjs → renderer-CFe9pZFN.mjs} +2 -2
  86. package/dist/{renderer-CWQ-Bct7.mjs.map → renderer-CFe9pZFN.mjs.map} +1 -1
  87. package/dist/renderer-CLF-MiOA.mjs +5 -0
  88. package/dist/renderer-CLa43fCd.mjs +5 -0
  89. package/dist/{renderer-zQIB2VZZ.mjs → renderer-CLdwOhST.mjs} +2 -2
  90. package/dist/{renderer-zQIB2VZZ.mjs.map → renderer-CLdwOhST.mjs.map} +1 -1
  91. package/dist/renderer-CMK1d6w_.mjs +5 -0
  92. package/dist/{renderer-CLUyYFqS.mjs → renderer-CMdtUn5o.mjs} +2 -2
  93. package/dist/{renderer-CLUyYFqS.mjs.map → renderer-CMdtUn5o.mjs.map} +1 -1
  94. package/dist/{renderer-DNaHFctD.mjs → renderer-CNYfB5cC.mjs} +2 -2
  95. package/dist/{renderer-DNaHFctD.mjs.map → renderer-CNYfB5cC.mjs.map} +1 -1
  96. package/dist/renderer-CPEQOe3u.mjs +5 -0
  97. package/dist/{renderer-257LxOyx.mjs → renderer-CWx3Kg79.mjs} +3 -3
  98. package/dist/{renderer-257LxOyx.mjs.map → renderer-CWx3Kg79.mjs.map} +1 -1
  99. package/dist/{renderer-DKXK5hDm.mjs → renderer-CdOy3EBJ.mjs} +2 -2
  100. package/dist/{renderer-DKXK5hDm.mjs.map → renderer-CdOy3EBJ.mjs.map} +1 -1
  101. package/dist/{renderer-CraudZUC.mjs → renderer-Celrh689.mjs} +3 -3
  102. package/dist/{renderer-CraudZUC.mjs.map → renderer-Celrh689.mjs.map} +1 -1
  103. package/dist/renderer-CemfjOM9.mjs +5 -0
  104. package/dist/{renderer-_AuL8mAi.mjs → renderer-ChloaI6P.mjs} +3 -3
  105. package/dist/{renderer-_AuL8mAi.mjs.map → renderer-ChloaI6P.mjs.map} +1 -1
  106. package/dist/{renderer-BmTDXIUI.mjs → renderer-CiMpdh0s.mjs} +2 -2
  107. package/dist/{renderer-BmTDXIUI.mjs.map → renderer-CiMpdh0s.mjs.map} +1 -1
  108. package/dist/renderer-CkcrScs9.mjs +5 -0
  109. package/dist/{renderer-BEdc-7JW.mjs → renderer-Cn6VlWHZ.mjs} +3 -3
  110. package/dist/{renderer-BEdc-7JW.mjs.map → renderer-Cn6VlWHZ.mjs.map} +1 -1
  111. package/dist/{renderer-BpdzhZE7.mjs → renderer-CqewgazK.mjs} +3 -3
  112. package/dist/{renderer-BpdzhZE7.mjs.map → renderer-CqewgazK.mjs.map} +1 -1
  113. package/dist/{renderer-aCDIEYb3.mjs → renderer-Cu5k5D9N.mjs} +2 -2
  114. package/dist/{renderer-aCDIEYb3.mjs.map → renderer-Cu5k5D9N.mjs.map} +1 -1
  115. package/dist/{renderer-D1MOTlWS.mjs → renderer-CuphUktB.mjs} +2 -2
  116. package/dist/{renderer-D1MOTlWS.mjs.map → renderer-CuphUktB.mjs.map} +1 -1
  117. package/dist/renderer-CwrLihY6.mjs +5 -0
  118. package/dist/{renderer-CrUudSLP.mjs → renderer-D1Jt-c3F.mjs} +2 -2
  119. package/dist/{renderer-CrUudSLP.mjs.map → renderer-D1Jt-c3F.mjs.map} +1 -1
  120. package/dist/{renderer-OxafT7Xm.mjs → renderer-D1wd0FhZ.mjs} +5 -5
  121. package/dist/{renderer-OxafT7Xm.mjs.map → renderer-D1wd0FhZ.mjs.map} +1 -1
  122. package/dist/{renderer-JiEpssIz.mjs → renderer-D26S5hUh.mjs} +2 -2
  123. package/dist/{renderer-JiEpssIz.mjs.map → renderer-D26S5hUh.mjs.map} +1 -1
  124. package/dist/renderer-D4S6i2MC.mjs +5 -0
  125. package/dist/{renderer-Dju3SEAJ.mjs → renderer-D7ss6fLB.mjs} +3 -3
  126. package/dist/{renderer-Dju3SEAJ.mjs.map → renderer-D7ss6fLB.mjs.map} +1 -1
  127. package/dist/renderer-DB8F0XoP.mjs +5 -0
  128. package/dist/{renderer-7OvgLE8w.mjs → renderer-DCGLXnYW.mjs} +2 -2
  129. package/dist/{renderer-CIMI33Yd.mjs → renderer-DCYabwlC.mjs} +2 -2
  130. package/dist/{renderer-CIMI33Yd.mjs.map → renderer-DCYabwlC.mjs.map} +1 -1
  131. package/dist/renderer-DGpVLJOn.mjs +5 -0
  132. package/dist/renderer-DGxibeSa.mjs +5 -0
  133. package/dist/renderer-DJQm3bAW.mjs +5 -0
  134. package/dist/{renderer-B3c-j-e5.mjs → renderer-DMZ5aLU1.mjs} +2 -2
  135. package/dist/{renderer-B3c-j-e5.mjs.map → renderer-DMZ5aLU1.mjs.map} +1 -1
  136. package/dist/renderer-DMftVSfX.mjs +5 -0
  137. package/dist/renderer-DNpovOd8.mjs +5 -0
  138. package/dist/{renderer-xezE7IZX.mjs → renderer-DOWekunR.mjs} +3 -3
  139. package/dist/{renderer-xezE7IZX.mjs.map → renderer-DOWekunR.mjs.map} +1 -1
  140. package/dist/{renderer-CKpwEo1w.mjs → renderer-DPWeKe_x.mjs} +3 -3
  141. package/dist/{renderer-CKpwEo1w.mjs.map → renderer-DPWeKe_x.mjs.map} +1 -1
  142. package/dist/renderer-DSHlvKQk.mjs +5 -0
  143. package/dist/{renderer-2BnBo6CX.mjs → renderer-DUBb7D17.mjs} +3 -3
  144. package/dist/{renderer-2BnBo6CX.mjs.map → renderer-DUBb7D17.mjs.map} +1 -1
  145. package/dist/renderer-DYtrdR2p.mjs +5 -0
  146. package/dist/{renderer-CwwmwM7J.mjs → renderer-DaCsT-XU.mjs} +3 -3
  147. package/dist/{renderer-CwwmwM7J.mjs.map → renderer-DaCsT-XU.mjs.map} +1 -1
  148. package/dist/{renderer-BmQbSQHf.mjs → renderer-DcAfp1Er.mjs} +2 -2
  149. package/dist/{renderer-BmQbSQHf.mjs.map → renderer-DcAfp1Er.mjs.map} +1 -1
  150. package/dist/{renderer-0L9MEb3A.mjs → renderer-DdlaBsk_.mjs} +2 -2
  151. package/dist/{renderer-0L9MEb3A.mjs.map → renderer-DdlaBsk_.mjs.map} +1 -1
  152. package/dist/{renderer-72A4SvOE.mjs → renderer-DerDxKK3.mjs} +3 -3
  153. package/dist/{renderer-72A4SvOE.mjs.map → renderer-DerDxKK3.mjs.map} +1 -1
  154. package/dist/{renderer-DuxzqfoE.mjs → renderer-DfkWYUTX.mjs} +2 -2
  155. package/dist/{renderer-ChoYV7Ko.mjs → renderer-Dh-OF6aH.mjs} +2 -2
  156. package/dist/{renderer-ChoYV7Ko.mjs.map → renderer-Dh-OF6aH.mjs.map} +1 -1
  157. package/dist/{renderer-DZnUiiBp.mjs → renderer-Dk-THZHp.mjs} +3 -3
  158. package/dist/{renderer-DZnUiiBp.mjs.map → renderer-Dk-THZHp.mjs.map} +1 -1
  159. package/dist/{renderer-BK32cV7E.mjs → renderer-DpWRj6zF.mjs} +3 -3
  160. package/dist/{renderer-BK32cV7E.mjs.map → renderer-DpWRj6zF.mjs.map} +1 -1
  161. package/dist/{renderer-D1T7A3NF.mjs → renderer-DpwlN4LH.mjs} +3 -3
  162. package/dist/{renderer-D1T7A3NF.mjs.map → renderer-DpwlN4LH.mjs.map} +1 -1
  163. package/dist/{renderer-Dvq11SEA.mjs → renderer-Dq4aO7az.mjs} +2 -2
  164. package/dist/{renderer-Dvq11SEA.mjs.map → renderer-Dq4aO7az.mjs.map} +1 -1
  165. package/dist/renderer-DuSImLUz.mjs +5 -0
  166. package/dist/{renderer-aN60v8jR.mjs → renderer-DukD7S3w.mjs} +2 -2
  167. package/dist/{renderer-aN60v8jR.mjs.map → renderer-DukD7S3w.mjs.map} +1 -1
  168. package/dist/{renderer-mpInX4Iy.mjs → renderer-FXUCKps6.mjs} +3 -3
  169. package/dist/{renderer-mpInX4Iy.mjs.map → renderer-FXUCKps6.mjs.map} +1 -1
  170. package/dist/renderer-FbyMYKXe.mjs +5 -0
  171. package/dist/{renderer-BHrqEgIA.mjs → renderer-HMl2V4iM.mjs} +3 -3
  172. package/dist/{renderer-BHrqEgIA.mjs.map → renderer-HMl2V4iM.mjs.map} +1 -1
  173. package/dist/{renderer-D0xLIq1r.mjs → renderer-LM_XIKl1.mjs} +3 -3
  174. package/dist/{renderer-D0xLIq1r.mjs.map → renderer-LM_XIKl1.mjs.map} +1 -1
  175. package/dist/renderer-NMFv7Auz.mjs +5 -0
  176. package/dist/{renderer-YyEBKPcE.mjs → renderer-O1b-oYJE.mjs} +2 -2
  177. package/dist/renderer-P3vpdUnb.mjs +5 -0
  178. package/dist/{renderer-EhCkD11e.mjs → renderer-PknbdJyL.mjs} +3 -3
  179. package/dist/{renderer-EhCkD11e.mjs.map → renderer-PknbdJyL.mjs.map} +1 -1
  180. package/dist/renderer-QTOm26Lg.mjs +5 -0
  181. package/dist/{renderer-CvOzuDX3.mjs → renderer-YJ3Yukou.mjs} +3 -3
  182. package/dist/{renderer-CvOzuDX3.mjs.map → renderer-YJ3Yukou.mjs.map} +1 -1
  183. package/dist/{renderer-DNYSf2Fl.mjs → renderer-YdLL2o6d.mjs} +2 -2
  184. package/dist/{renderer-DNYSf2Fl.mjs.map → renderer-YdLL2o6d.mjs.map} +1 -1
  185. package/dist/renderer-ahzhMa5q.mjs +5 -0
  186. package/dist/{renderer-B2aXfdW_.mjs → renderer-c-bwxMde.mjs} +2 -2
  187. package/dist/{renderer-B2aXfdW_.mjs.map → renderer-c-bwxMde.mjs.map} +1 -1
  188. package/dist/renderer-dThfTNge.mjs +5 -0
  189. package/dist/{renderer-B3ypX3MH.mjs → renderer-dUkOBfGB.mjs} +3 -3
  190. package/dist/{renderer-B3ypX3MH.mjs.map → renderer-dUkOBfGB.mjs.map} +1 -1
  191. package/dist/renderer-dgAS_k7B.mjs +5 -0
  192. package/dist/{renderer-BEpANdcO.mjs → renderer-g-ui08Lh.mjs} +3 -3
  193. package/dist/{renderer-BEpANdcO.mjs.map → renderer-g-ui08Lh.mjs.map} +1 -1
  194. package/dist/{renderer-DyPgVl1l.mjs → renderer-kSs8VtY7.mjs} +3 -3
  195. package/dist/{renderer-DyPgVl1l.mjs.map → renderer-kSs8VtY7.mjs.map} +1 -1
  196. package/dist/{renderer-CxP2e6Ov.mjs → renderer-pPiQwFYh.mjs} +2 -2
  197. package/dist/{renderer-CxP2e6Ov.mjs.map → renderer-pPiQwFYh.mjs.map} +1 -1
  198. package/dist/{renderer-C-Qj0BnT.mjs → renderer-wL-ly4fT.mjs} +3 -3
  199. package/dist/{renderer-C-Qj0BnT.mjs.map → renderer-wL-ly4fT.mjs.map} +1 -1
  200. package/dist/{renderers-CP8CFWDs-i6u_rhCX.mjs → renderers-CP8CFWDs-CVHwMTiz.mjs} +2 -2
  201. package/dist/{renderers-CP8CFWDs-i6u_rhCX.mjs.map → renderers-CP8CFWDs-CVHwMTiz.mjs.map} +1 -1
  202. package/dist/signals/index.mjs +4 -4
  203. package/package.json +56 -56
  204. package/dist/renderer-0lp9ClNc.mjs +0 -5
  205. package/dist/renderer-4g_BfiKp.mjs +0 -5
  206. package/dist/renderer-7Aw6AHqW.mjs +0 -5
  207. package/dist/renderer-B82v8PyC.mjs +0 -5
  208. package/dist/renderer-B8BDMJNz.mjs +0 -5
  209. package/dist/renderer-BCPRrhP8.mjs +0 -5
  210. package/dist/renderer-BFhzO6En.mjs +0 -5
  211. package/dist/renderer-BH0KF-y-.mjs +0 -6
  212. package/dist/renderer-BTI5ybyH.mjs +0 -5
  213. package/dist/renderer-Ba7LH8U2.mjs +0 -5
  214. package/dist/renderer-BcQBlfhC.mjs +0 -5
  215. package/dist/renderer-BdMJzCTz.mjs +0 -5
  216. package/dist/renderer-Bxi2j-tG.mjs +0 -5
  217. package/dist/renderer-CCn5ISVM.mjs +0 -5
  218. package/dist/renderer-CDRsdhg9.mjs +0 -5
  219. package/dist/renderer-CiCK8ZG_.mjs +0 -5
  220. package/dist/renderer-CsEk9TFz.mjs +0 -5
  221. package/dist/renderer-D1gx_-hi.mjs +0 -5
  222. package/dist/renderer-D5MCGNAF.mjs +0 -5
  223. package/dist/renderer-DD_MzvM-.mjs +0 -5
  224. package/dist/renderer-DP7YoZ0K.mjs +0 -5
  225. package/dist/renderer-DXiWvKij.mjs +0 -5
  226. package/dist/renderer-Dc6fW-o1.mjs +0 -5
  227. package/dist/renderer-DiurlsNT.mjs +0 -5
  228. package/dist/renderer-DvCUdgVz.mjs +0 -5
  229. package/dist/renderer-IiwAh9-K.mjs +0 -5
  230. package/dist/renderer-JlGXqH0E.mjs +0 -5
  231. package/dist/renderer-TZFKKgL1.mjs +0 -5
  232. package/dist/renderer-aEecoNPX.mjs +0 -5
  233. package/dist/renderer-ewhliYYP.mjs +0 -5
  234. package/dist/renderer-hQc6GgTi.mjs +0 -5
  235. package/dist/renderer-iuX0RZIi.mjs +0 -5
  236. package/dist/renderer-j4vkTzHa.mjs +0 -5
  237. package/dist/renderer-msPjwx_9.mjs +0 -5
  238. package/dist/renderer-pI2ndu-b.mjs +0 -5
  239. package/dist/renderer-x1OGMhsC.mjs +0 -5
@@ -28205,43 +28205,125 @@ function organizeGlyphPolygons({ contours: glyphContours, simplified }) {
28205
28205
  }
28206
28206
  return polygons;
28207
28207
  }
28208
+ /** Where segments ab and cd cross strictly inside both, or null. */
28209
+ function segmentCrossing(a, b, c, d) {
28210
+ const rx = b.x - a.x;
28211
+ const ry = b.y - a.y;
28212
+ const sx = d.x - c.x;
28213
+ const sy = d.y - c.y;
28214
+ const den = rx * sy - ry * sx;
28215
+ if (Math.abs(den) < 1e-12) return null;
28216
+ const t = ((c.x - a.x) * sy - (c.y - a.y) * sx) / den;
28217
+ const u = ((c.x - a.x) * ry - (c.y - a.y) * rx) / den;
28218
+ const eps = 1e-9;
28219
+ if (t <= eps || t >= 1 - eps || u <= eps || u >= 1 - eps) return null;
28220
+ return {
28221
+ x: a.x + rx * t,
28222
+ y: a.y + ry * t
28223
+ };
28224
+ }
28225
+ /**
28226
+ * Splits a contour that crosses itself into simple loops: at each crossing
28227
+ * the contour is cut into the part between the two crossing edges and the
28228
+ * rest. Font outlines meant to be filled with the nonzero rule (variable
28229
+ * fonts, overlapping strokes) often cross themselves, and a triangulator
28230
+ * given such a contour fills the wrong areas (a "V" with its notch filled).
28231
+ */
28232
+ function untangleContour(contour, depth = 0) {
28233
+ const n = contour.length;
28234
+ if (n < 3) return [];
28235
+ if (depth > 64) return [contour];
28236
+ for (let i = 0; i < n; i++) {
28237
+ const a = contour[i];
28238
+ const b = contour[(i + 1) % n];
28239
+ for (let j = i + 2; j < n; j++) {
28240
+ if (i === 0 && j === n - 1) continue;
28241
+ const x = segmentCrossing(a, b, contour[j], contour[(j + 1) % n]);
28242
+ if (!x) continue;
28243
+ const inner = [x, ...contour.slice(i + 1, j + 1)];
28244
+ const outer = [
28245
+ x,
28246
+ ...contour.slice(j + 1),
28247
+ ...contour.slice(0, i + 1)
28248
+ ];
28249
+ return [...untangleContour(inner, depth + 1), ...untangleContour(outer, depth + 1)];
28250
+ }
28251
+ }
28252
+ return Math.abs(computeContourSignedArea(contour)) > 1e-9 ? [contour] : [];
28253
+ }
28254
+ /** Nonzero winding number of a set of contours around a point. */
28255
+ function windingNumber(p, contours) {
28256
+ let w = 0;
28257
+ for (const c of contours) for (let i = 0; i < c.length; i++) {
28258
+ const a = c[i];
28259
+ const b = c[(i + 1) % c.length];
28260
+ const side = (b.x - a.x) * (p.y - a.y) - (p.x - a.x) * (b.y - a.y);
28261
+ if (a.y <= p.y) {
28262
+ if (b.y > p.y && side > 0) w++;
28263
+ } else if (b.y <= p.y && side < 0) w--;
28264
+ }
28265
+ return w;
28266
+ }
28267
+ /** A point just inside a simple loop, next to its longest edge. */
28268
+ function pointJustInside(loop) {
28269
+ let best = 0;
28270
+ let bestLen = -1;
28271
+ for (let i = 0; i < loop.length; i++) {
28272
+ const a$1 = loop[i];
28273
+ const b$1 = loop[(i + 1) % loop.length];
28274
+ const len = Math.hypot(b$1.x - a$1.x, b$1.y - a$1.y);
28275
+ if (len > bestLen) {
28276
+ bestLen = len;
28277
+ best = i;
28278
+ }
28279
+ }
28280
+ const a = loop[best];
28281
+ const b = loop[(best + 1) % loop.length];
28282
+ const mx = (a.x + b.x) / 2;
28283
+ const my = (a.y + b.y) / 2;
28284
+ const eps = Math.max(1e-4, Math.min(.01, bestLen * .001));
28285
+ const nx = -(b.y - a.y) / bestLen * eps;
28286
+ const ny = (b.x - a.x) / bestLen * eps;
28287
+ const p = {
28288
+ x: mx + nx,
28289
+ y: my + ny
28290
+ };
28291
+ return isPointInsidePolygon(p, loop) ? p : {
28292
+ x: mx - nx,
28293
+ y: my - ny
28294
+ };
28295
+ }
28208
28296
  /**
28209
- * For outlines that may overlap: fonts wind filled contours one way and holes
28210
- * the other, so the winding of the largest contour marks the outlines; each
28211
- * hole goes to the smallest outline around it. Overlapping outlines become
28212
- * separate solids, which look the same once extruded.
28297
+ * For outlines that were not simplified (no skia, as in the browser):
28298
+ * contours may cross themselves and each other, and are meant to be filled
28299
+ * with the nonzero rule. Self-crossings are split into simple loops; a loop
28300
+ * whose inside is filled under the nonzero rule becomes an outline, and one
28301
+ * that is empty (a counter) becomes a hole of the smallest outline around it.
28302
+ * Overlapping outlines become separate solids, which look the same once
28303
+ * extruded.
28213
28304
  */
28214
28305
  function organizeByWinding(glyphContours) {
28215
- const contours = glyphContours.map((contour) => {
28216
- const signed = computeContourSignedArea(contour);
28217
- return {
28218
- contour,
28219
- signed,
28220
- area: Math.abs(signed)
28221
- };
28222
- });
28223
- if (contours.length === 0) return [];
28224
- contours.sort((a, b) => b.area - a.area);
28225
- const filled = Math.sign(contours[0].signed);
28306
+ const loops = glyphContours.flatMap((c) => untangleContour(c));
28226
28307
  const polygons = [];
28227
- for (const c of contours) if (Math.sign(c.signed) === filled) polygons.push({
28228
- outer: c.contour,
28308
+ const holes = [];
28309
+ for (const loop of loops) if (windingNumber(pointJustInside(loop), glyphContours) !== 0) polygons.push({
28310
+ outer: loop,
28229
28311
  holes: []
28230
28312
  });
28231
- for (const c of contours) {
28232
- if (Math.sign(c.signed) === filled) continue;
28233
- const probe = c.contour[0];
28234
- const mid = c.contour[Math.floor(c.contour.length / 2)];
28313
+ else holes.push(loop);
28314
+ for (const hole of holes) {
28315
+ const area = Math.abs(computeContourSignedArea(hole));
28316
+ const probe = pointJustInside(hole);
28235
28317
  let home;
28236
28318
  let homeArea = Number.POSITIVE_INFINITY;
28237
28319
  for (const poly of polygons) {
28238
- const area = Math.abs(computeContourSignedArea(poly.outer));
28239
- if (area > c.area && area < homeArea && (isPointInsidePolygon(probe, poly.outer) || isPointInsidePolygon(mid, poly.outer))) {
28320
+ const outerArea = Math.abs(computeContourSignedArea(poly.outer));
28321
+ if (outerArea > area && outerArea < homeArea && isPointInsidePolygon(probe, poly.outer)) {
28240
28322
  home = poly;
28241
- homeArea = area;
28323
+ homeArea = outerArea;
28242
28324
  }
28243
28325
  }
28244
- home?.holes.push(c.contour);
28326
+ home?.holes.push(hole);
28245
28327
  }
28246
28328
  return polygons;
28247
28329
  }
@@ -31053,4 +31135,4 @@ if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThi
31053
31135
 
31054
31136
  //#endregion
31055
31137
  export { resolveTextSpans as $, TextSelectorSchema as $t, ensureDevice as A, sampleAudioSpectrumScale as An, GlyphAnchorGroupingSchema as At, loadModel3D as B, SignalRegistry as Bt, drawGifNode as C, evaluateTypewriterState as Cn, AudioSpectrumTypographySchema as Ct, drawSignalNode as D, getScramblePool as Dn, EnhancedTextNodeSchema as Dt, drawParagraphNode as E, generatePathSegments as En, DynamicStrokePropertiesSchema as Et, getRenderer2D as F, ParticleDissolveConfigSchema as Ft, parseColor as G, TextAnimatorBuilder as Gt, lutStore as H, Spatial3DPropertiesSchema as Ht, initHeadlessWebGPU as I, SelectorBasedOnSchema as It, parseOBJ as J, TextPathBuilder as Jt, parseFBX as K, TextCursorConfigSchema as Kt, inputStore as L, SelectorModeSchema as Lt, generateExtrudedTextGeometry as M, samplePathChainGeometry as Mn, KineticMarqueeConfigSchema as Mt, getHeadlessFontPath as N, signalRegistry as Nn, LineSpacingDynamicsSchema as Nt, drawSvgNode as O, getShuffledOrder as On, ExpressionSelectorSchema as Ot, getPrimitiveGeometry as P, waveToCubicBeziers as Pn, LongShadowConfigSchema as Pt, registerHeadlessFont as Q, TextScrambleConfigSchema as Qt, jointMatrices as R, SelectorShapeSchema as Rt, drawCaptionNode as S, evaluateSpringProgress as Sn, AudioSignalComputePipeline as St, drawLottieNode as T, generateArcLengthLUT as Tn, CubicBezierSegmentSchema as Tt, measureMaxCaptionHeight as U, SpringPhysicsSchema as Ut, loadOBJ as V, SkewPropertiesSchema as Vt, mediaDecoderCache as W, TextAnchorConfigSchema as Wt, poseNodes as X, TextPathSourceSchema as Xt, parseSvgPathToSegments as Y, TextPathOptionsSchema as Yt, probeVideoSize as Z, TextRangeSelectorSchema as Zt, buildShapeSvgPath as _, evaluateCubicBezierDerivative as _n, AdvancedTextAnimatorBuilder as _t, GlassPipeline as a, Vec2Schema as an, resolveMediaSourceUrl as at, colorMatrixWgsl as b, evaluateSelectorCombination as bn, AnchorPresetSchema as bt, Renderer2D as c, buildPathLUT as cn, LIGHT_UNIFORM_SIZE_BYTES as ct, ScreenSpaceRelightPipeline as d, computeLineLeadingDisplacement as dn, Matrix4Math as dt, TextSignalSelectorSchema as en, shaderStore as et, ShadowPipeline as f, computeRangeSelectorWeight as fn, Path3D as ft, WebGPUAudioProcessor as g, evaluateCubicBezier as gn, AETextAnimatorSchema as gt, SlugPipeline as h, ellipseToCubicBeziers as hn, resolveEnvironment as ht, EffectPipeline as i, VariableFontAxesSchema as in, GetFontAssetUrl as it, fitSpansToText as j, sampleCurveGeometry as jn, GlyphAnchorPointSchema as jt, drawVideoNode as k, parseSvgPathToCubicBeziers as kn, ExtendedGlyphPropertiesSchema as kt, Renderer3D as l, buildWGSLSignalFn as ln, Light3D as lt, SlugGeometry as m, distanceToCurveParameter as mn, parseColorToRgb as mt, AudioLatentTrackCache as n, TypewriterAnimatorSchema as nn, srtLoader as nt, MotionBlurPipeline as o, VolumetricFormationConfigSchema as on, Camera3D as ot, SlugFontCache as p, deterministicWigglyNoise as pn, Vector3Math as pt, parseMTL as q, TextCursorStyleSchema as qt, AudioMeshDeformPipeline as r, TypingCadenceSchema as rn, textureCache as rt, NodeSurfaceProvider as s, VolumetricFormationModeSchema as sn, ENVIRONMENT_PRESETS as st, AudioLatentEngine as t, TextWigglySelectorSchema as tn, spansText as tt, SSAOPipeline as u, computeAnchorPivotOffset as un, MAX_LIGHTS as ut, clearAllVideoCache as v, evaluateExpressionSelector as vn, AdvancedTextAnimatorSchema as vt, drawImageNode as w, evaluateVolumetricFormation as wn, ChromaticGlitchConfigSchema as wt, describeGpu as x, evaluateSkewMatrix as xn, AnimatableGlyphPropsSchema as xt, clearHeadlessFonts as y, evaluateMarqueeOffset as yn, AnchorGroupingSchema as yt, loadFBX as z, SelectorUnitsSchema as zt };
31056
- //# sourceMappingURL=dist-PwT_Vmax.mjs.map
31138
+ //# sourceMappingURL=dist-jU289ehm.mjs.map