@shopify/react-native-skia 2.2.17 → 2.2.19

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 (403) hide show
  1. package/apple/SkiaCVPixelBufferUtils.mm +4 -8
  2. package/cpp/api/recorder/Drawings.h +21 -42
  3. package/cpp/jsi/JsiHostObject.cpp +16 -0
  4. package/jestEnv.js +22 -0
  5. package/jestSetup.js +1 -1
  6. package/lib/commonjs/Platform/Platform.js.map +1 -1
  7. package/lib/commonjs/Platform/Platform.web.js +0 -1
  8. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  9. package/lib/commonjs/animation/functions/interpolate.js +0 -1
  10. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  11. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  12. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  13. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  14. package/lib/commonjs/renderer/Canvas.js +1 -3
  15. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  16. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  17. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  18. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  19. package/lib/commonjs/skia/core/Image.js.map +1 -1
  20. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
  21. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  22. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  23. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  24. package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
  25. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  26. package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  27. package/lib/commonjs/skia/web/Host.d.ts +2 -1
  28. package/lib/commonjs/skia/web/Host.js +8 -0
  29. package/lib/commonjs/skia/web/Host.js.map +1 -1
  30. package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  31. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
  32. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
  33. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
  34. package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
  35. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  36. package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
  37. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  38. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
  39. package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
  40. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  41. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
  42. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
  43. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  44. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  45. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
  46. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  47. package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
  48. package/lib/commonjs/skia/web/JsiSkData.js +0 -6
  49. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  50. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  51. package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
  52. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  53. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  54. package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
  55. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
  56. package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
  57. package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
  58. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  59. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
  60. package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
  61. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  62. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
  63. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
  64. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  65. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
  66. package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
  67. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  68. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
  69. package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
  70. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  71. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  72. package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
  73. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  74. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  75. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
  76. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  77. package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
  78. package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
  79. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  80. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
  81. package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
  82. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  83. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
  84. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
  85. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  86. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  87. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
  88. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  89. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
  90. package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
  91. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  92. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
  93. package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
  94. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  95. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
  96. package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
  97. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  98. package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
  99. package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
  100. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  101. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  102. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
  103. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  104. package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
  105. package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
  106. package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
  107. package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
  108. package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
  109. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  110. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
  111. package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
  112. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  113. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
  114. package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
  115. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  116. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
  117. package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
  118. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  119. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  120. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  121. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  122. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
  123. package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
  124. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  125. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  126. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
  127. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  128. package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  129. package/lib/commonjs/skia/web/JsiVideo.js +4 -1
  130. package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
  131. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  132. package/lib/commonjs/sksg/Container.web.js.map +1 -1
  133. package/lib/commonjs/sksg/Elements.js.map +1 -1
  134. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  135. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  136. package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
  137. package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
  138. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  139. package/lib/module/Platform/Platform.js.map +1 -1
  140. package/lib/module/Platform/Platform.web.js +0 -1
  141. package/lib/module/Platform/Platform.web.js.map +1 -1
  142. package/lib/module/animation/functions/interpolate.js +0 -1
  143. package/lib/module/animation/functions/interpolate.js.map +1 -1
  144. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  145. package/lib/module/dom/types/Drawings.js.map +1 -1
  146. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  147. package/lib/module/renderer/Canvas.js +1 -3
  148. package/lib/module/renderer/Canvas.js.map +1 -1
  149. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  150. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  151. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  152. package/lib/module/skia/core/Image.js.map +1 -1
  153. package/lib/module/skia/types/JsiInstance.d.ts +1 -1
  154. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  155. package/lib/module/skia/types/Matrix4.js.map +1 -1
  156. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  157. package/lib/module/skia/types/Shader/Shader.js +1 -3
  158. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  159. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  160. package/lib/module/skia/web/Host.d.ts +2 -1
  161. package/lib/module/skia/web/Host.js +8 -0
  162. package/lib/module/skia/web/Host.js.map +1 -1
  163. package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  164. package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
  165. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  166. package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
  167. package/lib/module/skia/web/JsiSkCanvas.js +0 -6
  168. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  169. package/lib/module/skia/web/JsiSkColor.js +0 -1
  170. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  171. package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
  172. package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
  173. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  174. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
  175. package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
  176. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  177. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  178. package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
  179. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  180. package/lib/module/skia/web/JsiSkData.d.ts +0 -1
  181. package/lib/module/skia/web/JsiSkData.js +0 -6
  182. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  183. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  184. package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
  185. package/lib/module/skia/web/JsiSkFont.js +0 -6
  186. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  187. package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
  188. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
  189. package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
  190. package/lib/module/skia/web/JsiSkImage.js +0 -6
  191. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  192. package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
  193. package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
  194. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  195. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
  196. package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
  197. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  198. package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
  199. package/lib/module/skia/web/JsiSkMatrix.js +0 -6
  200. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  201. package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
  202. package/lib/module/skia/web/JsiSkPaint.js +0 -6
  203. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  204. package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  205. package/lib/module/skia/web/JsiSkParagraph.js +0 -3
  206. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  207. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  208. package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
  209. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  210. package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
  211. package/lib/module/skia/web/JsiSkPath.js +0 -6
  212. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  213. package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
  214. package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
  215. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  216. package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
  217. package/lib/module/skia/web/JsiSkPicture.js +0 -6
  218. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  219. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  220. package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
  221. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  222. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
  223. package/lib/module/skia/web/JsiSkPoint.js +0 -6
  224. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  225. package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
  226. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  227. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  228. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
  229. package/lib/module/skia/web/JsiSkRSXform.js +0 -6
  230. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  231. package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
  232. package/lib/module/skia/web/JsiSkRect.js +0 -6
  233. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  234. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  235. package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
  236. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  237. package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
  238. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  239. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  240. package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
  241. package/lib/module/skia/web/JsiSkShader.js +0 -6
  242. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  243. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
  244. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  245. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  246. package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
  247. package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
  248. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  249. package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
  250. package/lib/module/skia/web/JsiSkTypeface.js +0 -6
  251. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  252. package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  253. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  254. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  255. package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
  256. package/lib/module/skia/web/JsiSkVertices.js +0 -6
  257. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  258. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  259. package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
  260. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  261. package/lib/module/skia/web/JsiVideo.d.ts +1 -0
  262. package/lib/module/skia/web/JsiVideo.js +4 -1
  263. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  264. package/lib/module/sksg/Container.native.js.map +1 -1
  265. package/lib/module/sksg/Container.web.js.map +1 -1
  266. package/lib/module/sksg/Elements.js.map +1 -1
  267. package/lib/module/sksg/Reconciler.js.map +1 -1
  268. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  269. package/lib/module/sksg/StaticContainer.js.map +1 -1
  270. package/lib/module/views/SkiaPictureView.web.js +3 -1
  271. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  272. package/lib/typescript/eslint.config.d.mts +2 -0
  273. package/lib/typescript/jest.config.d.ts +11 -2
  274. package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
  275. package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
  276. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  277. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  278. package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  279. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  280. package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  281. package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
  282. package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
  283. package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  284. package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  285. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  286. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  287. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
  288. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  289. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  290. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
  291. package/lib/typescript/src/skia/web/Host.d.ts +2 -1
  292. package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  293. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
  294. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
  295. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
  296. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  297. package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
  298. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
  299. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
  300. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
  301. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
  302. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
  303. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
  304. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
  305. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  306. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
  307. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
  308. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
  309. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  310. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
  311. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
  312. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
  313. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
  314. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  315. package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
  316. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
  317. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
  318. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
  319. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
  320. package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  321. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
  322. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
  323. package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
  324. package/package.json +15 -13
  325. package/scripts/setup-canvaskit.js +15 -9
  326. package/src/Platform/Platform.ts +2 -2
  327. package/src/Platform/Platform.web.tsx +0 -1
  328. package/src/__tests__/setup.ts +1 -4
  329. package/src/animation/functions/interpolate.ts +0 -1
  330. package/src/dom/nodes/datatypes/Fitting.ts +1 -1
  331. package/src/dom/types/Drawings.ts +1 -1
  332. package/src/external/reanimated/useVideo.ts +1 -1
  333. package/src/renderer/Canvas.tsx +1 -2
  334. package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
  335. package/src/renderer/__tests__/Picture.spec.tsx +8 -5
  336. package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
  337. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
  338. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
  339. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
  340. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
  341. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
  342. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
  343. package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
  344. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
  345. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
  346. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
  347. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
  348. package/src/renderer/__tests__/e2e/Video.ts +0 -1
  349. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
  350. package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
  351. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
  352. package/src/renderer/__tests__/setup.tsx +0 -1
  353. package/src/renderer/processors/Animations/Animations.ts +4 -4
  354. package/src/skia/__tests__/Path.spec.ts +1 -3
  355. package/src/skia/core/Image.ts +1 -1
  356. package/src/skia/types/JsiInstance.ts +1 -1
  357. package/src/skia/types/Matrix4.ts +4 -4
  358. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
  359. package/src/skia/types/Shader/Shader.ts +0 -1
  360. package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
  361. package/src/skia/web/Host.ts +14 -1
  362. package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
  363. package/src/skia/web/JsiSkCanvas.ts +0 -4
  364. package/src/skia/web/JsiSkColor.ts +1 -1
  365. package/src/skia/web/JsiSkColorFilter.ts +0 -4
  366. package/src/skia/web/JsiSkContourMeasure.ts +0 -4
  367. package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
  368. package/src/skia/web/JsiSkData.ts +0 -4
  369. package/src/skia/web/JsiSkDataFactory.ts +1 -1
  370. package/src/skia/web/JsiSkFont.ts +0 -4
  371. package/src/skia/web/JsiSkFontMgr.ts +2 -1
  372. package/src/skia/web/JsiSkImage.ts +0 -4
  373. package/src/skia/web/JsiSkImageFilter.ts +0 -4
  374. package/src/skia/web/JsiSkMaskFilter.ts +0 -4
  375. package/src/skia/web/JsiSkMatrix.ts +2 -6
  376. package/src/skia/web/JsiSkPaint.ts +0 -4
  377. package/src/skia/web/JsiSkParagraph.ts +0 -4
  378. package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
  379. package/src/skia/web/JsiSkPath.ts +0 -4
  380. package/src/skia/web/JsiSkPathEffect.ts +0 -4
  381. package/src/skia/web/JsiSkPicture.ts +0 -4
  382. package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
  383. package/src/skia/web/JsiSkPoint.ts +0 -4
  384. package/src/skia/web/JsiSkRRect.ts +3 -3
  385. package/src/skia/web/JsiSkRSXform.ts +5 -3
  386. package/src/skia/web/JsiSkRect.ts +0 -4
  387. package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
  388. package/src/skia/web/JsiSkSVG.ts +2 -2
  389. package/src/skia/web/JsiSkShader.ts +0 -4
  390. package/src/skia/web/JsiSkSurface.ts +2 -2
  391. package/src/skia/web/JsiSkTextBlob.ts +0 -4
  392. package/src/skia/web/JsiSkTypeface.ts +0 -4
  393. package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
  394. package/src/skia/web/JsiSkVertices.ts +0 -4
  395. package/src/skia/web/JsiSkottieAnimation.ts +0 -3
  396. package/src/skia/web/JsiVideo.ts +5 -1
  397. package/src/sksg/Container.native.ts +4 -1
  398. package/src/sksg/Container.web.ts +4 -1
  399. package/src/sksg/Elements.tsx +0 -1
  400. package/src/sksg/Reconciler.ts +4 -1
  401. package/src/sksg/Recorder/Visitor.ts +1 -1
  402. package/src/sksg/StaticContainer.ts +4 -1
  403. package/src/views/SkiaPictureView.web.tsx +12 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ReanimatedProxy","_interopRequireDefault","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_Reconciler","_skia","_Platform","_external","_global","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","useCanvasRef","useRef","exports","useReanimatedFrame","HAS_REANIMATED_3","Rea","useFrameCallback","useCanvasSize","userRef","ourRef","ref","size","setSize","useState","width","height","useLayoutEffect","current","measure","_x","_y","isFabric","Boolean","global","nativeFabricUIManager","Canvas","debug","opaque","children","onSize","colorSpace","onLayout","viewProps","console","error","viewRef","nativeId","useMemo","SkiaViewNativeId","root","SkiaSGRoot","Skia","useEffect","runOnUI","undefined","render","unmount","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","requestRedraw","getNativeId","callback","_viewRef$current","measureInWindow","_viewRef$current2","onLayoutWeb","useCallback","Platform","OS","nativeEvent","layout","value","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC, RefObject } from \"react\";\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type {\n LayoutChangeEvent,\n MeasureInWindowOnSuccessCallback,\n MeasureOnSuccessCallback,\n View,\n ViewProps,\n} from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport Rea from \"../external/reanimated/ReanimatedProxy\";\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport { Platform } from \"../Platform\";\nimport { HAS_REANIMATED_3 } from \"../external\";\n\nexport interface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n measure(callback: MeasureOnSuccessCallback): void;\n measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst useReanimatedFrame = !HAS_REANIMATED_3 ? () => {} : Rea.useFrameCallback;\n\nexport const useCanvasSize = (userRef?: RefObject<CanvasRef | null>) => {\n const ourRef = useCanvasRef();\n const ref = userRef ?? ourRef;\n const [size, setSize] = useState<SkSize>({ width: 0, height: 0 });\n useLayoutEffect(() => {\n if (ref.current) {\n ref.current.measure((_x, _y, width, height) => {\n setSize({ width, height });\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return { ref, size };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isFabric = Boolean((global as any)?.nativeFabricUIManager);\n\nexport interface CanvasProps extends Omit<ViewProps, \"onLayout\"> {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n colorSpace?: \"p3\" | \"srgb\";\n ref?: React.Ref<CanvasRef>;\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport const Canvas = ({\n debug,\n opaque,\n children,\n onSize,\n colorSpace = \"p3\",\n ref,\n // Here know this is a type error but this is done on purpose to check it at runtime\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n onLayout,\n ...viewProps\n}: CanvasProps) => {\n if (onLayout && isFabric) {\n console.error(\n // eslint-disable-next-line max-len\n \"<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size\"\n );\n }\n const viewRef = useRef<View>(null);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n useReanimatedFrame(() => {\n \"worklet\";\n }, !!onSize);\n useEffect(() => {\n if (onSize) {\n Rea.runOnUI(() => {\n (global as Record<string, unknown>)[`__onSize_${nativeId}`] = onSize;\n })();\n return () => {\n Rea.runOnUI(() => {\n delete (global as Record<string, unknown>)[`__onSize_${nativeId}`];\n })();\n };\n }\n return undefined;\n }, [onSize, nativeId]);\n\n // Render effects\n useLayoutEffect(() => {\n root.render(children);\n }, [children, root, nativeId]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n // Component methods\n useImperativeHandle(\n ref,\n () =>\n ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n measure: (callback) => {\n viewRef.current?.measure(callback);\n },\n measureInWindow: (callback) => {\n viewRef.current?.measureInWindow(callback);\n },\n } as CanvasRef)\n );\n\n const onLayoutWeb = useCallback(\n (e: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(e);\n }\n if (Platform.OS === \"web\" && onSize) {\n const { width, height } = e.nativeEvent.layout;\n onSize.value = { width, height };\n }\n },\n [onLayout, onSize]\n );\n\n return (\n <SkiaPictureViewNativeComponent\n ref={viewRef}\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n colorSpace={colorSpace}\n onLayout={onLayoutWeb}\n {...viewProps}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ReanimatedProxy","_interopRequireDefault","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_Reconciler","_skia","_Platform","_external","_global","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","useCanvasRef","useRef","exports","useReanimatedFrame","HAS_REANIMATED_3","Rea","useFrameCallback","useCanvasSize","userRef","ourRef","ref","size","setSize","useState","width","height","useLayoutEffect","current","measure","_x","_y","isFabric","Boolean","global","nativeFabricUIManager","Canvas","debug","opaque","children","onSize","colorSpace","onLayout","viewProps","console","error","viewRef","nativeId","useMemo","SkiaViewNativeId","root","SkiaSGRoot","Skia","useEffect","runOnUI","undefined","render","unmount","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","requestRedraw","getNativeId","callback","_viewRef$current","measureInWindow","_viewRef$current2","onLayoutWeb","useCallback","Platform","OS","nativeEvent","layout","value","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC, RefObject } from \"react\";\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type {\n LayoutChangeEvent,\n MeasureInWindowOnSuccessCallback,\n MeasureOnSuccessCallback,\n View,\n ViewProps,\n} from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport Rea from \"../external/reanimated/ReanimatedProxy\";\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport { Platform } from \"../Platform\";\nimport { HAS_REANIMATED_3 } from \"../external\";\n\nexport interface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n measure(callback: MeasureOnSuccessCallback): void;\n measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst useReanimatedFrame = !HAS_REANIMATED_3 ? () => {} : Rea.useFrameCallback;\n\nexport const useCanvasSize = (userRef?: RefObject<CanvasRef | null>) => {\n const ourRef = useCanvasRef();\n const ref = userRef ?? ourRef;\n const [size, setSize] = useState<SkSize>({ width: 0, height: 0 });\n useLayoutEffect(() => {\n if (ref.current) {\n ref.current.measure((_x, _y, width, height) => {\n setSize({ width, height });\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return { ref, size };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isFabric = Boolean((global as any)?.nativeFabricUIManager);\n\nexport interface CanvasProps extends Omit<ViewProps, \"onLayout\"> {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n colorSpace?: \"p3\" | \"srgb\";\n ref?: React.Ref<CanvasRef>;\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport const Canvas = ({\n debug,\n opaque,\n children,\n onSize,\n colorSpace = \"p3\",\n ref,\n // Here know this is a type error but this is done on purpose to check it at runtime\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n onLayout,\n ...viewProps\n}: CanvasProps) => {\n if (onLayout && isFabric) {\n console.error(\n \"<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size\"\n );\n }\n const viewRef = useRef<View>(null);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n useReanimatedFrame(() => {\n \"worklet\";\n }, !!onSize);\n useEffect(() => {\n if (onSize) {\n Rea.runOnUI(() => {\n (global as Record<string, unknown>)[`__onSize_${nativeId}`] = onSize;\n })();\n return () => {\n Rea.runOnUI(() => {\n delete (global as Record<string, unknown>)[`__onSize_${nativeId}`];\n })();\n };\n }\n return undefined;\n }, [onSize, nativeId]);\n\n // Render effects\n useLayoutEffect(() => {\n root.render(children);\n }, [children, root, nativeId]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n // Component methods\n useImperativeHandle(\n ref,\n () =>\n ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n measure: (callback) => {\n viewRef.current?.measure(callback);\n },\n measureInWindow: (callback) => {\n viewRef.current?.measureInWindow(callback);\n },\n }) as CanvasRef\n );\n\n const onLayoutWeb = useCallback(\n (e: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(e);\n }\n if (Platform.OS === \"web\" && onSize) {\n const { width, height } = e.nativeEvent.layout;\n onSize.value = { width, height };\n }\n },\n [onLayout, onSize]\n );\n\n return (\n <SkiaPictureViewNativeComponent\n ref={viewRef}\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n colorSpace={colorSpace}\n onLayout={onLayoutWeb}\n {...viewProps}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -15,5 +15,6 @@ export declare class ParagraphAsset<Ctx extends EvalContext> extends SkiaObject<
15
15
  getLineMetrics(): import("../../../../skia/types").LineMetrics[];
16
16
  getRectsForPlaceholders(): import("../../../../skia/types").SkRectWithDirection[];
17
17
  __typename__: "Paragraph";
18
+ [Symbol.dispose](): void;
18
19
  dispose(): void;
19
20
  }
@@ -5,6 +5,7 @@ export declare class SVGAsset implements SkSVG {
5
5
  private _height;
6
6
  __typename__: "SVG";
7
7
  constructor(_source: string, _width: number, _height: number);
8
+ [Symbol.dispose](): void;
8
9
  dispose(): void;
9
10
  source(): string;
10
11
  width(): number;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type AnimatedProp<T> = T | { value: T };\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n ? T[K]\n : AnimatedProp<T[K]>;\n};\n\nexport type SkiaProps<\n P = object,\n O extends keyof P | never = never\n> = AnimatedProps<P, O>;\n\ntype WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {\n [K in N]?: T[K];\n};\n\nexport type SkiaDefaultProps<\n T extends object,\n N extends keyof T\n> = WithOptional<SkiaProps<T>, N>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type AnimatedProp<T> = T | { value: T };\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n ? T[K]\n : AnimatedProp<T[K]>;\n};\n\nexport type SkiaProps<\n P = object,\n O extends keyof P | never = never,\n> = AnimatedProps<P, O>;\n\ntype WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {\n [K in N]?: T[K];\n};\n\nexport type SkiaDefaultProps<\n T extends object,\n N extends keyof T,\n> = WithOptional<SkiaProps<T>, N>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Platform","require","_Skia","_Data","imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError","useRawData","exports","makeImageFromView","viewRef","callback","Platform","OS","Promise","reject","Error","viewTag","findNodeHandle","current","MakeImageFromViewTag"],"sources":["Image.ts"],"sourcesContent":["import { Platform } from \"../../Platform\";\nimport { Skia } from \"../Skia\";\nimport type { DataSourceParam, SkImage } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n\n/**\n * Creates an image from a given view reference. NOTE: This method has different implementations\n * on web/native. On web, the callback is called with the view ref and the callback is expected to\n * return a promise that resolves to a Skia Image object. On native, the view ref is used to\n * find the view tag and the Skia Image object is created from the view tag. This means that on web\n * you will need to implement the logic to create the image from the view ref yourself.\n * @param viewRef Ref to the view we're creating an image from\n * @returns A promise that resolves to a Skia Image object or rejects\n * with an error id the view tag is invalid.\n */\nexport const makeImageFromView = <\n T extends\n | number\n | React.Component<unknown, unknown>\n | React.ComponentClass<unknown>\n | null\n>(\n viewRef: React.RefObject<T>,\n callback:\n | null\n | ((viewRef: React.RefObject<T>) => Promise<SkImage | null>) = null\n) => {\n // In web implementation we just delegate the work to the provided callback\n if (Platform.OS === \"web\") {\n if (callback) {\n return callback(viewRef);\n } else {\n Promise.reject(\n new Error(\n \"Callback is required on web in the makeImageFromView function.\"\n )\n );\n }\n }\n const viewTag = Platform.findNodeHandle(viewRef.current);\n if (viewTag !== null && viewTag !== 0) {\n return Skia.Image.MakeImageFromViewTag(viewTag);\n }\n return Promise.reject(new Error(\"Invalid view tag\"));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,UAAU,GAAGC,UAAI,CAACC,KAAK,CAACC,oBAAoB,CAACC,IAAI,CAACH,UAAI,CAACC,KAAK,CAAC;;AAEnE;AACA;AACA;AACO,MAAMG,QAAQ,GAAGA,CACtBC,MAAuB,EACvBC,OAA8B,KAC3B,IAAAC,gBAAU,EAACF,MAAM,EAAEN,UAAU,EAAEO,OAAO,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAE,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAUO,MAAMK,iBAAiB,GAAGA,CAO/BC,OAA2B,EAC3BC,QAE8D,GAAG,IAAI,KAClE;EACH;EACA,IAAIC,kBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIF,QAAQ,EAAE;MACZ,OAAOA,QAAQ,CAACD,OAAO,CAAC;IAC1B,CAAC,MAAM;MACLI,OAAO,CAACC,MAAM,CACZ,IAAIC,KAAK,CACP,gEACF,CACF,CAAC;IACH;EACF;EACA,MAAMC,OAAO,GAAGL,kBAAQ,CAACM,cAAc,CAACR,OAAO,CAACS,OAAO,CAAC;EACxD,IAAIF,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;IACrC,OAAOjB,UAAI,CAACC,KAAK,CAACmB,oBAAoB,CAACH,OAAO,CAAC;EACjD;EACA,OAAOH,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAACR,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Platform","require","_Skia","_Data","imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError","useRawData","exports","makeImageFromView","viewRef","callback","Platform","OS","Promise","reject","Error","viewTag","findNodeHandle","current","MakeImageFromViewTag"],"sources":["Image.ts"],"sourcesContent":["import { Platform } from \"../../Platform\";\nimport { Skia } from \"../Skia\";\nimport type { DataSourceParam, SkImage } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n\n/**\n * Creates an image from a given view reference. NOTE: This method has different implementations\n * on web/native. On web, the callback is called with the view ref and the callback is expected to\n * return a promise that resolves to a Skia Image object. On native, the view ref is used to\n * find the view tag and the Skia Image object is created from the view tag. This means that on web\n * you will need to implement the logic to create the image from the view ref yourself.\n * @param viewRef Ref to the view we're creating an image from\n * @returns A promise that resolves to a Skia Image object or rejects\n * with an error id the view tag is invalid.\n */\nexport const makeImageFromView = <\n T extends\n | number\n | React.Component<unknown, unknown>\n | React.ComponentClass<unknown>\n | null,\n>(\n viewRef: React.RefObject<T>,\n callback:\n | null\n | ((viewRef: React.RefObject<T>) => Promise<SkImage | null>) = null\n) => {\n // In web implementation we just delegate the work to the provided callback\n if (Platform.OS === \"web\") {\n if (callback) {\n return callback(viewRef);\n } else {\n Promise.reject(\n new Error(\n \"Callback is required on web in the makeImageFromView function.\"\n )\n );\n }\n }\n const viewTag = Platform.findNodeHandle(viewRef.current);\n if (viewTag !== null && viewTag !== 0) {\n return Skia.Image.MakeImageFromViewTag(viewTag);\n }\n return Promise.reject(new Error(\"Invalid view tag\"));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,UAAU,GAAGC,UAAI,CAACC,KAAK,CAACC,oBAAoB,CAACC,IAAI,CAACH,UAAI,CAACC,KAAK,CAAC;;AAEnE;AACA;AACA;AACO,MAAMG,QAAQ,GAAGA,CACtBC,MAAuB,EACvBC,OAA8B,KAC3B,IAAAC,gBAAU,EAACF,MAAM,EAAEN,UAAU,EAAEO,OAAO,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAE,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAUO,MAAMK,iBAAiB,GAAGA,CAO/BC,OAA2B,EAC3BC,QAE8D,GAAG,IAAI,KAClE;EACH;EACA,IAAIC,kBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIF,QAAQ,EAAE;MACZ,OAAOA,QAAQ,CAACD,OAAO,CAAC;IAC1B,CAAC,MAAM;MACLI,OAAO,CAACC,MAAM,CACZ,IAAIC,KAAK,CACP,gEACF,CACF,CAAC;IACH;EACF;EACA,MAAMC,OAAO,GAAGL,kBAAQ,CAACM,cAAc,CAACR,OAAO,CAACS,OAAO,CAAC;EACxD,IAAIF,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;IACrC,OAAOjB,UAAI,CAACC,KAAK,CAACmB,oBAAoB,CAACH,OAAO,CAAC;EACjD;EACA,OAAOH,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAACR,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export interface SkJSIInstance<T extends string> {
1
+ export interface SkJSIInstance<T extends string> extends Disposable {
2
2
  __typename__: T;
3
3
  dispose(): void;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> {\n __typename__: T;\n dispose(): void;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> extends Disposable {\n __typename__: T;\n dispose(): void;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["exhaustiveCheck","a","Error","Matrix4","exports","translate","x","y","z","perspective","p","normalizeVec","vec","length","Math","sqrt","rotatedUnitSinCos","axisVec","sinAngle","cosAngle","c","s","t","matrixVecMul4","m","v","mapPoint3d","r","multiply4","b","result","Array","fill","i","j","skewY","angle","tan","skewX","toMatrix3","rotate","axis","value","sin","cos","pivot","scale","sx","sy","sz","m4","rotateAxis","rotateZ","rotateX","rotateY","processTransform3d","transforms","reduce","acc","val","key","Object","keys","transform","convertToColumnMajor","rowMajorMatrix","colMajorMatrix","size","row","col","convertToColumnMajor3","convertToAffineMatrix","d","tx","ty","det3x3","a00","a01","a02","a10","a11","a12","a20","a21","a22","invert4","a03","a13","a23","a30","a31","a32","a33","b00","b01","b02","b03","b10","b11","b12","b13","b20","b21","b22","b23","b30","b31","b32","b33","det","abs","invDet","vecSub","vecCross","lookat","eyeVec","centerVec","upVec","f","u","uf","perspectiveMatrix","near","far","dInv","halfAngle","cot","setupCamera","area","zscale","cam","camera","eye","coa","up","center","viewScale","viewport"],"sources":["Matrix4.ts"],"sourcesContent":["type Point = { x: number; y: number };\ntype Vec2 = readonly [number, number];\nexport type Vec3 = readonly [number, number, number];\nexport type Vec4 = readonly [number, number, number, number];\n\nexport type Matrix3 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n];\n\nexport type Matrix4 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n];\n\ntype Transform3dName =\n | \"translateX\"\n | \"translateY\"\n | \"translateZ\"\n | \"translate\"\n | \"scale\"\n | \"scaleX\"\n | \"scaleY\"\n | \"skewX\"\n | \"skewY\"\n | \"rotateZ\"\n | \"rotate\"\n | \"perspective\"\n | \"rotateX\"\n | \"rotateY\"\n | \"matrix\";\n\ntype Transformations = {\n [Name in Transform3dName]: Name extends \"matrix\"\n ? Matrix4\n : Name extends \"translate\"\n ? Vec3 | Vec2\n : number;\n};\n\ntype Transform3d =\n | Pick<Transformations, \"translateX\">\n | Pick<Transformations, \"translateY\">\n | Pick<Transformations, \"translateZ\">\n | Pick<Transformations, \"translate\">\n | Pick<Transformations, \"scale\">\n | Pick<Transformations, \"scaleX\">\n | Pick<Transformations, \"scaleY\">\n | Pick<Transformations, \"skewX\">\n | Pick<Transformations, \"skewY\">\n | Pick<Transformations, \"perspective\">\n | Pick<Transformations, \"rotateX\">\n | Pick<Transformations, \"rotateY\">\n | Pick<Transformations, \"rotateZ\">\n | Pick<Transformations, \"rotate\">\n | Pick<Transformations, \"matrix\">;\n\nexport type Transforms3d = Transform3d[];\n\nconst exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n/**\n * @worklet\n */\nexport const Matrix4 = (): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const translate = (x: number, y: number, z = 0): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const perspective = (p: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1 / p, 1];\n};\n\nconst normalizeVec = (vec: Vec3): Vec3 => {\n \"worklet\";\n const [x, y, z] = vec;\n const length = Math.sqrt(x * x + y * y + z * z);\n // Check for zero length to avoid division by zero\n if (length === 0) {\n return [0, 0, 0];\n }\n return [x / length, y / length, z / length];\n};\n\nconst rotatedUnitSinCos = (\n axisVec: Vec3,\n sinAngle: number,\n cosAngle: number\n): Matrix4 => {\n \"worklet\";\n const x = axisVec[0];\n const y = axisVec[1];\n const z = axisVec[2];\n const c = cosAngle;\n const s = sinAngle;\n const t = 1 - c;\n return [\n t * x * x + c,\n t * x * y - s * z,\n t * x * z + s * y,\n 0,\n t * x * y + s * z,\n t * y * y + c,\n t * y * z - s * x,\n 0,\n t * x * z - s * y,\n t * y * z + s * x,\n t * z * z + c,\n 0,\n 0,\n 0,\n 0,\n 1,\n ];\n};\n\n/**\n * @worklet\n */\nexport const matrixVecMul4 = (m: Matrix4, v: Vec4): Vec4 => {\n \"worklet\";\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3],\n m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3],\n m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3],\n m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3],\n ];\n};\n\n/**\n * @worklet\n */\nexport const mapPoint3d = (m: Matrix4, v: Vec3) => {\n \"worklet\";\n const r = matrixVecMul4(m, [...v, 1]);\n return [r[0] / r[3], r[1] / r[3], r[2] / r[3]] as const;\n};\n\n/**\n * @worklet\n */\nexport const multiply4 = (a: Matrix4, b: Matrix4): Matrix4 => {\n \"worklet\";\n const result = new Array(16).fill(0);\n for (let i = 0; i < 4; i++) {\n for (let j = 0; j < 4; j++) {\n result[i * 4 + j] =\n a[i * 4] * b[j] +\n a[i * 4 + 1] * b[j + 4] +\n a[i * 4 + 2] * b[j + 8] +\n a[i * 4 + 3] * b[j + 12];\n }\n }\n return result as unknown as Matrix4;\n};\n\nconst skewY = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, Math.tan(angle), 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\nconst skewX = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, Math.tan(angle), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const toMatrix3 = (m: Matrix4) => {\n \"worklet\";\n return [m[0], m[1], m[3], m[4], m[5], m[7], m[12], m[13], m[15]];\n};\n\nconst rotate = (axis: Vec3, value: number) => {\n \"worklet\";\n return rotatedUnitSinCos(\n normalizeVec(axis),\n Math.sin(value),\n Math.cos(value)\n );\n};\n\n/**\n * @worklet\n */\nexport const pivot = (m: Matrix4, p: Point) => {\n \"worklet\";\n return multiply4(translate(p.x, p.y), multiply4(m, translate(-p.x, -p.y)));\n};\n\n/**\n * @worklet\n */\nexport const scale = (sx: number, sy: number, sz = 1, p?: Point): Matrix4 => {\n \"worklet\";\n const m4: Matrix4 = [sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1];\n if (p) {\n return pivot(m4, p);\n }\n return m4;\n};\n\nconst rotateAxis = (axis: Vec3, angle: number, p?: Point) => {\n \"worklet\";\n const result = rotate(axis, angle);\n if (p) {\n return pivot(result, p);\n }\n return result;\n};\n\n/**\n * @worklet\n */\nexport const rotateZ = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 0, 1], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateX = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([1, 0, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateY = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 1, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const processTransform3d = (transforms: Transforms3d) => {\n \"worklet\";\n return transforms.reduce((acc, val) => {\n const key = Object.keys(val)[0] as Transform3dName;\n const transform = val as Pick<Transformations, typeof key>;\n if (key === \"translateX\") {\n const value = transform[key];\n return multiply4(acc, translate(value, 0, 0));\n }\n if (key === \"translate\") {\n const [x, y, z = 0] = transform[key];\n return multiply4(acc, translate(x, y, z));\n }\n if (key === \"translateY\") {\n const value = transform[key];\n return multiply4(acc, translate(0, value, 0));\n }\n if (key === \"translateZ\") {\n const value = transform[key];\n return multiply4(acc, translate(0, 0, value));\n }\n if (key === \"scale\") {\n const value = transform[key];\n return multiply4(acc, scale(value, value, 1));\n }\n if (key === \"scaleX\") {\n const value = transform[key];\n return multiply4(acc, scale(value, 1, 1));\n }\n if (key === \"scaleY\") {\n const value = transform[key];\n return multiply4(acc, scale(1, value, 1));\n }\n if (key === \"skewX\") {\n const value = transform[key];\n return multiply4(acc, skewX(value));\n }\n if (key === \"skewY\") {\n const value = transform[key];\n return multiply4(acc, skewY(value));\n }\n if (key === \"rotateX\") {\n const value = transform[key];\n return multiply4(acc, rotate([1, 0, 0], value));\n }\n if (key === \"rotateY\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 1, 0], value));\n }\n if (key === \"perspective\") {\n const value = transform[key];\n return multiply4(acc, perspective(value));\n }\n if (key === \"rotate\" || key === \"rotateZ\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 0, 1], value));\n }\n if (key === \"matrix\") {\n const value = transform[key];\n return multiply4(acc, value);\n }\n return exhaustiveCheck(key);\n }, Matrix4());\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor = (rowMajorMatrix: Matrix4) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(16);\n const size = 4;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix4;\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor3 = (rowMajorMatrix: Matrix3 | number[]) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(9);\n const size = 3;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix3;\n};\n\n/**\n * @worklet\n */\nexport const convertToAffineMatrix = (m4: Matrix4) => {\n \"worklet\";\n // Extracting the relevant components from the 4x4 matrix\n const a = m4[0]; // Scale X\n const b = m4[1]; // Skew Y\n const c = m4[4]; // Skew X\n const d = m4[5]; // Scale Y\n const tx = m4[12]; // Translate X\n const ty = m4[13]; // Translate Y\n\n // Returning the 6-element affine transformation matrix\n return [a, b, c, d, tx, ty];\n};\n\n/**\n * Calculates the determinant of a 3x3 matrix\n * @worklet\n */\nconst det3x3 = (\n a00: number,\n a01: number,\n a02: number,\n a10: number,\n a11: number,\n a12: number,\n a20: number,\n a21: number,\n a22: number\n): number => {\n \"worklet\";\n return (\n a00 * (a11 * a22 - a12 * a21) +\n a01 * (a12 * a20 - a10 * a22) +\n a02 * (a10 * a21 - a11 * a20)\n );\n};\n\n/**\n * Inverts a 4x4 matrix\n * @worklet\n * @returns The inverted matrix, or the identity matrix if the input is not invertible\n */\nexport const invert4 = (m: Matrix4): Matrix4 => {\n \"worklet\";\n\n const a00 = m[0],\n a01 = m[1],\n a02 = m[2],\n a03 = m[3];\n const a10 = m[4],\n a11 = m[5],\n a12 = m[6],\n a13 = m[7];\n const a20 = m[8],\n a21 = m[9],\n a22 = m[10],\n a23 = m[11];\n const a30 = m[12],\n a31 = m[13],\n a32 = m[14],\n a33 = m[15];\n\n // Calculate cofactors\n const b00 = det3x3(a11, a12, a13, a21, a22, a23, a31, a32, a33);\n const b01 = -det3x3(a10, a12, a13, a20, a22, a23, a30, a32, a33);\n const b02 = det3x3(a10, a11, a13, a20, a21, a23, a30, a31, a33);\n const b03 = -det3x3(a10, a11, a12, a20, a21, a22, a30, a31, a32);\n\n const b10 = -det3x3(a01, a02, a03, a21, a22, a23, a31, a32, a33);\n const b11 = det3x3(a00, a02, a03, a20, a22, a23, a30, a32, a33);\n const b12 = -det3x3(a00, a01, a03, a20, a21, a23, a30, a31, a33);\n const b13 = det3x3(a00, a01, a02, a20, a21, a22, a30, a31, a32);\n\n const b20 = det3x3(a01, a02, a03, a11, a12, a13, a31, a32, a33);\n const b21 = -det3x3(a00, a02, a03, a10, a12, a13, a30, a32, a33);\n const b22 = det3x3(a00, a01, a03, a10, a11, a13, a30, a31, a33);\n const b23 = -det3x3(a00, a01, a02, a10, a11, a12, a30, a31, a32);\n\n const b30 = -det3x3(a01, a02, a03, a11, a12, a13, a21, a22, a23);\n const b31 = det3x3(a00, a02, a03, a10, a12, a13, a20, a22, a23);\n const b32 = -det3x3(a00, a01, a03, a10, a11, a13, a20, a21, a23);\n const b33 = det3x3(a00, a01, a02, a10, a11, a12, a20, a21, a22);\n\n // Calculate determinant\n const det = a00 * b00 + a01 * b01 + a02 * b02 + a03 * b03;\n\n // Check if matrix is invertible\n if (Math.abs(det) < 1e-8) {\n // Return identity matrix if not invertible\n return Matrix4();\n }\n\n const invDet = 1.0 / det;\n\n // Calculate inverse matrix\n return [\n b00 * invDet,\n b10 * invDet,\n b20 * invDet,\n b30 * invDet,\n b01 * invDet,\n b11 * invDet,\n b21 * invDet,\n b31 * invDet,\n b02 * invDet,\n b12 * invDet,\n b22 * invDet,\n b32 * invDet,\n b03 * invDet,\n b13 * invDet,\n b23 * invDet,\n b33 * invDet,\n ] as Matrix4;\n};\n\nconst vecSub = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];\n};\n\nconst vecCross = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [\n a[1] * b[2] - a[2] * b[1],\n a[2] * b[0] - a[0] * b[2],\n a[0] * b[1] - a[1] * b[0],\n ];\n};\n\nconst lookat = (eyeVec: Vec3, centerVec: Vec3, upVec: Vec3): Matrix4 => {\n \"worklet\";\n const f = normalizeVec(vecSub(centerVec, eyeVec));\n const u = normalizeVec(upVec);\n const s = normalizeVec(vecCross(f, u));\n const uf = vecCross(s, f);\n\n // Build the look-at matrix directly\n const m: Matrix4 = [\n s[0],\n uf[0],\n -f[0],\n eyeVec[0],\n s[1],\n uf[1],\n -f[1],\n eyeVec[1],\n s[2],\n uf[2],\n -f[2],\n eyeVec[2],\n 0,\n 0,\n 0,\n 1,\n ];\n\n return invert4(m);\n};\n\nconst perspectiveMatrix = (\n near: number,\n far: number,\n angle: number\n): Matrix4 => {\n \"worklet\";\n const dInv = 1 / (far - near);\n const halfAngle = angle / 2;\n const cot = Math.cos(halfAngle) / Math.sin(halfAngle);\n return [\n cot,\n 0,\n 0,\n 0,\n 0,\n cot,\n 0,\n 0,\n 0,\n 0,\n (far + near) * dInv,\n 2 * far * near * dInv,\n 0,\n 0,\n -1,\n 1,\n ];\n};\n\nexport interface CameraConfig {\n eye: Vec3;\n coa: Vec3;\n up: Vec3;\n near: number;\n far: number;\n angle: number;\n}\n\nexport const setupCamera = (\n area: Vec4,\n zscale: number,\n cam: CameraConfig\n): Matrix4 => {\n \"worklet\";\n const camera = lookat(cam.eye, cam.coa, cam.up);\n const p = perspectiveMatrix(cam.near, cam.far, cam.angle);\n const center: Vec3 = [(area[0] + area[2]) / 2, (area[1] + area[3]) / 2, 0];\n const viewScale: Vec3 = [\n (area[2] - area[0]) / 2,\n (area[3] - area[1]) / 2,\n zscale,\n ];\n const viewport = multiply4(\n translate(center[0], center[1], center[2]),\n scale(viewScale[0], viewScale[1], viewScale[2])\n );\n return multiply4(\n multiply4(viewport, p),\n multiply4(camera, invert4(viewport))\n );\n};\n"],"mappings":";;;;;;AAgFA,MAAMA,eAAe,GAAIC,CAAQ,IAAY;EAC3C,SAAS;;EACT,MAAM,IAAIC,KAAK,CAAC,6BAA6BD,CAAC,EAAE,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACO,MAAME,OAAO,GAAGA,CAAA,KAAe;EACpC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAGO,MAAME,SAAS,GAAGA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAC,GAAG,CAAC,KAAc;EACjE,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAGO,MAAMI,WAAW,GAAIC,CAAS,IAAc;EACjD,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAGA,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAACN,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAEF,MAAME,YAAY,GAAIC,GAAS,IAAW;EACxC,SAAS;;EACT,MAAM,CAACN,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGI,GAAG;EACrB,MAAMC,MAAM,GAAGC,IAAI,CAACC,IAAI,CAACT,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,CAAC;EAC/C;EACA,IAAIK,MAAM,KAAK,CAAC,EAAE;IAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAClB;EACA,OAAO,CAACP,CAAC,GAAGO,MAAM,EAAEN,CAAC,GAAGM,MAAM,EAAEL,CAAC,GAAGK,MAAM,CAAC;AAC7C,CAAC;AAED,MAAMG,iBAAiB,GAAGA,CACxBC,OAAa,EACbC,QAAgB,EAChBC,QAAgB,KACJ;EACZ,SAAS;;EACT,MAAMb,CAAC,GAAGW,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMV,CAAC,GAAGU,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMT,CAAC,GAAGS,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMG,CAAC,GAAGD,QAAQ;EAClB,MAAME,CAAC,GAAGH,QAAQ;EAClB,MAAMI,CAAC,GAAG,CAAC,GAAGF,CAAC;EACf,OAAO,CACLE,CAAC,GAAGhB,CAAC,GAAGA,CAAC,GAAGc,CAAC,EACbE,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjB,CAAC,EACDe,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGf,CAAC,GAAGA,CAAC,GAAGa,CAAC,EACbE,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjB,CAAC,EACDgB,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjBe,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjBgB,CAAC,GAAGd,CAAC,GAAGA,CAAC,GAAGY,CAAC,EACb,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,aAAa,GAAGA,CAACC,CAAU,EAAEC,CAAO,KAAW;EAC1D,SAAS;;EACT,OAAO,CACLD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACvDD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,CAC1D;AACH,CAAC;;AAED;AACA;AACA;AAFArB,OAAA,CAAAmB,aAAA,GAAAA,aAAA;AAGO,MAAMG,UAAU,GAAGA,CAACF,CAAU,EAAEC,CAAO,KAAK;EACjD,SAAS;;EACT,MAAME,CAAC,GAAGJ,aAAa,CAACC,CAAC,EAAE,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC,CAAC;EACrC,OAAO,CAACE,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA;AACA;AAFAvB,OAAA,CAAAsB,UAAA,GAAAA,UAAA;AAGO,MAAME,SAAS,GAAGA,CAAC3B,CAAU,EAAE4B,CAAU,KAAc;EAC5D,SAAS;;EACT,MAAMC,MAAM,GAAG,IAAIC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EACpC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1BJ,MAAM,CAACG,CAAC,GAAG,CAAC,GAAGC,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,EAAE,CAAC;IAC5B;EACF;EACA,OAAOJ,MAAM;AACf,CAAC;AAAC1B,OAAA,CAAAwB,SAAA,GAAAA,SAAA;AAEF,MAAMO,KAAK,GAAIC,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAME,KAAK,GAAIF,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;;AAED;AACA;AACA;AACO,MAAMG,SAAS,GAAIf,CAAU,IAAK;EACvC,SAAS;;EACT,OAAO,CAACA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAACpB,OAAA,CAAAmC,SAAA,GAAAA,SAAA;AAEF,MAAMC,MAAM,GAAGA,CAACC,IAAU,EAAEC,KAAa,KAAK;EAC5C,SAAS;;EACT,OAAO1B,iBAAiB,CACtBL,YAAY,CAAC8B,IAAI,CAAC,EAClB3B,IAAI,CAAC6B,GAAG,CAACD,KAAK,CAAC,EACf5B,IAAI,CAAC8B,GAAG,CAACF,KAAK,CAChB,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,KAAK,GAAGA,CAACrB,CAAU,EAAEd,CAAQ,KAAK;EAC7C,SAAS;;EACT,OAAOkB,SAAS,CAACvB,SAAS,CAACK,CAAC,CAACJ,CAAC,EAAEI,CAAC,CAACH,CAAC,CAAC,EAAEqB,SAAS,CAACJ,CAAC,EAAEnB,SAAS,CAAC,CAACK,CAAC,CAACJ,CAAC,EAAE,CAACI,CAAC,CAACH,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAyC,KAAA,GAAAA,KAAA;AAGO,MAAMC,KAAK,GAAGA,CAACC,EAAU,EAAEC,EAAU,EAAEC,EAAE,GAAG,CAAC,EAAEvC,CAAS,KAAc;EAC3E,SAAS;;EACT,MAAMwC,EAAW,GAAG,CAACH,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACvE,IAAIvC,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACK,EAAE,EAAExC,CAAC,CAAC;EACrB;EACA,OAAOwC,EAAE;AACX,CAAC;AAAC9C,OAAA,CAAA0C,KAAA,GAAAA,KAAA;AAEF,MAAMK,UAAU,GAAGA,CAACV,IAAU,EAAEL,KAAa,EAAE1B,CAAS,KAAK;EAC3D,SAAS;;EACT,MAAMoB,MAAM,GAAGU,MAAM,CAACC,IAAI,EAAEL,KAAK,CAAC;EAClC,IAAI1B,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACf,MAAM,EAAEpB,CAAC,CAAC;EACzB;EACA,OAAOoB,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACO,MAAMsB,OAAO,GAAGA,CAACV,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAgD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACX,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAiD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACZ,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAkD,OAAA,GAAAA,OAAA;AAGO,MAAMC,kBAAkB,GAAIC,UAAwB,IAAK;EAC9D,SAAS;;EACT,OAAOA,UAAU,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IACrC,MAAMC,GAAG,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAAC,CAAC,CAAoB;IAClD,MAAMI,SAAS,GAAGJ,GAAwC;IAC1D,IAAIC,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACqC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,WAAW,EAAE;MACvB,MAAM,CAACtD,CAAC,EAAEC,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC,GAAGuD,SAAS,CAACH,GAAG,CAAC;MACpC,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIoD,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAEqC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEqC,KAAK,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAEA,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAAC,CAAC,EAAEJ,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEpB,KAAK,CAACI,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEvB,KAAK,CAACO,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,aAAa,EAAE;MACzB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEjD,WAAW,CAACiC,KAAK,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,SAAS,EAAE;MACzC,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEhB,KAAK,CAAC;IAC9B;IACA,OAAO1C,eAAe,CAAC4D,GAAG,CAAC;EAC7B,CAAC,EAAEzD,OAAO,CAAC,CAAC,CAAC;AACf,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAmD,kBAAA,GAAAA,kBAAA;AAGO,MAAMS,oBAAoB,GAAIC,cAAuB,IAAK;EAC/D,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,EAAE,CAAC;EAC5C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAA4D,oBAAA,GAAAA,oBAAA;AAGO,MAAMM,qBAAqB,GAAIL,cAAkC,IAAK;EAC3E,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,CAAC,CAAC;EAC3C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAAkE,qBAAA,GAAAA,qBAAA;AAGO,MAAMC,qBAAqB,GAAIrB,EAAW,IAAK;EACpD,SAAS;;EACT;EACA,MAAMjD,CAAC,GAAGiD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMrB,CAAC,GAAGqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAM9B,CAAC,GAAG8B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMsB,CAAC,GAAGtB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMuB,EAAE,GAAGvB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACnB,MAAMwB,EAAE,GAAGxB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEnB;EACA,OAAO,CAACjD,CAAC,EAAE4B,CAAC,EAAET,CAAC,EAAEoD,CAAC,EAAEC,EAAE,EAAEC,EAAE,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AAHAtE,OAAA,CAAAmE,qBAAA,GAAAA,qBAAA;AAIA,MAAMI,MAAM,GAAGA,CACbC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,KACA;EACX,SAAS;;EACT,OACER,GAAG,IAAII,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC,GAC7BN,GAAG,IAAII,GAAG,GAAGC,GAAG,GAAGH,GAAG,GAAGK,GAAG,CAAC,GAC7BN,GAAG,IAAIC,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC;AAEjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAI7D,CAAU,IAAc;EAC9C,SAAS;;EAET,MAAMoD,GAAG,GAAGpD,CAAC,CAAC,CAAC,CAAC;IACdqD,GAAG,GAAGrD,CAAC,CAAC,CAAC,CAAC;IACVsD,GAAG,GAAGtD,CAAC,CAAC,CAAC,CAAC;IACV8D,GAAG,GAAG9D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAMuD,GAAG,GAAGvD,CAAC,CAAC,CAAC,CAAC;IACdwD,GAAG,GAAGxD,CAAC,CAAC,CAAC,CAAC;IACVyD,GAAG,GAAGzD,CAAC,CAAC,CAAC,CAAC;IACV+D,GAAG,GAAG/D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAM0D,GAAG,GAAG1D,CAAC,CAAC,CAAC,CAAC;IACd2D,GAAG,GAAG3D,CAAC,CAAC,CAAC,CAAC;IACV4D,GAAG,GAAG5D,CAAC,CAAC,EAAE,CAAC;IACXgE,GAAG,GAAGhE,CAAC,CAAC,EAAE,CAAC;EACb,MAAMiE,GAAG,GAAGjE,CAAC,CAAC,EAAE,CAAC;IACfkE,GAAG,GAAGlE,CAAC,CAAC,EAAE,CAAC;IACXmE,GAAG,GAAGnE,CAAC,CAAC,EAAE,CAAC;IACXoE,GAAG,GAAGpE,CAAC,CAAC,EAAE,CAAC;;EAEb;EACA,MAAMqE,GAAG,GAAGlB,MAAM,CAACK,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAME,GAAG,GAAG,CAACnB,MAAM,CAACI,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMG,GAAG,GAAGpB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMI,GAAG,GAAG,CAACrB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMM,GAAG,GAAG,CAACtB,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEH,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMM,GAAG,GAAGvB,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEJ,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMO,GAAG,GAAG,CAACxB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAChE,MAAMQ,GAAG,GAAGzB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAE/D,MAAMU,GAAG,GAAG1B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEG,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMU,GAAG,GAAG,CAAC3B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEE,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMW,GAAG,GAAG5B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMY,GAAG,GAAG,CAAC7B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMc,GAAG,GAAG,CAAC9B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,CAAC;EAChE,MAAMkB,GAAG,GAAG/B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,CAAC;EAC/D,MAAMmB,GAAG,GAAG,CAAChC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,CAAC;EAChE,MAAMoB,GAAG,GAAGjC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;;EAE/D;EACA,MAAMyB,GAAG,GAAGjC,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGT,GAAG,GAAGU,GAAG;;EAEzD;EACA,IAAIlF,IAAI,CAACgG,GAAG,CAACD,GAAG,CAAC,GAAG,IAAI,EAAE;IACxB;IACA,OAAO1G,OAAO,CAAC,CAAC;EAClB;EAEA,MAAM4G,MAAM,GAAG,GAAG,GAAGF,GAAG;;EAExB;EACA,OAAO,CACLhB,GAAG,GAAGkB,MAAM,EACZd,GAAG,GAAGc,MAAM,EACZV,GAAG,GAAGU,MAAM,EACZN,GAAG,GAAGM,MAAM,EACZjB,GAAG,GAAGiB,MAAM,EACZb,GAAG,GAAGa,MAAM,EACZT,GAAG,GAAGS,MAAM,EACZL,GAAG,GAAGK,MAAM,EACZhB,GAAG,GAAGgB,MAAM,EACZZ,GAAG,GAAGY,MAAM,EACZR,GAAG,GAAGQ,MAAM,EACZJ,GAAG,GAAGI,MAAM,EACZf,GAAG,GAAGe,MAAM,EACZX,GAAG,GAAGW,MAAM,EACZP,GAAG,GAAGO,MAAM,EACZH,GAAG,GAAGG,MAAM,CACb;AACH,CAAC;AAAC3G,OAAA,CAAAiF,OAAA,GAAAA,OAAA;AAEF,MAAM2B,MAAM,GAAGA,CAAC/G,CAAO,EAAE4B,CAAO,KAAW;EACzC,SAAS;;EACT,OAAO,CAAC5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAMoF,QAAQ,GAAGA,CAAChH,CAAO,EAAE4B,CAAO,KAAW;EAC3C,SAAS;;EACT,OAAO,CACL5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAC1B;AACH,CAAC;AAED,MAAMqF,MAAM,GAAGA,CAACC,MAAY,EAAEC,SAAe,EAAEC,KAAW,KAAc;EACtE,SAAS;;EACT,MAAMC,CAAC,GAAG3G,YAAY,CAACqG,MAAM,CAACI,SAAS,EAAED,MAAM,CAAC,CAAC;EACjD,MAAMI,CAAC,GAAG5G,YAAY,CAAC0G,KAAK,CAAC;EAC7B,MAAMhG,CAAC,GAAGV,YAAY,CAACsG,QAAQ,CAACK,CAAC,EAAEC,CAAC,CAAC,CAAC;EACtC,MAAMC,EAAE,GAAGP,QAAQ,CAAC5F,CAAC,EAAEiG,CAAC,CAAC;;EAEzB;EACA,MAAM9F,CAAU,GAAG,CACjBH,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;EAED,OAAO9B,OAAO,CAAC7D,CAAC,CAAC;AACnB,CAAC;AAED,MAAMiG,iBAAiB,GAAGA,CACxBC,IAAY,EACZC,GAAW,EACXvF,KAAa,KACD;EACZ,SAAS;;EACT,MAAMwF,IAAI,GAAG,CAAC,IAAID,GAAG,GAAGD,IAAI,CAAC;EAC7B,MAAMG,SAAS,GAAGzF,KAAK,GAAG,CAAC;EAC3B,MAAM0F,GAAG,GAAGhH,IAAI,CAAC8B,GAAG,CAACiF,SAAS,CAAC,GAAG/G,IAAI,CAAC6B,GAAG,CAACkF,SAAS,CAAC;EACrD,OAAO,CACLC,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACDA,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAACH,GAAG,GAAGD,IAAI,IAAIE,IAAI,EACnB,CAAC,GAAGD,GAAG,GAAGD,IAAI,GAAGE,IAAI,EACrB,CAAC,EACD,CAAC,EACD,CAAC,CAAC,EACF,CAAC,CACF;AACH,CAAC;AAWM,MAAMG,WAAW,GAAGA,CACzBC,IAAU,EACVC,MAAc,EACdC,GAAiB,KACL;EACZ,SAAS;;EACT,MAAMC,MAAM,GAAGjB,MAAM,CAACgB,GAAG,CAACE,GAAG,EAAEF,GAAG,CAACG,GAAG,EAAEH,GAAG,CAACI,EAAE,CAAC;EAC/C,MAAM5H,CAAC,GAAG+G,iBAAiB,CAACS,GAAG,CAACR,IAAI,EAAEQ,GAAG,CAACP,GAAG,EAAEO,GAAG,CAAC9F,KAAK,CAAC;EACzD,MAAMmG,MAAY,GAAG,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAC1E,MAAMQ,SAAe,GAAG,CACtB,CAACR,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvB,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvBC,MAAM,CACP;EACD,MAAMQ,QAAQ,GAAG7G,SAAS,CACxBvB,SAAS,CAACkI,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAC,EAC1CzF,KAAK,CAAC0F,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAChD,CAAC;EACD,OAAO5G,SAAS,CACdA,SAAS,CAAC6G,QAAQ,EAAE/H,CAAC,CAAC,EACtBkB,SAAS,CAACuG,MAAM,EAAE9C,OAAO,CAACoD,QAAQ,CAAC,CACrC,CAAC;AACH,CAAC;AAACrI,OAAA,CAAA2H,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["exhaustiveCheck","a","Error","Matrix4","exports","translate","x","y","z","perspective","p","normalizeVec","vec","length","Math","sqrt","rotatedUnitSinCos","axisVec","sinAngle","cosAngle","c","s","t","matrixVecMul4","m","v","mapPoint3d","r","multiply4","b","result","Array","fill","i","j","skewY","angle","tan","skewX","toMatrix3","rotate","axis","value","sin","cos","pivot","scale","sx","sy","sz","m4","rotateAxis","rotateZ","rotateX","rotateY","processTransform3d","transforms","reduce","acc","val","key","Object","keys","transform","convertToColumnMajor","rowMajorMatrix","colMajorMatrix","size","row","col","convertToColumnMajor3","convertToAffineMatrix","d","tx","ty","det3x3","a00","a01","a02","a10","a11","a12","a20","a21","a22","invert4","a03","a13","a23","a30","a31","a32","a33","b00","b01","b02","b03","b10","b11","b12","b13","b20","b21","b22","b23","b30","b31","b32","b33","det","abs","invDet","vecSub","vecCross","lookat","eyeVec","centerVec","upVec","f","u","uf","perspectiveMatrix","near","far","dInv","halfAngle","cot","setupCamera","area","zscale","cam","camera","eye","coa","up","center","viewScale","viewport"],"sources":["Matrix4.ts"],"sourcesContent":["type Point = { x: number; y: number };\ntype Vec2 = readonly [number, number];\nexport type Vec3 = readonly [number, number, number];\nexport type Vec4 = readonly [number, number, number, number];\n\nexport type Matrix3 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\nexport type Matrix4 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\ntype Transform3dName =\n | \"translateX\"\n | \"translateY\"\n | \"translateZ\"\n | \"translate\"\n | \"scale\"\n | \"scaleX\"\n | \"scaleY\"\n | \"skewX\"\n | \"skewY\"\n | \"rotateZ\"\n | \"rotate\"\n | \"perspective\"\n | \"rotateX\"\n | \"rotateY\"\n | \"matrix\";\n\ntype Transformations = {\n [Name in Transform3dName]: Name extends \"matrix\"\n ? Matrix4\n : Name extends \"translate\"\n ? Vec3 | Vec2\n : number;\n};\n\ntype Transform3d =\n | Pick<Transformations, \"translateX\">\n | Pick<Transformations, \"translateY\">\n | Pick<Transformations, \"translateZ\">\n | Pick<Transformations, \"translate\">\n | Pick<Transformations, \"scale\">\n | Pick<Transformations, \"scaleX\">\n | Pick<Transformations, \"scaleY\">\n | Pick<Transformations, \"skewX\">\n | Pick<Transformations, \"skewY\">\n | Pick<Transformations, \"perspective\">\n | Pick<Transformations, \"rotateX\">\n | Pick<Transformations, \"rotateY\">\n | Pick<Transformations, \"rotateZ\">\n | Pick<Transformations, \"rotate\">\n | Pick<Transformations, \"matrix\">;\n\nexport type Transforms3d = Transform3d[];\n\nconst exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n/**\n * @worklet\n */\nexport const Matrix4 = (): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const translate = (x: number, y: number, z = 0): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const perspective = (p: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1 / p, 1];\n};\n\nconst normalizeVec = (vec: Vec3): Vec3 => {\n \"worklet\";\n const [x, y, z] = vec;\n const length = Math.sqrt(x * x + y * y + z * z);\n // Check for zero length to avoid division by zero\n if (length === 0) {\n return [0, 0, 0];\n }\n return [x / length, y / length, z / length];\n};\n\nconst rotatedUnitSinCos = (\n axisVec: Vec3,\n sinAngle: number,\n cosAngle: number\n): Matrix4 => {\n \"worklet\";\n const x = axisVec[0];\n const y = axisVec[1];\n const z = axisVec[2];\n const c = cosAngle;\n const s = sinAngle;\n const t = 1 - c;\n return [\n t * x * x + c,\n t * x * y - s * z,\n t * x * z + s * y,\n 0,\n t * x * y + s * z,\n t * y * y + c,\n t * y * z - s * x,\n 0,\n t * x * z - s * y,\n t * y * z + s * x,\n t * z * z + c,\n 0,\n 0,\n 0,\n 0,\n 1,\n ];\n};\n\n/**\n * @worklet\n */\nexport const matrixVecMul4 = (m: Matrix4, v: Vec4): Vec4 => {\n \"worklet\";\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3],\n m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3],\n m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3],\n m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3],\n ];\n};\n\n/**\n * @worklet\n */\nexport const mapPoint3d = (m: Matrix4, v: Vec3) => {\n \"worklet\";\n const r = matrixVecMul4(m, [...v, 1]);\n return [r[0] / r[3], r[1] / r[3], r[2] / r[3]] as const;\n};\n\n/**\n * @worklet\n */\nexport const multiply4 = (a: Matrix4, b: Matrix4): Matrix4 => {\n \"worklet\";\n const result = new Array(16).fill(0);\n for (let i = 0; i < 4; i++) {\n for (let j = 0; j < 4; j++) {\n result[i * 4 + j] =\n a[i * 4] * b[j] +\n a[i * 4 + 1] * b[j + 4] +\n a[i * 4 + 2] * b[j + 8] +\n a[i * 4 + 3] * b[j + 12];\n }\n }\n return result as unknown as Matrix4;\n};\n\nconst skewY = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, Math.tan(angle), 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\nconst skewX = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, Math.tan(angle), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const toMatrix3 = (m: Matrix4) => {\n \"worklet\";\n return [m[0], m[1], m[3], m[4], m[5], m[7], m[12], m[13], m[15]];\n};\n\nconst rotate = (axis: Vec3, value: number) => {\n \"worklet\";\n return rotatedUnitSinCos(\n normalizeVec(axis),\n Math.sin(value),\n Math.cos(value)\n );\n};\n\n/**\n * @worklet\n */\nexport const pivot = (m: Matrix4, p: Point) => {\n \"worklet\";\n return multiply4(translate(p.x, p.y), multiply4(m, translate(-p.x, -p.y)));\n};\n\n/**\n * @worklet\n */\nexport const scale = (sx: number, sy: number, sz = 1, p?: Point): Matrix4 => {\n \"worklet\";\n const m4: Matrix4 = [sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1];\n if (p) {\n return pivot(m4, p);\n }\n return m4;\n};\n\nconst rotateAxis = (axis: Vec3, angle: number, p?: Point) => {\n \"worklet\";\n const result = rotate(axis, angle);\n if (p) {\n return pivot(result, p);\n }\n return result;\n};\n\n/**\n * @worklet\n */\nexport const rotateZ = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 0, 1], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateX = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([1, 0, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateY = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 1, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const processTransform3d = (transforms: Transforms3d) => {\n \"worklet\";\n return transforms.reduce((acc, val) => {\n const key = Object.keys(val)[0] as Transform3dName;\n const transform = val as Pick<Transformations, typeof key>;\n if (key === \"translateX\") {\n const value = transform[key];\n return multiply4(acc, translate(value, 0, 0));\n }\n if (key === \"translate\") {\n const [x, y, z = 0] = transform[key];\n return multiply4(acc, translate(x, y, z));\n }\n if (key === \"translateY\") {\n const value = transform[key];\n return multiply4(acc, translate(0, value, 0));\n }\n if (key === \"translateZ\") {\n const value = transform[key];\n return multiply4(acc, translate(0, 0, value));\n }\n if (key === \"scale\") {\n const value = transform[key];\n return multiply4(acc, scale(value, value, 1));\n }\n if (key === \"scaleX\") {\n const value = transform[key];\n return multiply4(acc, scale(value, 1, 1));\n }\n if (key === \"scaleY\") {\n const value = transform[key];\n return multiply4(acc, scale(1, value, 1));\n }\n if (key === \"skewX\") {\n const value = transform[key];\n return multiply4(acc, skewX(value));\n }\n if (key === \"skewY\") {\n const value = transform[key];\n return multiply4(acc, skewY(value));\n }\n if (key === \"rotateX\") {\n const value = transform[key];\n return multiply4(acc, rotate([1, 0, 0], value));\n }\n if (key === \"rotateY\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 1, 0], value));\n }\n if (key === \"perspective\") {\n const value = transform[key];\n return multiply4(acc, perspective(value));\n }\n if (key === \"rotate\" || key === \"rotateZ\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 0, 1], value));\n }\n if (key === \"matrix\") {\n const value = transform[key];\n return multiply4(acc, value);\n }\n return exhaustiveCheck(key);\n }, Matrix4());\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor = (rowMajorMatrix: Matrix4) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(16);\n const size = 4;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix4;\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor3 = (rowMajorMatrix: Matrix3 | number[]) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(9);\n const size = 3;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix3;\n};\n\n/**\n * @worklet\n */\nexport const convertToAffineMatrix = (m4: Matrix4) => {\n \"worklet\";\n // Extracting the relevant components from the 4x4 matrix\n const a = m4[0]; // Scale X\n const b = m4[1]; // Skew Y\n const c = m4[4]; // Skew X\n const d = m4[5]; // Scale Y\n const tx = m4[12]; // Translate X\n const ty = m4[13]; // Translate Y\n\n // Returning the 6-element affine transformation matrix\n return [a, b, c, d, tx, ty];\n};\n\n/**\n * Calculates the determinant of a 3x3 matrix\n * @worklet\n */\nconst det3x3 = (\n a00: number,\n a01: number,\n a02: number,\n a10: number,\n a11: number,\n a12: number,\n a20: number,\n a21: number,\n a22: number\n): number => {\n \"worklet\";\n return (\n a00 * (a11 * a22 - a12 * a21) +\n a01 * (a12 * a20 - a10 * a22) +\n a02 * (a10 * a21 - a11 * a20)\n );\n};\n\n/**\n * Inverts a 4x4 matrix\n * @worklet\n * @returns The inverted matrix, or the identity matrix if the input is not invertible\n */\nexport const invert4 = (m: Matrix4): Matrix4 => {\n \"worklet\";\n\n const a00 = m[0],\n a01 = m[1],\n a02 = m[2],\n a03 = m[3];\n const a10 = m[4],\n a11 = m[5],\n a12 = m[6],\n a13 = m[7];\n const a20 = m[8],\n a21 = m[9],\n a22 = m[10],\n a23 = m[11];\n const a30 = m[12],\n a31 = m[13],\n a32 = m[14],\n a33 = m[15];\n\n // Calculate cofactors\n const b00 = det3x3(a11, a12, a13, a21, a22, a23, a31, a32, a33);\n const b01 = -det3x3(a10, a12, a13, a20, a22, a23, a30, a32, a33);\n const b02 = det3x3(a10, a11, a13, a20, a21, a23, a30, a31, a33);\n const b03 = -det3x3(a10, a11, a12, a20, a21, a22, a30, a31, a32);\n\n const b10 = -det3x3(a01, a02, a03, a21, a22, a23, a31, a32, a33);\n const b11 = det3x3(a00, a02, a03, a20, a22, a23, a30, a32, a33);\n const b12 = -det3x3(a00, a01, a03, a20, a21, a23, a30, a31, a33);\n const b13 = det3x3(a00, a01, a02, a20, a21, a22, a30, a31, a32);\n\n const b20 = det3x3(a01, a02, a03, a11, a12, a13, a31, a32, a33);\n const b21 = -det3x3(a00, a02, a03, a10, a12, a13, a30, a32, a33);\n const b22 = det3x3(a00, a01, a03, a10, a11, a13, a30, a31, a33);\n const b23 = -det3x3(a00, a01, a02, a10, a11, a12, a30, a31, a32);\n\n const b30 = -det3x3(a01, a02, a03, a11, a12, a13, a21, a22, a23);\n const b31 = det3x3(a00, a02, a03, a10, a12, a13, a20, a22, a23);\n const b32 = -det3x3(a00, a01, a03, a10, a11, a13, a20, a21, a23);\n const b33 = det3x3(a00, a01, a02, a10, a11, a12, a20, a21, a22);\n\n // Calculate determinant\n const det = a00 * b00 + a01 * b01 + a02 * b02 + a03 * b03;\n\n // Check if matrix is invertible\n if (Math.abs(det) < 1e-8) {\n // Return identity matrix if not invertible\n return Matrix4();\n }\n\n const invDet = 1.0 / det;\n\n // Calculate inverse matrix\n return [\n b00 * invDet,\n b10 * invDet,\n b20 * invDet,\n b30 * invDet,\n b01 * invDet,\n b11 * invDet,\n b21 * invDet,\n b31 * invDet,\n b02 * invDet,\n b12 * invDet,\n b22 * invDet,\n b32 * invDet,\n b03 * invDet,\n b13 * invDet,\n b23 * invDet,\n b33 * invDet,\n ] as Matrix4;\n};\n\nconst vecSub = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];\n};\n\nconst vecCross = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [\n a[1] * b[2] - a[2] * b[1],\n a[2] * b[0] - a[0] * b[2],\n a[0] * b[1] - a[1] * b[0],\n ];\n};\n\nconst lookat = (eyeVec: Vec3, centerVec: Vec3, upVec: Vec3): Matrix4 => {\n \"worklet\";\n const f = normalizeVec(vecSub(centerVec, eyeVec));\n const u = normalizeVec(upVec);\n const s = normalizeVec(vecCross(f, u));\n const uf = vecCross(s, f);\n\n // Build the look-at matrix directly\n const m: Matrix4 = [\n s[0],\n uf[0],\n -f[0],\n eyeVec[0],\n s[1],\n uf[1],\n -f[1],\n eyeVec[1],\n s[2],\n uf[2],\n -f[2],\n eyeVec[2],\n 0,\n 0,\n 0,\n 1,\n ];\n\n return invert4(m);\n};\n\nconst perspectiveMatrix = (\n near: number,\n far: number,\n angle: number\n): Matrix4 => {\n \"worklet\";\n const dInv = 1 / (far - near);\n const halfAngle = angle / 2;\n const cot = Math.cos(halfAngle) / Math.sin(halfAngle);\n return [\n cot,\n 0,\n 0,\n 0,\n 0,\n cot,\n 0,\n 0,\n 0,\n 0,\n (far + near) * dInv,\n 2 * far * near * dInv,\n 0,\n 0,\n -1,\n 1,\n ];\n};\n\nexport interface CameraConfig {\n eye: Vec3;\n coa: Vec3;\n up: Vec3;\n near: number;\n far: number;\n angle: number;\n}\n\nexport const setupCamera = (\n area: Vec4,\n zscale: number,\n cam: CameraConfig\n): Matrix4 => {\n \"worklet\";\n const camera = lookat(cam.eye, cam.coa, cam.up);\n const p = perspectiveMatrix(cam.near, cam.far, cam.angle);\n const center: Vec3 = [(area[0] + area[2]) / 2, (area[1] + area[3]) / 2, 0];\n const viewScale: Vec3 = [\n (area[2] - area[0]) / 2,\n (area[3] - area[1]) / 2,\n zscale,\n ];\n const viewport = multiply4(\n translate(center[0], center[1], center[2]),\n scale(viewScale[0], viewScale[1], viewScale[2])\n );\n return multiply4(\n multiply4(viewport, p),\n multiply4(camera, invert4(viewport))\n );\n};\n"],"mappings":";;;;;;AAgFA,MAAMA,eAAe,GAAIC,CAAQ,IAAY;EAC3C,SAAS;;EACT,MAAM,IAAIC,KAAK,CAAC,6BAA6BD,CAAC,EAAE,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACO,MAAME,OAAO,GAAGA,CAAA,KAAe;EACpC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAGO,MAAME,SAAS,GAAGA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAC,GAAG,CAAC,KAAc;EACjE,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAGO,MAAMI,WAAW,GAAIC,CAAS,IAAc;EACjD,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAGA,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAACN,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAEF,MAAME,YAAY,GAAIC,GAAS,IAAW;EACxC,SAAS;;EACT,MAAM,CAACN,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGI,GAAG;EACrB,MAAMC,MAAM,GAAGC,IAAI,CAACC,IAAI,CAACT,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,CAAC;EAC/C;EACA,IAAIK,MAAM,KAAK,CAAC,EAAE;IAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAClB;EACA,OAAO,CAACP,CAAC,GAAGO,MAAM,EAAEN,CAAC,GAAGM,MAAM,EAAEL,CAAC,GAAGK,MAAM,CAAC;AAC7C,CAAC;AAED,MAAMG,iBAAiB,GAAGA,CACxBC,OAAa,EACbC,QAAgB,EAChBC,QAAgB,KACJ;EACZ,SAAS;;EACT,MAAMb,CAAC,GAAGW,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMV,CAAC,GAAGU,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMT,CAAC,GAAGS,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMG,CAAC,GAAGD,QAAQ;EAClB,MAAME,CAAC,GAAGH,QAAQ;EAClB,MAAMI,CAAC,GAAG,CAAC,GAAGF,CAAC;EACf,OAAO,CACLE,CAAC,GAAGhB,CAAC,GAAGA,CAAC,GAAGc,CAAC,EACbE,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjB,CAAC,EACDe,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGf,CAAC,GAAGA,CAAC,GAAGa,CAAC,EACbE,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjB,CAAC,EACDgB,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjBe,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjBgB,CAAC,GAAGd,CAAC,GAAGA,CAAC,GAAGY,CAAC,EACb,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,aAAa,GAAGA,CAACC,CAAU,EAAEC,CAAO,KAAW;EAC1D,SAAS;;EACT,OAAO,CACLD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACvDD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,CAC1D;AACH,CAAC;;AAED;AACA;AACA;AAFArB,OAAA,CAAAmB,aAAA,GAAAA,aAAA;AAGO,MAAMG,UAAU,GAAGA,CAACF,CAAU,EAAEC,CAAO,KAAK;EACjD,SAAS;;EACT,MAAME,CAAC,GAAGJ,aAAa,CAACC,CAAC,EAAE,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC,CAAC;EACrC,OAAO,CAACE,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA;AACA;AAFAvB,OAAA,CAAAsB,UAAA,GAAAA,UAAA;AAGO,MAAME,SAAS,GAAGA,CAAC3B,CAAU,EAAE4B,CAAU,KAAc;EAC5D,SAAS;;EACT,MAAMC,MAAM,GAAG,IAAIC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EACpC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1BJ,MAAM,CAACG,CAAC,GAAG,CAAC,GAAGC,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,EAAE,CAAC;IAC5B;EACF;EACA,OAAOJ,MAAM;AACf,CAAC;AAAC1B,OAAA,CAAAwB,SAAA,GAAAA,SAAA;AAEF,MAAMO,KAAK,GAAIC,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAME,KAAK,GAAIF,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;;AAED;AACA;AACA;AACO,MAAMG,SAAS,GAAIf,CAAU,IAAK;EACvC,SAAS;;EACT,OAAO,CAACA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAACpB,OAAA,CAAAmC,SAAA,GAAAA,SAAA;AAEF,MAAMC,MAAM,GAAGA,CAACC,IAAU,EAAEC,KAAa,KAAK;EAC5C,SAAS;;EACT,OAAO1B,iBAAiB,CACtBL,YAAY,CAAC8B,IAAI,CAAC,EAClB3B,IAAI,CAAC6B,GAAG,CAACD,KAAK,CAAC,EACf5B,IAAI,CAAC8B,GAAG,CAACF,KAAK,CAChB,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,KAAK,GAAGA,CAACrB,CAAU,EAAEd,CAAQ,KAAK;EAC7C,SAAS;;EACT,OAAOkB,SAAS,CAACvB,SAAS,CAACK,CAAC,CAACJ,CAAC,EAAEI,CAAC,CAACH,CAAC,CAAC,EAAEqB,SAAS,CAACJ,CAAC,EAAEnB,SAAS,CAAC,CAACK,CAAC,CAACJ,CAAC,EAAE,CAACI,CAAC,CAACH,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAyC,KAAA,GAAAA,KAAA;AAGO,MAAMC,KAAK,GAAGA,CAACC,EAAU,EAAEC,EAAU,EAAEC,EAAE,GAAG,CAAC,EAAEvC,CAAS,KAAc;EAC3E,SAAS;;EACT,MAAMwC,EAAW,GAAG,CAACH,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACvE,IAAIvC,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACK,EAAE,EAAExC,CAAC,CAAC;EACrB;EACA,OAAOwC,EAAE;AACX,CAAC;AAAC9C,OAAA,CAAA0C,KAAA,GAAAA,KAAA;AAEF,MAAMK,UAAU,GAAGA,CAACV,IAAU,EAAEL,KAAa,EAAE1B,CAAS,KAAK;EAC3D,SAAS;;EACT,MAAMoB,MAAM,GAAGU,MAAM,CAACC,IAAI,EAAEL,KAAK,CAAC;EAClC,IAAI1B,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACf,MAAM,EAAEpB,CAAC,CAAC;EACzB;EACA,OAAOoB,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACO,MAAMsB,OAAO,GAAGA,CAACV,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAgD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACX,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAiD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACZ,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAkD,OAAA,GAAAA,OAAA;AAGO,MAAMC,kBAAkB,GAAIC,UAAwB,IAAK;EAC9D,SAAS;;EACT,OAAOA,UAAU,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IACrC,MAAMC,GAAG,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAAC,CAAC,CAAoB;IAClD,MAAMI,SAAS,GAAGJ,GAAwC;IAC1D,IAAIC,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACqC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,WAAW,EAAE;MACvB,MAAM,CAACtD,CAAC,EAAEC,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC,GAAGuD,SAAS,CAACH,GAAG,CAAC;MACpC,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIoD,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAEqC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEqC,KAAK,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAEA,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAAC,CAAC,EAAEJ,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEpB,KAAK,CAACI,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEvB,KAAK,CAACO,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,aAAa,EAAE;MACzB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEjD,WAAW,CAACiC,KAAK,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,SAAS,EAAE;MACzC,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEhB,KAAK,CAAC;IAC9B;IACA,OAAO1C,eAAe,CAAC4D,GAAG,CAAC;EAC7B,CAAC,EAAEzD,OAAO,CAAC,CAAC,CAAC;AACf,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAmD,kBAAA,GAAAA,kBAAA;AAGO,MAAMS,oBAAoB,GAAIC,cAAuB,IAAK;EAC/D,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,EAAE,CAAC;EAC5C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAA4D,oBAAA,GAAAA,oBAAA;AAGO,MAAMM,qBAAqB,GAAIL,cAAkC,IAAK;EAC3E,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,CAAC,CAAC;EAC3C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAAkE,qBAAA,GAAAA,qBAAA;AAGO,MAAMC,qBAAqB,GAAIrB,EAAW,IAAK;EACpD,SAAS;;EACT;EACA,MAAMjD,CAAC,GAAGiD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMrB,CAAC,GAAGqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAM9B,CAAC,GAAG8B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMsB,CAAC,GAAGtB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMuB,EAAE,GAAGvB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACnB,MAAMwB,EAAE,GAAGxB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEnB;EACA,OAAO,CAACjD,CAAC,EAAE4B,CAAC,EAAET,CAAC,EAAEoD,CAAC,EAAEC,EAAE,EAAEC,EAAE,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AAHAtE,OAAA,CAAAmE,qBAAA,GAAAA,qBAAA;AAIA,MAAMI,MAAM,GAAGA,CACbC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,KACA;EACX,SAAS;;EACT,OACER,GAAG,IAAII,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC,GAC7BN,GAAG,IAAII,GAAG,GAAGC,GAAG,GAAGH,GAAG,GAAGK,GAAG,CAAC,GAC7BN,GAAG,IAAIC,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC;AAEjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAI7D,CAAU,IAAc;EAC9C,SAAS;;EAET,MAAMoD,GAAG,GAAGpD,CAAC,CAAC,CAAC,CAAC;IACdqD,GAAG,GAAGrD,CAAC,CAAC,CAAC,CAAC;IACVsD,GAAG,GAAGtD,CAAC,CAAC,CAAC,CAAC;IACV8D,GAAG,GAAG9D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAMuD,GAAG,GAAGvD,CAAC,CAAC,CAAC,CAAC;IACdwD,GAAG,GAAGxD,CAAC,CAAC,CAAC,CAAC;IACVyD,GAAG,GAAGzD,CAAC,CAAC,CAAC,CAAC;IACV+D,GAAG,GAAG/D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAM0D,GAAG,GAAG1D,CAAC,CAAC,CAAC,CAAC;IACd2D,GAAG,GAAG3D,CAAC,CAAC,CAAC,CAAC;IACV4D,GAAG,GAAG5D,CAAC,CAAC,EAAE,CAAC;IACXgE,GAAG,GAAGhE,CAAC,CAAC,EAAE,CAAC;EACb,MAAMiE,GAAG,GAAGjE,CAAC,CAAC,EAAE,CAAC;IACfkE,GAAG,GAAGlE,CAAC,CAAC,EAAE,CAAC;IACXmE,GAAG,GAAGnE,CAAC,CAAC,EAAE,CAAC;IACXoE,GAAG,GAAGpE,CAAC,CAAC,EAAE,CAAC;;EAEb;EACA,MAAMqE,GAAG,GAAGlB,MAAM,CAACK,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAME,GAAG,GAAG,CAACnB,MAAM,CAACI,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMG,GAAG,GAAGpB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMI,GAAG,GAAG,CAACrB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMM,GAAG,GAAG,CAACtB,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEH,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMM,GAAG,GAAGvB,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEJ,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMO,GAAG,GAAG,CAACxB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAChE,MAAMQ,GAAG,GAAGzB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAE/D,MAAMU,GAAG,GAAG1B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEG,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMU,GAAG,GAAG,CAAC3B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEE,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMW,GAAG,GAAG5B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMY,GAAG,GAAG,CAAC7B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMc,GAAG,GAAG,CAAC9B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,CAAC;EAChE,MAAMkB,GAAG,GAAG/B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,CAAC;EAC/D,MAAMmB,GAAG,GAAG,CAAChC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,CAAC;EAChE,MAAMoB,GAAG,GAAGjC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;;EAE/D;EACA,MAAMyB,GAAG,GAAGjC,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGT,GAAG,GAAGU,GAAG;;EAEzD;EACA,IAAIlF,IAAI,CAACgG,GAAG,CAACD,GAAG,CAAC,GAAG,IAAI,EAAE;IACxB;IACA,OAAO1G,OAAO,CAAC,CAAC;EAClB;EAEA,MAAM4G,MAAM,GAAG,GAAG,GAAGF,GAAG;;EAExB;EACA,OAAO,CACLhB,GAAG,GAAGkB,MAAM,EACZd,GAAG,GAAGc,MAAM,EACZV,GAAG,GAAGU,MAAM,EACZN,GAAG,GAAGM,MAAM,EACZjB,GAAG,GAAGiB,MAAM,EACZb,GAAG,GAAGa,MAAM,EACZT,GAAG,GAAGS,MAAM,EACZL,GAAG,GAAGK,MAAM,EACZhB,GAAG,GAAGgB,MAAM,EACZZ,GAAG,GAAGY,MAAM,EACZR,GAAG,GAAGQ,MAAM,EACZJ,GAAG,GAAGI,MAAM,EACZf,GAAG,GAAGe,MAAM,EACZX,GAAG,GAAGW,MAAM,EACZP,GAAG,GAAGO,MAAM,EACZH,GAAG,GAAGG,MAAM,CACb;AACH,CAAC;AAAC3G,OAAA,CAAAiF,OAAA,GAAAA,OAAA;AAEF,MAAM2B,MAAM,GAAGA,CAAC/G,CAAO,EAAE4B,CAAO,KAAW;EACzC,SAAS;;EACT,OAAO,CAAC5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAMoF,QAAQ,GAAGA,CAAChH,CAAO,EAAE4B,CAAO,KAAW;EAC3C,SAAS;;EACT,OAAO,CACL5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAC1B;AACH,CAAC;AAED,MAAMqF,MAAM,GAAGA,CAACC,MAAY,EAAEC,SAAe,EAAEC,KAAW,KAAc;EACtE,SAAS;;EACT,MAAMC,CAAC,GAAG3G,YAAY,CAACqG,MAAM,CAACI,SAAS,EAAED,MAAM,CAAC,CAAC;EACjD,MAAMI,CAAC,GAAG5G,YAAY,CAAC0G,KAAK,CAAC;EAC7B,MAAMhG,CAAC,GAAGV,YAAY,CAACsG,QAAQ,CAACK,CAAC,EAAEC,CAAC,CAAC,CAAC;EACtC,MAAMC,EAAE,GAAGP,QAAQ,CAAC5F,CAAC,EAAEiG,CAAC,CAAC;;EAEzB;EACA,MAAM9F,CAAU,GAAG,CACjBH,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;EAED,OAAO9B,OAAO,CAAC7D,CAAC,CAAC;AACnB,CAAC;AAED,MAAMiG,iBAAiB,GAAGA,CACxBC,IAAY,EACZC,GAAW,EACXvF,KAAa,KACD;EACZ,SAAS;;EACT,MAAMwF,IAAI,GAAG,CAAC,IAAID,GAAG,GAAGD,IAAI,CAAC;EAC7B,MAAMG,SAAS,GAAGzF,KAAK,GAAG,CAAC;EAC3B,MAAM0F,GAAG,GAAGhH,IAAI,CAAC8B,GAAG,CAACiF,SAAS,CAAC,GAAG/G,IAAI,CAAC6B,GAAG,CAACkF,SAAS,CAAC;EACrD,OAAO,CACLC,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACDA,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAACH,GAAG,GAAGD,IAAI,IAAIE,IAAI,EACnB,CAAC,GAAGD,GAAG,GAAGD,IAAI,GAAGE,IAAI,EACrB,CAAC,EACD,CAAC,EACD,CAAC,CAAC,EACF,CAAC,CACF;AACH,CAAC;AAWM,MAAMG,WAAW,GAAGA,CACzBC,IAAU,EACVC,MAAc,EACdC,GAAiB,KACL;EACZ,SAAS;;EACT,MAAMC,MAAM,GAAGjB,MAAM,CAACgB,GAAG,CAACE,GAAG,EAAEF,GAAG,CAACG,GAAG,EAAEH,GAAG,CAACI,EAAE,CAAC;EAC/C,MAAM5H,CAAC,GAAG+G,iBAAiB,CAACS,GAAG,CAACR,IAAI,EAAEQ,GAAG,CAACP,GAAG,EAAEO,GAAG,CAAC9F,KAAK,CAAC;EACzD,MAAMmG,MAAY,GAAG,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAC1E,MAAMQ,SAAe,GAAG,CACtB,CAACR,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvB,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvBC,MAAM,CACP;EACD,MAAMQ,QAAQ,GAAG7G,SAAS,CACxBvB,SAAS,CAACkI,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAC,EAC1CzF,KAAK,CAAC0F,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAChD,CAAC;EACD,OAAO5G,SAAS,CACdA,SAAS,CAAC6G,QAAQ,EAAE/H,CAAC,CAAC,EACtBkB,SAAS,CAACuG,MAAM,EAAE9C,OAAO,CAACoD,QAAQ,CAAC,CACrC,CAAC;AACH,CAAC;AAACrI,OAAA,CAAA2H,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown,\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -35,9 +35,7 @@ const processUniforms = (source, uniforms, builder) => {
35
35
  const name = source.getUniformName(i);
36
36
  const value = uniforms[name];
37
37
  if (value === undefined) {
38
- throw new Error(
39
- // eslint-disable-next-line max-len
40
- `The runtime effect has the uniform value "${name}" declared, but it is missing from the uniforms property of the Runtime effect.`);
38
+ throw new Error(`The runtime effect has the uniform value "${name}" declared, but it is missing from the uniforms property of the Runtime effect.`);
41
39
  }
42
40
  if (builder === undefined) {
43
41
  processValue(result, value);
@@ -1 +1 @@
1
- {"version":3,"names":["isShader","obj","__typename__","exports","isVector","x","undefined","y","processValue","values","value","push","Array","isArray","forEach","v","Float32Array","processUniforms","source","uniforms","builder","result","uniformsCount","getUniformCount","i","name","getUniformName","Error","uniformValue","setUniform"],"sources":["Shader.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { Vector } from \"../Point\";\nimport type { SkRuntimeEffect, SkRuntimeShaderBuilder } from \"../RuntimeEffect\";\n\nexport const isShader = (obj: SkJSIInstance<string> | null): obj is SkShader =>\n obj !== null && obj.__typename__ === \"Shader\";\n\nexport type SkShader = SkJSIInstance<\"Shader\">;\n\nexport type Uniform =\n | number\n | Vector\n | Float32Array\n | readonly Uniform[]\n | Uniform[];\n\nexport interface Uniforms {\n [name: string]: Uniform;\n}\n\nconst isVector = (obj: unknown): obj is Vector => {\n \"worklet\";\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (obj as any).x !== undefined && (obj as any).y !== undefined;\n};\n\nfunction processValue(values: number[], value: Uniform) {\n \"worklet\";\n if (typeof value === \"number\") {\n values.push(value);\n } else if (Array.isArray(value)) {\n value.forEach((v) => processValue(values, v));\n } else if (isVector(value)) {\n values.push(value.x, value.y);\n } else if (value instanceof Float32Array) {\n values.push(...value);\n }\n}\n\nexport const processUniforms = (\n source: SkRuntimeEffect,\n uniforms: Uniforms,\n builder?: SkRuntimeShaderBuilder\n) => {\n \"worklet\";\n const result: number[] = [];\n const uniformsCount = source.getUniformCount();\n for (let i = 0; i < uniformsCount; i++) {\n const name = source.getUniformName(i);\n const value = uniforms[name];\n if (value === undefined) {\n throw new Error(\n // eslint-disable-next-line max-len\n `The runtime effect has the uniform value \"${name}\" declared, but it is missing from the uniforms property of the Runtime effect.`\n );\n }\n if (builder === undefined) {\n processValue(result, value);\n } else {\n const uniformValue: number[] = [];\n processValue(uniformValue, value);\n builder.setUniform(name, uniformValue);\n result.push(...uniformValue);\n }\n }\n return result;\n};\n"],"mappings":";;;;;;AAIO,MAAMA,QAAQ,GAAIC,GAAiC,IACxDA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,QAAQ;AAACC,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAehD,MAAMI,QAAQ,GAAIH,GAAY,IAAoB;EAChD,SAAS;;EACT;EACA;EACA,OAAQA,GAAG,CAASI,CAAC,KAAKC,SAAS,IAAKL,GAAG,CAASM,CAAC,KAAKD,SAAS;AACrE,CAAC;AAED,SAASE,YAAYA,CAACC,MAAgB,EAAEC,KAAc,EAAE;EACtD,SAAS;;EACT,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACpB,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC/BA,KAAK,CAACI,OAAO,CAAEC,CAAC,IAAKP,YAAY,CAACC,MAAM,EAAEM,CAAC,CAAC,CAAC;EAC/C,CAAC,MAAM,IAAIX,QAAQ,CAACM,KAAK,CAAC,EAAE;IAC1BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAACL,CAAC,EAAEK,KAAK,CAACH,CAAC,CAAC;EAC/B,CAAC,MAAM,IAAIG,KAAK,YAAYM,YAAY,EAAE;IACxCP,MAAM,CAACE,IAAI,CAAC,GAAGD,KAAK,CAAC;EACvB;AACF;AAEO,MAAMO,eAAe,GAAGA,CAC7BC,MAAuB,EACvBC,QAAkB,EAClBC,OAAgC,KAC7B;EACH,SAAS;;EACT,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,aAAa,GAAGJ,MAAM,CAACK,eAAe,CAAC,CAAC;EAC9C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,aAAa,EAAEE,CAAC,EAAE,EAAE;IACtC,MAAMC,IAAI,GAAGP,MAAM,CAACQ,cAAc,CAACF,CAAC,CAAC;IACrC,MAAMd,KAAK,GAAGS,QAAQ,CAACM,IAAI,CAAC;IAC5B,IAAIf,KAAK,KAAKJ,SAAS,EAAE;MACvB,MAAM,IAAIqB,KAAK;MACb;MACA,6CAA6CF,IAAI,iFACnD,CAAC;IACH;IACA,IAAIL,OAAO,KAAKd,SAAS,EAAE;MACzBE,YAAY,CAACa,MAAM,EAAEX,KAAK,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMkB,YAAsB,GAAG,EAAE;MACjCpB,YAAY,CAACoB,YAAY,EAAElB,KAAK,CAAC;MACjCU,OAAO,CAACS,UAAU,CAACJ,IAAI,EAAEG,YAAY,CAAC;MACtCP,MAAM,CAACV,IAAI,CAAC,GAAGiB,YAAY,CAAC;IAC9B;EACF;EACA,OAAOP,MAAM;AACf,CAAC;AAAClB,OAAA,CAAAc,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["isShader","obj","__typename__","exports","isVector","x","undefined","y","processValue","values","value","push","Array","isArray","forEach","v","Float32Array","processUniforms","source","uniforms","builder","result","uniformsCount","getUniformCount","i","name","getUniformName","Error","uniformValue","setUniform"],"sources":["Shader.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { Vector } from \"../Point\";\nimport type { SkRuntimeEffect, SkRuntimeShaderBuilder } from \"../RuntimeEffect\";\n\nexport const isShader = (obj: SkJSIInstance<string> | null): obj is SkShader =>\n obj !== null && obj.__typename__ === \"Shader\";\n\nexport type SkShader = SkJSIInstance<\"Shader\">;\n\nexport type Uniform =\n | number\n | Vector\n | Float32Array\n | readonly Uniform[]\n | Uniform[];\n\nexport interface Uniforms {\n [name: string]: Uniform;\n}\n\nconst isVector = (obj: unknown): obj is Vector => {\n \"worklet\";\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (obj as any).x !== undefined && (obj as any).y !== undefined;\n};\n\nfunction processValue(values: number[], value: Uniform) {\n \"worklet\";\n if (typeof value === \"number\") {\n values.push(value);\n } else if (Array.isArray(value)) {\n value.forEach((v) => processValue(values, v));\n } else if (isVector(value)) {\n values.push(value.x, value.y);\n } else if (value instanceof Float32Array) {\n values.push(...value);\n }\n}\n\nexport const processUniforms = (\n source: SkRuntimeEffect,\n uniforms: Uniforms,\n builder?: SkRuntimeShaderBuilder\n) => {\n \"worklet\";\n const result: number[] = [];\n const uniformsCount = source.getUniformCount();\n for (let i = 0; i < uniformsCount; i++) {\n const name = source.getUniformName(i);\n const value = uniforms[name];\n if (value === undefined) {\n throw new Error(\n `The runtime effect has the uniform value \"${name}\" declared, but it is missing from the uniforms property of the Runtime effect.`\n );\n }\n if (builder === undefined) {\n processValue(result, value);\n } else {\n const uniformValue: number[] = [];\n processValue(uniformValue, value);\n builder.setUniform(name, uniformValue);\n result.push(...uniformValue);\n }\n }\n return result;\n};\n"],"mappings":";;;;;;AAIO,MAAMA,QAAQ,GAAIC,GAAiC,IACxDA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,QAAQ;AAACC,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAehD,MAAMI,QAAQ,GAAIH,GAAY,IAAoB;EAChD,SAAS;;EACT;EACA;EACA,OAAQA,GAAG,CAASI,CAAC,KAAKC,SAAS,IAAKL,GAAG,CAASM,CAAC,KAAKD,SAAS;AACrE,CAAC;AAED,SAASE,YAAYA,CAACC,MAAgB,EAAEC,KAAc,EAAE;EACtD,SAAS;;EACT,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACpB,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC/BA,KAAK,CAACI,OAAO,CAAEC,CAAC,IAAKP,YAAY,CAACC,MAAM,EAAEM,CAAC,CAAC,CAAC;EAC/C,CAAC,MAAM,IAAIX,QAAQ,CAACM,KAAK,CAAC,EAAE;IAC1BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAACL,CAAC,EAAEK,KAAK,CAACH,CAAC,CAAC;EAC/B,CAAC,MAAM,IAAIG,KAAK,YAAYM,YAAY,EAAE;IACxCP,MAAM,CAACE,IAAI,CAAC,GAAGD,KAAK,CAAC;EACvB;AACF;AAEO,MAAMO,eAAe,GAAGA,CAC7BC,MAAuB,EACvBC,QAAkB,EAClBC,OAAgC,KAC7B;EACH,SAAS;;EACT,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,aAAa,GAAGJ,MAAM,CAACK,eAAe,CAAC,CAAC;EAC9C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,aAAa,EAAEE,CAAC,EAAE,EAAE;IACtC,MAAMC,IAAI,GAAGP,MAAM,CAACQ,cAAc,CAACF,CAAC,CAAC;IACrC,MAAMd,KAAK,GAAGS,QAAQ,CAACM,IAAI,CAAC;IAC5B,IAAIf,KAAK,KAAKJ,SAAS,EAAE;MACvB,MAAM,IAAIqB,KAAK,CACb,6CAA6CF,IAAI,iFACnD,CAAC;IACH;IACA,IAAIL,OAAO,KAAKd,SAAS,EAAE;MACzBE,YAAY,CAACa,MAAM,EAAEX,KAAK,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMkB,YAAsB,GAAG,EAAE;MACjCpB,YAAY,CAACoB,YAAY,EAAElB,KAAK,CAAC;MACjCU,OAAO,CAACS,UAAU,CAACJ,IAAI,EAAEG,YAAY,CAAC;MACtCP,MAAM,CAACV,IAAI,CAAC,GAAGiB,YAAY,CAAC;IAC9B;EACF;EACA,OAAOP,MAAM;AACf,CAAC;AAAClB,OAAA,CAAAc,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CanvasKitWebGLBufferImpl","CanvasKitWebGLBuffer","constructor","surface","source","toImage","image","makeImageFromTextureSource","Error","updateTextureFromSource","exports"],"sources":["CanvasKitWebGLBufferImpl.ts"],"sourcesContent":["import type { Surface, TextureSource, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer } from \"../types\";\n\nexport class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {\n public image: Image | null = null;\n\n constructor(public surface: Surface, private source: TextureSource) {\n super();\n }\n\n toImage() {\n if (this.image === null) {\n this.image = this.surface.makeImageFromTextureSource(this.source);\n }\n if (this.image === null) {\n throw new Error(\"Failed to create image from texture source\");\n }\n this.surface.updateTextureFromSource(this.image, this.source);\n return this.image;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,SAAAC,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEzC,MAAMgB,wBAAwB,SAASC,2BAAoB,CAAC;EAGjEC,WAAWA,CAAQC,OAAgB,EAAUC,MAAqB,EAAE;IAClE,KAAK,CAAC,CAAC;IAAC,KADSD,OAAgB,GAAhBA,OAAgB;IAAA,KAAUC,MAAqB,GAArBA,MAAqB;IAAAvB,eAAA,gBAFrC,IAAI;EAIjC;EAEAwB,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACC,KAAK,KAAK,IAAI,EAAE;MACvB,IAAI,CAACA,KAAK,GAAG,IAAI,CAACH,OAAO,CAACI,0BAA0B,CAAC,IAAI,CAACH,MAAM,CAAC;IACnE;IACA,IAAI,IAAI,CAACE,KAAK,KAAK,IAAI,EAAE;MACvB,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IACA,IAAI,CAACL,OAAO,CAACM,uBAAuB,CAAC,IAAI,CAACH,KAAK,EAAE,IAAI,CAACF,MAAM,CAAC;IAC7D,OAAO,IAAI,CAACE,KAAK;EACnB;AACF;AAACI,OAAA,CAAAV,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CanvasKitWebGLBufferImpl","CanvasKitWebGLBuffer","constructor","surface","source","toImage","image","makeImageFromTextureSource","Error","updateTextureFromSource","exports"],"sources":["CanvasKitWebGLBufferImpl.ts"],"sourcesContent":["import type { Surface, TextureSource, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer } from \"../types\";\n\nexport class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {\n public image: Image | null = null;\n\n constructor(\n public surface: Surface,\n private source: TextureSource\n ) {\n super();\n }\n\n toImage() {\n if (this.image === null) {\n this.image = this.surface.makeImageFromTextureSource(this.source);\n }\n if (this.image === null) {\n throw new Error(\"Failed to create image from texture source\");\n }\n this.surface.updateTextureFromSource(this.image, this.source);\n return this.image;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,SAAAC,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEzC,MAAMgB,wBAAwB,SAASC,2BAAoB,CAAC;EAGjEC,WAAWA,CACFC,OAAgB,EACfC,MAAqB,EAC7B;IACA,KAAK,CAAC,CAAC;IAAC,KAHDD,OAAgB,GAAhBA,OAAgB;IAAA,KACfC,MAAqB,GAArBA,MAAqB;IAAAvB,eAAA,gBAJF,IAAI;EAOjC;EAEAwB,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACC,KAAK,KAAK,IAAI,EAAE;MACvB,IAAI,CAACA,KAAK,GAAG,IAAI,CAACH,OAAO,CAACI,0BAA0B,CAAC,IAAI,CAACH,MAAM,CAAC;IACnE;IACA,IAAI,IAAI,CAACE,KAAK,KAAK,IAAI,EAAE;MACvB,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IACA,IAAI,CAACL,OAAO,CAACM,uBAAuB,CAAC,IAAI,CAACH,KAAK,EAAE,IAAI,CAACF,MAAM,CAAC;IAC7D,OAAO,IAAI,CAACE,KAAK;EACnB;AACF;AAACI,OAAA,CAAAV,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -9,7 +9,8 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
9
9
  readonly __typename__: N;
10
10
  ref: T;
11
11
  constructor(CanvasKit: CanvasKit, ref: T, typename: N);
12
- abstract dispose(): void;
12
+ dispose(): void;
13
+ [Symbol.dispose](): void;
13
14
  }
14
15
  export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
15
16
  static fromValue<T>(value: SkJSIInstance<string>): T;
@@ -29,6 +29,14 @@ class BaseHostObject extends Host {
29
29
  this.ref = ref;
30
30
  this.__typename__ = typename;
31
31
  }
32
+ dispose() {
33
+ this[Symbol.dispose]();
34
+ }
35
+ [Symbol.dispose]() {
36
+ if (this.ref !== null && typeof this.ref === "object" && "delete" in this.ref && typeof this.ref.delete === "function") {
37
+ this.ref.delete();
38
+ }
39
+ }
32
40
  }
33
41
  exports.BaseHostObject = BaseHostObject;
34
42
  class HostObject extends BaseHostObject {
@@ -1 +1 @@
1
- {"version":3,"names":["throwNotImplementedOnRNWeb","jest","fn","Error","exports","Host","constructor","CanvasKit","_defineProperty","BaseHostObject","ref","typename","__typename__","HostObject","fromValue","value","getEnum","name","v","e","result","Object","values","find","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport const throwNotImplementedOnRNWeb = <T>(): T => {\n if (typeof jest !== \"undefined\") {\n return jest.fn() as unknown as T;\n }\n throw new Error(\"Not implemented on React Native Web\");\n};\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n\n abstract dispose(): void;\n}\n\nexport abstract class HostObject<T, N extends string> extends BaseHostObject<\n T,\n N\n> {\n static fromValue<T>(value: SkJSIInstance<string>) {\n return (value as HostObject<T, string>).ref;\n }\n}\n\nexport const getEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number\n): EmbindEnumEntity => {\n const e = CanvasKit[name];\n if (typeof e !== \"function\") {\n throw new Error(`${name} is not an number`);\n }\n const result = Object.values(e).find(({ value }) => value === v);\n if (!result) {\n throw new Error(\n `Enum ${name} does not have value ${v} on React Native Web`\n );\n }\n return result;\n};\n\nexport const optEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number | undefined\n): EmbindEnumEntity | undefined => {\n return v === undefined ? undefined : getEnum(CanvasKit, name, v);\n};\n"],"mappings":";;;;;;;;;AAIO,MAAMA,0BAA0B,GAAGA,CAAA,KAAY;EACpD,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/B,OAAOA,IAAI,CAACC,EAAE,CAAC,CAAC;EAClB;EACA,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;AACxD,CAAC;AAACC,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA;AAEK,MAAeK,IAAI,CAAC;EAGzBC,WAAWA,CAACC,SAAoB,EAAE;IAAAC,eAAA;IAChC,IAAI,CAACD,SAAS,GAAGA,SAAS;EAC5B;AACF;AAACH,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEM,MAAeI,cAAc,SAC1BJ,IAAI,CAEd;EAIEC,WAAWA,CAACC,SAAoB,EAAEG,GAAM,EAAEC,QAAW,EAAE;IACrD,KAAK,CAACJ,SAAS,CAAC;IAACC,eAAA;IAAAA,eAAA;IACjB,IAAI,CAACE,GAAG,GAAGA,GAAG;IACd,IAAI,CAACE,YAAY,GAAGD,QAAQ;EAC9B;AAGF;AAACP,OAAA,CAAAK,cAAA,GAAAA,cAAA;AAEM,MAAeI,UAAU,SAA8BJ,cAAc,CAG1E;EACA,OAAOK,SAASA,CAAIC,KAA4B,EAAE;IAChD,OAAQA,KAAK,CAA2BL,GAAG;EAC7C;AACF;AAACN,OAAA,CAAAS,UAAA,GAAAA,UAAA;AAEM,MAAMG,OAAO,GAAGA,CACrBT,SAAoB,EACpBU,IAAqB,EACrBC,CAAS,KACY;EACrB,MAAMC,CAAC,GAAGZ,SAAS,CAACU,IAAI,CAAC;EACzB,IAAI,OAAOE,CAAC,KAAK,UAAU,EAAE;IAC3B,MAAM,IAAIhB,KAAK,CAAC,GAAGc,IAAI,mBAAmB,CAAC;EAC7C;EACA,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC;IAAER;EAAM,CAAC,KAAKA,KAAK,KAAKG,CAAC,CAAC;EAChE,IAAI,CAACE,MAAM,EAAE;IACX,MAAM,IAAIjB,KAAK,CACb,QAAQc,IAAI,wBAAwBC,CAAC,sBACvC,CAAC;EACH;EACA,OAAOE,MAAM;AACf,CAAC;AAAChB,OAAA,CAAAY,OAAA,GAAAA,OAAA;AAEK,MAAMQ,OAAO,GAAGA,CACrBjB,SAAoB,EACpBU,IAAqB,EACrBC,CAAqB,KACY;EACjC,OAAOA,CAAC,KAAKO,SAAS,GAAGA,SAAS,GAAGT,OAAO,CAACT,SAAS,EAAEU,IAAI,EAAEC,CAAC,CAAC;AAClE,CAAC;AAACd,OAAA,CAAAoB,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["throwNotImplementedOnRNWeb","jest","fn","Error","exports","Host","constructor","CanvasKit","_defineProperty","BaseHostObject","ref","typename","__typename__","dispose","Symbol","delete","HostObject","fromValue","value","getEnum","name","v","e","result","Object","values","find","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport const throwNotImplementedOnRNWeb = <T>(): T => {\n if (typeof jest !== \"undefined\") {\n return jest.fn() as unknown as T;\n }\n throw new Error(\"Not implemented on React Native Web\");\n};\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n\n dispose() {\n this[Symbol.dispose]();\n }\n\n [Symbol.dispose](): void {\n if (\n this.ref !== null &&\n typeof this.ref === \"object\" &&\n \"delete\" in this.ref &&\n typeof this.ref.delete === \"function\"\n ) {\n this.ref.delete();\n }\n }\n}\n\nexport abstract class HostObject<T, N extends string> extends BaseHostObject<\n T,\n N\n> {\n static fromValue<T>(value: SkJSIInstance<string>) {\n return (value as HostObject<T, string>).ref;\n }\n}\n\nexport const getEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number\n): EmbindEnumEntity => {\n const e = CanvasKit[name];\n if (typeof e !== \"function\") {\n throw new Error(`${name} is not an number`);\n }\n const result = Object.values(e).find(({ value }) => value === v);\n if (!result) {\n throw new Error(\n `Enum ${name} does not have value ${v} on React Native Web`\n );\n }\n return result;\n};\n\nexport const optEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number | undefined\n): EmbindEnumEntity | undefined => {\n return v === undefined ? undefined : getEnum(CanvasKit, name, v);\n};\n"],"mappings":";;;;;;;;;AAIO,MAAMA,0BAA0B,GAAGA,CAAA,KAAY;EACpD,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/B,OAAOA,IAAI,CAACC,EAAE,CAAC,CAAC;EAClB;EACA,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;AACxD,CAAC;AAACC,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA;AAEK,MAAeK,IAAI,CAAC;EAGzBC,WAAWA,CAACC,SAAoB,EAAE;IAAAC,eAAA;IAChC,IAAI,CAACD,SAAS,GAAGA,SAAS;EAC5B;AACF;AAACH,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEM,MAAeI,cAAc,SAC1BJ,IAAI,CAEd;EAIEC,WAAWA,CAACC,SAAoB,EAAEG,GAAM,EAAEC,QAAW,EAAE;IACrD,KAAK,CAACJ,SAAS,CAAC;IAACC,eAAA;IAAAA,eAAA;IACjB,IAAI,CAACE,GAAG,GAAGA,GAAG;IACd,IAAI,CAACE,YAAY,GAAGD,QAAQ;EAC9B;EAEAE,OAAOA,CAAA,EAAG;IACR,IAAI,CAACC,MAAM,CAACD,OAAO,CAAC,CAAC,CAAC;EACxB;EAEA,CAACC,MAAM,CAACD,OAAO,IAAU;IACvB,IACE,IAAI,CAACH,GAAG,KAAK,IAAI,IACjB,OAAO,IAAI,CAACA,GAAG,KAAK,QAAQ,IAC5B,QAAQ,IAAI,IAAI,CAACA,GAAG,IACpB,OAAO,IAAI,CAACA,GAAG,CAACK,MAAM,KAAK,UAAU,EACrC;MACA,IAAI,CAACL,GAAG,CAACK,MAAM,CAAC,CAAC;IACnB;EACF;AACF;AAACX,OAAA,CAAAK,cAAA,GAAAA,cAAA;AAEM,MAAeO,UAAU,SAA8BP,cAAc,CAG1E;EACA,OAAOQ,SAASA,CAAIC,KAA4B,EAAE;IAChD,OAAQA,KAAK,CAA2BR,GAAG;EAC7C;AACF;AAACN,OAAA,CAAAY,UAAA,GAAAA,UAAA;AAEM,MAAMG,OAAO,GAAGA,CACrBZ,SAAoB,EACpBa,IAAqB,EACrBC,CAAS,KACY;EACrB,MAAMC,CAAC,GAAGf,SAAS,CAACa,IAAI,CAAC;EACzB,IAAI,OAAOE,CAAC,KAAK,UAAU,EAAE;IAC3B,MAAM,IAAInB,KAAK,CAAC,GAAGiB,IAAI,mBAAmB,CAAC;EAC7C;EACA,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC;IAAER;EAAM,CAAC,KAAKA,KAAK,KAAKG,CAAC,CAAC;EAChE,IAAI,CAACE,MAAM,EAAE;IACX,MAAM,IAAIpB,KAAK,CACb,QAAQiB,IAAI,wBAAwBC,CAAC,sBACvC,CAAC;EACH;EACA,OAAOE,MAAM;AACf,CAAC;AAACnB,OAAA,CAAAe,OAAA,GAAAA,OAAA;AAEK,MAAMQ,OAAO,GAAGA,CACrBpB,SAAoB,EACpBa,IAAqB,EACrBC,CAAqB,KACY;EACjC,OAAOA,CAAC,KAAKO,SAAS,GAAGA,SAAS,GAAGT,OAAO,CAACZ,SAAS,EAAEa,IAAI,EAAEC,CAAC,CAAC;AAClE,CAAC;AAACjB,OAAA,CAAAuB,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -8,5 +8,4 @@ export declare class JsiSkAnimatedImage extends HostObject<AnimatedImage, "Anima
8
8
  currentFrameDuration(): number;
9
9
  getFrameCount(): number;
10
10
  getCurrentFrame(): JsiSkImage | null;
11
- dispose: () => void;
12
11
  }
@@ -6,15 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.JsiSkAnimatedImage = void 0;
7
7
  var _Host = require("./Host");
8
8
  var _JsiSkImage = require("./JsiSkImage");
9
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
9
  class JsiSkAnimatedImage extends _Host.HostObject {
13
10
  constructor(CanvasKit, ref) {
14
11
  super(CanvasKit, ref, "AnimatedImage");
15
- _defineProperty(this, "dispose", () => {
16
- this.ref.delete();
17
- });
18
12
  }
19
13
  decodeNextFrame() {
20
14
  return this.ref.decodeNextFrame();
@@ -1 +1 @@
1
- {"version":3,"names":["_Host","require","_JsiSkImage","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","JsiSkAnimatedImage","HostObject","constructor","CanvasKit","ref","delete","decodeNextFrame","currentFrameDuration","getFrameCount","getCurrentFrame","image","makeImageAtCurrentFrame","JsiSkImage","exports"],"sources":["JsiSkAnimatedImage.ts"],"sourcesContent":["import type { AnimatedImage, CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkAnimatedImage } from \"../types/AnimatedImage\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\n\nexport class JsiSkAnimatedImage\n extends HostObject<AnimatedImage, \"AnimatedImage\">\n implements SkAnimatedImage\n{\n constructor(CanvasKit: CanvasKit, ref: AnimatedImage) {\n super(CanvasKit, ref, \"AnimatedImage\");\n }\n\n decodeNextFrame() {\n return this.ref.decodeNextFrame();\n }\n\n currentFrameDuration() {\n return this.ref.currentFrameDuration();\n }\n\n getFrameCount() {\n return this.ref.getFrameCount();\n }\n\n getCurrentFrame() {\n const image = this.ref.makeImageAtCurrentFrame();\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAA0C,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEnC,MAAMgB,kBAAkB,SACrBC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAkB,EAAE;IACpD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,eAAe,CAAC;IAACvB,eAAA,kBAuB/B,MAAM;MACd,IAAI,CAACuB,GAAG,CAACC,MAAM,CAAC,CAAC;IACnB,CAAC;EAxBD;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACF,GAAG,CAACE,eAAe,CAAC,CAAC;EACnC;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACH,GAAG,CAACG,oBAAoB,CAAC,CAAC;EACxC;EAEAC,aAAaA,CAAA,EAAG;IACd,OAAO,IAAI,CAACJ,GAAG,CAACI,aAAa,CAAC,CAAC;EACjC;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAMC,KAAK,GAAG,IAAI,CAACN,GAAG,CAACO,uBAAuB,CAAC,CAAC;IAChD,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,OAAO,IAAI;IACb;IACA,OAAO,IAAIE,sBAAU,CAAC,IAAI,CAACT,SAAS,EAAEO,KAAK,CAAC;EAC9C;AAKF;AAACG,OAAA,CAAAb,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Host","require","_JsiSkImage","JsiSkAnimatedImage","HostObject","constructor","CanvasKit","ref","decodeNextFrame","currentFrameDuration","getFrameCount","getCurrentFrame","image","makeImageAtCurrentFrame","JsiSkImage","exports"],"sources":["JsiSkAnimatedImage.ts"],"sourcesContent":["import type { AnimatedImage, CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkAnimatedImage } from \"../types/AnimatedImage\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\n\nexport class JsiSkAnimatedImage\n extends HostObject<AnimatedImage, \"AnimatedImage\">\n implements SkAnimatedImage\n{\n constructor(CanvasKit: CanvasKit, ref: AnimatedImage) {\n super(CanvasKit, ref, \"AnimatedImage\");\n }\n\n decodeNextFrame() {\n return this.ref.decodeNextFrame();\n }\n\n currentFrameDuration() {\n return this.ref.currentFrameDuration();\n }\n\n getFrameCount() {\n return this.ref.getFrameCount();\n }\n\n getCurrentFrame() {\n const image = this.ref.makeImageAtCurrentFrame();\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEO,MAAME,kBAAkB,SACrBC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAkB,EAAE;IACpD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,eAAe,CAAC;EACxC;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACD,GAAG,CAACC,eAAe,CAAC,CAAC;EACnC;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACF,GAAG,CAACE,oBAAoB,CAAC,CAAC;EACxC;EAEAC,aAAaA,CAAA,EAAG;IACd,OAAO,IAAI,CAACH,GAAG,CAACG,aAAa,CAAC,CAAC;EACjC;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAMC,KAAK,GAAG,IAAI,CAACL,GAAG,CAACM,uBAAuB,CAAC,CAAC;IAChD,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,OAAO,IAAI;IACb;IACA,OAAO,IAAIE,sBAAU,CAAC,IAAI,CAACR,SAAS,EAAEM,KAAK,CAAC;EAC9C;AACF;AAACG,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -3,7 +3,6 @@ import { type BlendMode, type ClipOp, type FilterMode, type MipmapMode, type Poi
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements SkCanvas {
5
5
  constructor(CanvasKit: CanvasKit, ref: Canvas);
6
- dispose: () => void;
7
6
  drawRect(rect: SkRect, paint: SkPaint): void;
8
7
  drawImage(image: SkImage, x: number, y: number, paint?: SkPaint): void;
9
8
  drawImageRect(img: SkImage, src: SkRect, dest: SkRect, paint: SkPaint, fastSample?: boolean): void;
@@ -19,15 +19,9 @@ var _JsiSkMatrix = require("./JsiSkMatrix");
19
19
  var _JsiSkImageFilter = require("./JsiSkImageFilter");
20
20
  var _JsiSkPoint = require("./JsiSkPoint");
21
21
  var _JsiSkRSXform = require("./JsiSkRSXform");
22
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
23
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
24
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
22
  class JsiSkCanvas extends _Host.HostObject {
26
23
  constructor(CanvasKit, ref) {
27
24
  super(CanvasKit, ref, "Canvas");
28
- _defineProperty(this, "dispose", () => {
29
- this.ref.delete();
30
- });
31
25
  }
32
26
  drawRect(rect, paint) {
33
27
  this.ref.drawRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), _JsiSkPaint.JsiSkPaint.fromValue(paint));