@shopify/react-native-skia 2.2.18 → 2.2.20

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 (436) hide show
  1. package/android/CMakeLists.txt +2 -0
  2. package/cpp/api/JsiSkCanvas.h +22 -0
  3. package/cpp/api/JsiSkDispatcher.cpp +9 -0
  4. package/cpp/api/JsiSkDispatcher.h +149 -0
  5. package/cpp/api/JsiSkImage.h +27 -9
  6. package/cpp/api/JsiSkPicture.h +22 -1
  7. package/cpp/api/JsiSkSurface.h +15 -10
  8. package/cpp/api/recorder/Drawings.h +64 -51
  9. package/cpp/api/recorder/JsiRecorder.h +3 -1
  10. package/cpp/api/recorder/RNRecorder.h +10 -4
  11. package/cpp/jsi/JsiHostObject.cpp +16 -0
  12. package/jestSetup.js +1 -1
  13. package/lib/commonjs/Platform/Platform.js.map +1 -1
  14. package/lib/commonjs/Platform/Platform.web.js +0 -1
  15. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  16. package/lib/commonjs/animation/functions/interpolate.js +0 -1
  17. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  19. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  20. package/lib/commonjs/external/reanimated/textures.js +31 -28
  21. package/lib/commonjs/external/reanimated/textures.js.map +1 -1
  22. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  23. package/lib/commonjs/renderer/Canvas.js +1 -3
  24. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  25. package/lib/commonjs/renderer/Offscreen.js +1 -7
  26. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  27. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  28. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  29. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  30. package/lib/commonjs/skia/core/Image.js.map +1 -1
  31. package/lib/commonjs/skia/core/SVG.web.js +9 -2
  32. package/lib/commonjs/skia/core/SVG.web.js.map +1 -1
  33. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
  34. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  35. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  36. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  37. package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
  38. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  39. package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  40. package/lib/commonjs/skia/web/Host.d.ts +2 -1
  41. package/lib/commonjs/skia/web/Host.js +8 -0
  42. package/lib/commonjs/skia/web/Host.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  44. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
  45. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
  47. package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
  48. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
  50. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  51. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
  52. package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
  53. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  54. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
  55. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
  56. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  57. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  58. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
  59. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  60. package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
  61. package/lib/commonjs/skia/web/JsiSkData.js +0 -6
  62. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  63. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  64. package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
  65. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  66. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  67. package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
  68. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
  69. package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
  70. package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
  71. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  72. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
  73. package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
  74. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  75. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
  76. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
  77. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  78. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
  79. package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
  80. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  81. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
  82. package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
  83. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  84. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  85. package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
  86. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  87. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  88. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
  89. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  90. package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
  91. package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
  92. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  93. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
  94. package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
  95. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  96. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
  97. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
  98. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  99. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  100. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
  101. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
  103. package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
  104. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  105. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
  106. package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
  107. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  108. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
  109. package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
  110. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  111. package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
  112. package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
  113. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  114. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  115. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
  116. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  117. package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
  118. package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
  119. package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
  120. package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
  121. package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
  122. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  123. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
  124. package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
  125. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  126. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
  127. package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
  128. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  129. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
  130. package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
  131. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  132. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  133. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  134. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  135. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
  136. package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
  137. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  138. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  139. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
  140. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  141. package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  142. package/lib/commonjs/skia/web/JsiVideo.js +4 -1
  143. package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
  144. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  145. package/lib/commonjs/sksg/Container.web.js.map +1 -1
  146. package/lib/commonjs/sksg/Elements.js.map +1 -1
  147. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  148. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  149. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js +4 -0
  150. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  151. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  152. package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
  153. package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
  154. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  155. package/lib/module/Platform/Platform.js.map +1 -1
  156. package/lib/module/Platform/Platform.web.js +0 -1
  157. package/lib/module/Platform/Platform.web.js.map +1 -1
  158. package/lib/module/animation/functions/interpolate.js +0 -1
  159. package/lib/module/animation/functions/interpolate.js.map +1 -1
  160. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  161. package/lib/module/dom/types/Drawings.js.map +1 -1
  162. package/lib/module/external/reanimated/textures.js +33 -30
  163. package/lib/module/external/reanimated/textures.js.map +1 -1
  164. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  165. package/lib/module/renderer/Canvas.js +1 -3
  166. package/lib/module/renderer/Canvas.js.map +1 -1
  167. package/lib/module/renderer/Offscreen.js +1 -8
  168. package/lib/module/renderer/Offscreen.js.map +1 -1
  169. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  170. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  171. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  172. package/lib/module/skia/core/Image.js.map +1 -1
  173. package/lib/module/skia/core/SVG.web.js +9 -2
  174. package/lib/module/skia/core/SVG.web.js.map +1 -1
  175. package/lib/module/skia/types/JsiInstance.d.ts +1 -1
  176. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  177. package/lib/module/skia/types/Matrix4.js.map +1 -1
  178. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  179. package/lib/module/skia/types/Shader/Shader.js +1 -3
  180. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  181. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  182. package/lib/module/skia/web/Host.d.ts +2 -1
  183. package/lib/module/skia/web/Host.js +8 -0
  184. package/lib/module/skia/web/Host.js.map +1 -1
  185. package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  186. package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
  187. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  188. package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
  189. package/lib/module/skia/web/JsiSkCanvas.js +0 -6
  190. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  191. package/lib/module/skia/web/JsiSkColor.js +0 -1
  192. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  193. package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
  194. package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
  195. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  196. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
  197. package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
  198. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  199. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  200. package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
  201. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  202. package/lib/module/skia/web/JsiSkData.d.ts +0 -1
  203. package/lib/module/skia/web/JsiSkData.js +0 -6
  204. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  205. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  206. package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
  207. package/lib/module/skia/web/JsiSkFont.js +0 -6
  208. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  209. package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
  210. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
  211. package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
  212. package/lib/module/skia/web/JsiSkImage.js +0 -6
  213. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  214. package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
  215. package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
  216. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  217. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
  218. package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
  219. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  220. package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
  221. package/lib/module/skia/web/JsiSkMatrix.js +0 -6
  222. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  223. package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
  224. package/lib/module/skia/web/JsiSkPaint.js +0 -6
  225. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  226. package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  227. package/lib/module/skia/web/JsiSkParagraph.js +0 -3
  228. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  229. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  230. package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
  231. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  232. package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
  233. package/lib/module/skia/web/JsiSkPath.js +0 -6
  234. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  235. package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
  236. package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
  237. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  238. package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
  239. package/lib/module/skia/web/JsiSkPicture.js +0 -6
  240. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  241. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  242. package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
  243. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  244. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
  245. package/lib/module/skia/web/JsiSkPoint.js +0 -6
  246. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  247. package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
  248. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  249. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  250. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
  251. package/lib/module/skia/web/JsiSkRSXform.js +0 -6
  252. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  253. package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
  254. package/lib/module/skia/web/JsiSkRect.js +0 -6
  255. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  256. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  257. package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
  258. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  259. package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
  260. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  261. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  262. package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
  263. package/lib/module/skia/web/JsiSkShader.js +0 -6
  264. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  265. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
  266. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  267. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  268. package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
  269. package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
  270. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  271. package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
  272. package/lib/module/skia/web/JsiSkTypeface.js +0 -6
  273. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  274. package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  275. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  276. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  277. package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
  278. package/lib/module/skia/web/JsiSkVertices.js +0 -6
  279. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  280. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  281. package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
  282. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  283. package/lib/module/skia/web/JsiVideo.d.ts +1 -0
  284. package/lib/module/skia/web/JsiVideo.js +4 -1
  285. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  286. package/lib/module/sksg/Container.native.js.map +1 -1
  287. package/lib/module/sksg/Container.web.js.map +1 -1
  288. package/lib/module/sksg/Elements.js.map +1 -1
  289. package/lib/module/sksg/Reconciler.js.map +1 -1
  290. package/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  291. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +5 -0
  292. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  293. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  294. package/lib/module/sksg/StaticContainer.js.map +1 -1
  295. package/lib/module/views/SkiaPictureView.web.js +3 -1
  296. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  297. package/lib/typescript/eslint.config.d.mts +2 -0
  298. package/lib/typescript/jest.config.d.ts +11 -2
  299. package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
  300. package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
  301. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  302. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  303. package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  304. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  305. package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  306. package/lib/typescript/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  307. package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
  308. package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
  309. package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  310. package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  311. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  312. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  313. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
  314. package/lib/typescript/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  315. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  316. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  317. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
  318. package/lib/typescript/src/skia/web/Host.d.ts +2 -1
  319. package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  320. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
  321. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
  322. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
  323. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  324. package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
  325. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
  326. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
  327. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
  328. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
  329. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
  330. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
  331. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
  332. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  333. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
  334. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
  335. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
  336. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  337. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
  338. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
  339. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
  340. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
  341. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  342. package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
  343. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
  344. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
  345. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
  346. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
  347. package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  348. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
  349. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
  350. package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
  351. package/lib/typescript/src/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  352. package/package.json +19 -12
  353. package/scripts/setup-canvaskit.js +15 -9
  354. package/src/Platform/Platform.ts +2 -2
  355. package/src/Platform/Platform.web.tsx +0 -1
  356. package/src/__tests__/setup.ts +1 -4
  357. package/src/animation/functions/interpolate.ts +0 -1
  358. package/src/dom/nodes/datatypes/Fitting.ts +1 -1
  359. package/src/dom/types/Drawings.ts +1 -1
  360. package/src/external/reanimated/textures.tsx +36 -27
  361. package/src/external/reanimated/useVideo.ts +1 -1
  362. package/src/renderer/Canvas.tsx +1 -2
  363. package/src/renderer/Offscreen.tsx +1 -7
  364. package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
  365. package/src/renderer/__tests__/Picture.spec.tsx +8 -5
  366. package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
  367. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
  368. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
  369. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
  370. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
  371. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
  372. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
  373. package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
  374. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
  375. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
  376. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
  377. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
  378. package/src/renderer/__tests__/e2e/Video.ts +0 -1
  379. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
  380. package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
  381. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
  382. package/src/renderer/__tests__/setup.tsx +0 -1
  383. package/src/renderer/processors/Animations/Animations.ts +4 -4
  384. package/src/skia/__tests__/Path.spec.ts +1 -3
  385. package/src/skia/core/Image.ts +1 -1
  386. package/src/skia/core/SVG.web.ts +12 -8
  387. package/src/skia/types/JsiInstance.ts +1 -1
  388. package/src/skia/types/Matrix4.ts +4 -4
  389. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
  390. package/src/skia/types/Shader/Shader.ts +0 -1
  391. package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
  392. package/src/skia/web/Host.ts +14 -1
  393. package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
  394. package/src/skia/web/JsiSkCanvas.ts +0 -4
  395. package/src/skia/web/JsiSkColor.ts +1 -1
  396. package/src/skia/web/JsiSkColorFilter.ts +0 -4
  397. package/src/skia/web/JsiSkContourMeasure.ts +0 -4
  398. package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
  399. package/src/skia/web/JsiSkData.ts +0 -4
  400. package/src/skia/web/JsiSkDataFactory.ts +1 -1
  401. package/src/skia/web/JsiSkFont.ts +0 -4
  402. package/src/skia/web/JsiSkFontMgr.ts +2 -1
  403. package/src/skia/web/JsiSkImage.ts +0 -4
  404. package/src/skia/web/JsiSkImageFilter.ts +0 -4
  405. package/src/skia/web/JsiSkMaskFilter.ts +0 -4
  406. package/src/skia/web/JsiSkMatrix.ts +2 -6
  407. package/src/skia/web/JsiSkPaint.ts +0 -4
  408. package/src/skia/web/JsiSkParagraph.ts +0 -4
  409. package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
  410. package/src/skia/web/JsiSkPath.ts +0 -4
  411. package/src/skia/web/JsiSkPathEffect.ts +0 -4
  412. package/src/skia/web/JsiSkPicture.ts +0 -4
  413. package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
  414. package/src/skia/web/JsiSkPoint.ts +0 -4
  415. package/src/skia/web/JsiSkRRect.ts +3 -3
  416. package/src/skia/web/JsiSkRSXform.ts +5 -3
  417. package/src/skia/web/JsiSkRect.ts +0 -4
  418. package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
  419. package/src/skia/web/JsiSkSVG.ts +2 -2
  420. package/src/skia/web/JsiSkShader.ts +0 -4
  421. package/src/skia/web/JsiSkSurface.ts +2 -2
  422. package/src/skia/web/JsiSkTextBlob.ts +0 -4
  423. package/src/skia/web/JsiSkTypeface.ts +0 -4
  424. package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
  425. package/src/skia/web/JsiSkVertices.ts +0 -4
  426. package/src/skia/web/JsiSkottieAnimation.ts +0 -3
  427. package/src/skia/web/JsiVideo.ts +5 -1
  428. package/src/sksg/Container.native.ts +4 -1
  429. package/src/sksg/Container.web.ts +4 -1
  430. package/src/sksg/Elements.tsx +0 -1
  431. package/src/sksg/Reconciler.ts +4 -1
  432. package/src/sksg/Recorder/ReanimatedRecorder.ts +4 -0
  433. package/src/sksg/Recorder/Visitor.ts +1 -1
  434. package/src/sksg/StaticContainer.ts +4 -1
  435. package/src/views/SkiaPictureView.web.tsx +12 -3
  436. package/cpp/api/JsiSkThreadSafeDeletion.h +0 -105
@@ -1,2 +1,11 @@
1
- declare const _exports: import("ts-jest/dist/types").InitialOptionsTsJest;
2
- export = _exports;
1
+ export let preset: string;
2
+ export let testEnvironment: string;
3
+ export let modulePathIgnorePatterns: string[];
4
+ export let transform: {
5
+ "^.+\\.(ts|tsx)$": (string | {
6
+ tsconfig: string;
7
+ })[];
8
+ };
9
+ export let globals: {};
10
+ export let globalSetup: string;
11
+ export let globalTeardown: string;
@@ -8,6 +8,8 @@ export class BaseHostObject extends Host {
8
8
  constructor(CanvasKit: any, ref: any, typename: any);
9
9
  ref: any;
10
10
  __typename__: any;
11
+ dispose(): void;
12
+ [Symbol.dispose](): void;
11
13
  }
12
14
  export class HostObject extends BaseHostObject {
13
15
  static fromValue(value: any): any;
@@ -1,7 +1,6 @@
1
1
  export const __esModule: boolean;
2
2
  export class JsiSkFontMgr extends _Host.HostObject {
3
3
  constructor(CanvasKit: any, ref: any);
4
- dispose(): void;
5
4
  countFamilies(): any;
6
5
  getFamilyName(index: any): any;
7
6
  matchFamilyStyle(_familyName: any, _fontStyle: any): jest.Mock<any, any, any>;
@@ -12,6 +12,5 @@ export class JsiSkParagraph extends _Host.HostObject {
12
12
  getRectsForPlaceholders(): any;
13
13
  getRectsForRange(start: any, end: any): any;
14
14
  getLineMetrics(): any;
15
- dispose(): void;
16
15
  }
17
16
  import _Host = require("./Host");
@@ -7,7 +7,6 @@ export class JsiSkParagraphBuilder extends _Host.HostObject {
7
7
  reset(): void;
8
8
  pushStyle(style: any, foregroundPaint: any, backgroundPaint: any): this;
9
9
  pop(): this;
10
- dispose(): void;
11
10
  makePaint(color: any): any;
12
11
  }
13
12
  import _Host = require("./Host");
@@ -5,6 +5,5 @@ export class JsiSkTypefaceFontProvider extends _Host.HostObject {
5
5
  countFamilies(): any;
6
6
  getFamilyName(index: any): any;
7
7
  registerFont(typeface: any, familyName: any): void;
8
- dispose(): void;
9
8
  }
10
9
  import _Host = require("./Host");
@@ -42,7 +42,6 @@ export class JsiSkottieAnimation extends _Host.HostObject {
42
42
  height: any;
43
43
  };
44
44
  version(): any;
45
- dispose(): void;
46
45
  }
47
46
  import _Host = require("./Host");
48
47
  import _JsiSkTypeface = require("./JsiSkTypeface");
@@ -19,5 +19,6 @@ export class JsiVideo {
19
19
  play(): void;
20
20
  setVolume(volume: any): void;
21
21
  dispose(): void;
22
+ [Symbol.dispose](): void;
22
23
  }
23
24
  import _CanvasKitWebGLBufferImpl = require("./CanvasKitWebGLBufferImpl");
@@ -1,4 +1,8 @@
1
1
  export const __esModule: boolean;
2
+ /**
3
+ * Currently the recorder only work if the GPU resources (e.g Images) are owned by the main thread.
4
+ * It will crash otherwise on Ganesh (iOS/Android).
5
+ */
2
6
  export class ReanimatedRecorder {
3
7
  constructor(Skia: any);
4
8
  recorder: any;
@@ -7,6 +7,8 @@ export class BaseHostObject extends Host {
7
7
  constructor(CanvasKit: any, ref: any, typename: any);
8
8
  ref: any;
9
9
  __typename__: any;
10
+ dispose(): void;
11
+ [Symbol.dispose](): void;
10
12
  }
11
13
  export class HostObject extends BaseHostObject {
12
14
  static fromValue(value: any): any;
@@ -1,6 +1,5 @@
1
1
  export class JsiSkFontMgr extends HostObject {
2
2
  constructor(CanvasKit: any, ref: any);
3
- dispose(): void;
4
3
  countFamilies(): any;
5
4
  getFamilyName(index: any): any;
6
5
  matchFamilyStyle(_familyName: any, _fontStyle: any): jest.Mock<any, any, any>;
@@ -11,6 +11,5 @@ export class JsiSkParagraph extends HostObject {
11
11
  getRectsForPlaceholders(): any;
12
12
  getRectsForRange(start: any, end: any): any;
13
13
  getLineMetrics(): any;
14
- dispose(): void;
15
14
  }
16
15
  import { HostObject } from "./Host";
@@ -6,7 +6,6 @@ export class JsiSkParagraphBuilder extends HostObject {
6
6
  reset(): void;
7
7
  pushStyle(style: any, foregroundPaint: any, backgroundPaint: any): this;
8
8
  pop(): this;
9
- dispose(): void;
10
9
  makePaint(color: any): any;
11
10
  }
12
11
  import { HostObject } from "./Host";
@@ -4,6 +4,5 @@ export class JsiSkTypefaceFontProvider extends HostObject {
4
4
  countFamilies(): any;
5
5
  getFamilyName(index: any): any;
6
6
  registerFont(typeface: any, familyName: any): void;
7
- dispose(): void;
8
7
  }
9
8
  import { HostObject } from "./Host";
@@ -41,7 +41,6 @@ export class JsiSkottieAnimation extends HostObject {
41
41
  height: any;
42
42
  };
43
43
  version(): any;
44
- dispose(): void;
45
44
  }
46
45
  import { HostObject } from "./Host";
47
46
  import { JsiSkTypeface } from "./JsiSkTypeface";
@@ -18,5 +18,6 @@ export class JsiVideo {
18
18
  play(): void;
19
19
  setVolume(volume: any): void;
20
20
  dispose(): void;
21
+ [Symbol.dispose](): void;
21
22
  }
22
23
  import { CanvasKitWebGLBufferImpl } from "./CanvasKitWebGLBufferImpl";
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Currently the recorder only work if the GPU resources (e.g Images) are owned by the main thread.
3
+ * It will crash otherwise on Ganesh (iOS/Android).
4
+ */
1
5
  export class ReanimatedRecorder {
2
6
  constructor(Skia: any);
3
7
  recorder: any;
@@ -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,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
  }
@@ -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;
@@ -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
  }
@@ -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;
@@ -3,5 +3,4 @@ import type { SkColorFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkColorFilter extends HostObject<ColorFilter, "ColorFilter"> implements SkColorFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: ColorFilter);
6
- dispose: () => void;
7
6
  }
@@ -9,5 +9,4 @@ export declare class JsiSkContourMeasure extends HostObject<ContourMeasure, "Con
9
9
  getSegment(startD: number, stopD: number, startWithMoveTo: boolean): JsiSkPath;
10
10
  isClosed(): boolean;
11
11
  length(): number;
12
- dispose: () => void;
13
12
  }
@@ -5,5 +5,4 @@ import { JsiSkContourMeasure } from "./JsiSkContourMeasure";
5
5
  export declare class JsiSkContourMeasureIter extends HostObject<ContourMeasureIter, "ContourMeasureIter"> implements SkContourMeasureIter {
6
6
  constructor(CanvasKit: CanvasKit, ref: ContourMeasureIter);
7
7
  next(): JsiSkContourMeasure | null;
8
- dispose: () => void;
9
8
  }
@@ -4,6 +4,5 @@ import { HostObject } from "./Host";
4
4
  type Data = ArrayBuffer;
5
5
  export declare class JsiSkData extends HostObject<Data, "Data"> implements SkData {
6
6
  constructor(CanvasKit: CanvasKit, ref: Data);
7
- dispose: () => void;
8
7
  }
9
8
  export {};
@@ -6,7 +6,6 @@ import { JsiSkTypeface } from "./JsiSkTypeface";
6
6
  export declare class JsiSkFont extends HostObject<Font, "Font"> implements SkFont {
7
7
  constructor(CanvasKit: CanvasKit, ref: Font);
8
8
  measureText(_text: string, _paint?: SkPaint | undefined): SkRect;
9
- dispose: () => void;
10
9
  getTextWidth(text: string, paint?: SkPaint | undefined): number;
11
10
  getMetrics(): {
12
11
  ascent: number;
@@ -12,7 +12,6 @@ export declare class JsiSkImage extends HostObject<Image, "Image"> implements Sk
12
12
  encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array<ArrayBufferLike>;
13
13
  encodeToBase64(fmt?: ImageFormat, quality?: number): string;
14
14
  readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo): Float32Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | null;
15
- dispose: () => void;
16
15
  makeNonTextureImage(): SkImage;
17
16
  getNativeTextureUnstable(): unknown;
18
17
  }
@@ -3,5 +3,4 @@ import type { SkImageFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkImageFilter extends HostObject<ImageFilter, "ImageFilter"> implements SkImageFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: ImageFilter);
6
- dispose: () => void;
7
6
  }
@@ -3,5 +3,4 @@ import type { SkMaskFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkMaskFilter extends HostObject<MaskFilter, "MaskFilter"> implements SkMaskFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: MaskFilter);
6
- dispose: () => void;
7
6
  }
@@ -5,7 +5,6 @@ export declare class JsiSkMatrix extends HostObject<Matrix3x3, "Matrix"> impleme
5
5
  constructor(CanvasKit: CanvasKit, ref: Matrix3x3);
6
6
  private preMultiply;
7
7
  private postMultiply;
8
- dispose: () => void;
9
8
  concat(matrix: InputMatrix): this;
10
9
  translate(x: number, y: number): this;
11
10
  postTranslate(x: number, y: number): this;
@@ -3,7 +3,6 @@ import type { StrokeJoin, BlendMode, SkColor, SkColorFilter, SkImageFilter, SkPa
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkPaint extends HostObject<Paint, "Paint"> implements SkPaint {
5
5
  constructor(CanvasKit: CanvasKit, ref: Paint);
6
- dispose: () => void;
7
6
  copy(): JsiSkPaint;
8
7
  assign(paint: JsiSkPaint): void;
9
8
  reset(): void;
@@ -15,5 +15,4 @@ export declare class JsiSkParagraph extends HostObject<Paragraph, "Paragraph"> i
15
15
  getRectsForPlaceholders(): SkRectWithDirection[];
16
16
  getRectsForRange(start: number, end: number): SkRect[];
17
17
  getLineMetrics(): LineMetrics[];
18
- dispose(): void;
19
18
  }
@@ -10,6 +10,5 @@ export declare class JsiSkParagraphBuilder extends HostObject<ParagraphBuilder,
10
10
  reset(): void;
11
11
  pushStyle(style: SkTextStyle, foregroundPaint?: SkPaint | undefined, backgroundPaint?: SkPaint | undefined): SkParagraphBuilder;
12
12
  pop(): SkParagraphBuilder;
13
- dispose(): void;
14
13
  private makePaint;
15
14
  }
@@ -5,7 +5,6 @@ import { JsiSkPoint } from "./JsiSkPoint";
5
5
  import { JsiSkRect } from "./JsiSkRect";
6
6
  export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPath {
7
7
  constructor(CanvasKit: CanvasKit, ref: Path);
8
- dispose: () => void;
9
8
  addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
10
9
  addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
11
10
  addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
@@ -3,5 +3,4 @@ import type { SkPathEffect } from "../types/PathEffect";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkPathEffect extends HostObject<PathEffect, "PathEffect"> implements SkPathEffect {
5
5
  constructor(CanvasKit: CanvasKit, ref: PathEffect);
6
- dispose: () => void;
7
6
  }
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkShader } from "./JsiSkShader";
5
5
  export declare class JsiSkPicture extends HostObject<Picture, "Picture"> implements SkPicture {
6
6
  constructor(CanvasKit: CanvasKit, ref: Picture);
7
- dispose: () => void;
8
7
  makeShader(tmx: TileMode, tmy: TileMode, mode: FilterMode, localMatrix?: SkMatrix, tileRect?: SkRect): JsiSkShader;
9
8
  serialize(): Uint8Array<ArrayBufferLike> | null;
10
9
  }
@@ -6,7 +6,6 @@ import { JsiSkCanvas } from "./JsiSkCanvas";
6
6
  import { JsiSkPicture } from "./JsiSkPicture";
7
7
  export declare class JsiSkPictureRecorder extends HostObject<PictureRecorder, "PictureRecorder"> implements SkPictureRecorder {
8
8
  constructor(CanvasKit: CanvasKit, ref: PictureRecorder);
9
- dispose: () => void;
10
9
  beginRecording(bounds?: SkRect): JsiSkCanvas;
11
10
  finishRecordingAsPicture(): JsiSkPicture;
12
11
  }
@@ -2,9 +2,8 @@ import type { CanvasKit, Point } from "canvaskit-wasm";
2
2
  import type { SkPoint } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export declare class JsiSkPoint extends BaseHostObject<Point, "Point"> implements SkPoint {
5
- static fromValue(point: SkPoint): Float32Array<ArrayBuffer>;
5
+ static fromValue(point: SkPoint): Point;
6
6
  constructor(CanvasKit: CanvasKit, ref: Point);
7
- dispose: () => void;
8
7
  get x(): number;
9
8
  get y(): number;
10
9
  }
@@ -3,8 +3,8 @@ import type { InputRRect, SkRect, SkRRect } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
5
  export declare class JsiSkRRect extends BaseHostObject<RRect, "RRect"> implements SkRRect {
6
- dispose: () => void;
7
- static fromValue(CanvasKit: CanvasKit, rect: InputRRect): Float32Array<ArrayBuffer>;
6
+ [Symbol.dispose](): void;
7
+ static fromValue(CanvasKit: CanvasKit, rect: InputRRect): import("canvaskit-wasm").Rect;
8
8
  constructor(CanvasKit: CanvasKit, rect: SkRect, rx: number, ry: number);
9
9
  get rx(): number;
10
10
  get ry(): number;
@@ -3,12 +3,11 @@ import type { SkRSXform } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export type RSXform = Float32Array;
5
5
  export declare class JsiSkRSXform extends BaseHostObject<RSXform, "RSXform"> implements SkRSXform {
6
- static fromValue(rsxform: SkRSXform): Float32Array<ArrayBuffer>;
6
+ static fromValue(rsxform: SkRSXform): RSXform;
7
7
  constructor(CanvasKit: CanvasKit, ref: RSXform);
8
8
  set(scos: number, ssin: number, tx: number, ty: number): void;
9
9
  get scos(): number;
10
10
  get ssin(): number;
11
11
  get tx(): number;
12
12
  get ty(): number;
13
- dispose: () => void;
14
13
  }
@@ -3,7 +3,6 @@ import type { SkHostRect, SkRect } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export declare class JsiSkRect extends BaseHostObject<Rect, "Rect"> implements SkHostRect {
5
5
  static fromValue(CanvasKit: CanvasKit, rect: SkRect): Rect;
6
- dispose: () => void;
7
6
  constructor(CanvasKit: CanvasKit, ref: Rect);
8
7
  setXYWH(x: number, y: number, width: number, height: number): void;
9
8
  get x(): number;
@@ -6,7 +6,6 @@ import { JsiSkShader } from "./JsiSkShader";
6
6
  export declare class JsiSkRuntimeEffect extends HostObject<RuntimeEffect, "RuntimeEffect"> implements SkRuntimeEffect {
7
7
  private sksl;
8
8
  constructor(CanvasKit: CanvasKit, ref: RuntimeEffect, sksl: string);
9
- dispose: () => void;
10
9
  source(): string;
11
10
  makeShader(uniforms: number[], localMatrix?: SkMatrix): JsiSkShader;
12
11
  makeShaderWithChildren(uniforms: number[], children?: SkShader[], localMatrix?: SkMatrix): JsiSkShader;
@@ -5,5 +5,5 @@ export declare class JsiSkSVG extends HostObject<HTMLImageElement, "SVG"> implem
5
5
  constructor(CanvasKit: CanvasKit, ref: HTMLImageElement);
6
6
  width(): number;
7
7
  height(): number;
8
- dispose: () => void;
8
+ [Symbol.dispose](): void;
9
9
  }
@@ -3,5 +3,4 @@ import type { SkShader } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkShader extends HostObject<Shader, "Shader"> implements SkShader {
5
5
  constructor(CanvasKit: CanvasKit, ref: Shader);
6
- dispose: () => void;
7
6
  }
@@ -4,7 +4,7 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkImage } from "./JsiSkImage";
5
5
  export declare class JsiSkSurface extends HostObject<Surface, "Surface"> implements SkSurface {
6
6
  constructor(CanvasKit: CanvasKit, ref: Surface);
7
- dispose: () => void;
7
+ [Symbol.dispose](): void;
8
8
  flush(): void;
9
9
  width(): number;
10
10
  height(): number;
@@ -3,5 +3,4 @@ import type { SkTextBlob } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkTextBlob extends HostObject<TextBlob, "TextBlob"> implements SkTextBlob {
5
5
  constructor(CanvasKit: CanvasKit, ref: TextBlob);
6
- dispose: () => void;
7
6
  }
@@ -6,5 +6,4 @@ export declare class JsiSkTypeface extends HostObject<Typeface, "Typeface"> impl
6
6
  get bold(): boolean;
7
7
  get italic(): boolean;
8
8
  getGlyphIDs(str: string, numCodePoints?: number): number[];
9
- dispose: () => void;
10
9
  }
@@ -3,11 +3,9 @@ import type { SkTypefaceFontProvider } from "../types/Paragraph/TypefaceFontProv
3
3
  import type { FontStyle, SkTypeface } from "../types";
4
4
  import { HostObject } from "./Host";
5
5
  export declare class JsiSkTypefaceFontProvider extends HostObject<TypefaceFontProvider, "FontMgr"> implements SkTypefaceFontProvider {
6
- private allocatedPointers;
7
6
  constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider);
8
7
  matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface;
9
8
  countFamilies(): number;
10
9
  getFamilyName(index: number): string;
11
10
  registerFont(typeface: SkTypeface, familyName: string): void;
12
- dispose(): void;
13
11
  }
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
5
  export declare class JsiSkVertices extends HostObject<Vertices, "Vertices"> implements SkVertices {
6
6
  constructor(CanvasKit: CanvasKit, ref: Vertices);
7
- dispose: () => void;
8
7
  bounds(): JsiSkRect;
9
8
  uniqueID(): number;
10
9
  }
@@ -55,5 +55,4 @@ export declare class JsiSkottieAnimation extends HostObject<ManagedSkottieAnimat
55
55
  height: number;
56
56
  };
57
57
  version(): string;
58
- dispose(): void;
59
58
  }
@@ -20,5 +20,6 @@ export declare class JsiVideo implements Video {
20
20
  pause(): void;
21
21
  play(): void;
22
22
  setVolume(volume: number): void;
23
+ [Symbol.dispose](): void;
23
24
  dispose(): void;
24
25
  }
@@ -2,6 +2,10 @@ import type { SharedValue } from "react-native-reanimated";
2
2
  import type { BaseRecorder, JsiRecorder, Skia } from "../../skia/types";
3
3
  import type { PaintProps, NodeType, BlurMaskFilterProps, CTMProps, BoxProps, BoxShadowProps, ImageProps, CircleProps, PointsProps, PathProps, RectProps, RoundedRectProps, OvalProps, LineProps, PatchProps, VerticesProps, DiffRectProps, TextProps, TextPathProps, TextBlobProps, GlyphsProps, PictureProps, ImageSVGProps, ParagraphProps, AtlasProps, SkottieProps } from "../../dom/types";
4
4
  import type { AnimatedProps } from "../../renderer";
5
+ /**
6
+ * Currently the recorder only work if the GPU resources (e.g Images) are owned by the main thread.
7
+ * It will crash otherwise on Ganesh (iOS/Android).
8
+ */
5
9
  export declare class ReanimatedRecorder implements BaseRecorder {
6
10
  private values;
7
11
  private recorder;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "setup-skia-web": "scripts/setup-canvaskit.js"
9
9
  },
10
10
  "title": "React Native Skia",
11
- "version": "2.2.18",
11
+ "version": "2.2.20",
12
12
  "description": "High-performance React Native Graphics using Skia",
13
13
  "main": "lib/module/index.js",
14
14
  "react-native": "src/index.ts",
@@ -43,14 +43,14 @@
43
43
  "release": "semantic-release",
44
44
  "build": "bob build && merge-dirs lib/typescript/src lib/commonjs && merge-dirs lib/typescript/src lib/module",
45
45
  "clean-skia": "yarn rimraf ./libs && yarn rimraf ../../externals/skia/out",
46
- "build-skia": "ts-node ./scripts/build-skia.ts",
47
- "copy-skia-headers": "ts-node ./scripts/copy-skia-headers.ts",
48
- "install-skia": "ts-node ./scripts/download-artifacts.ts && yarn copy-skia-headers",
46
+ "build-skia": "tsx ./scripts/build-skia.ts",
47
+ "copy-skia-headers": "tsx ./scripts/copy-skia-headers.ts",
48
+ "install-skia": "tsx ./scripts/download-artifacts.ts && yarn copy-skia-headers",
49
49
  "clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
50
50
  "clang-format-ios": "find apple/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
51
51
  "clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
52
52
  "clang-format-common": "find cpp/ \\( -path 'cpp//skia' -prune \\) -o \\( -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' \\) -print | xargs clang-format -i",
53
- "workflow-copy-libs": "yarn ts-node ./scripts/workflow-copy-libs.ts",
53
+ "workflow-copy-libs": "tsx ./scripts/workflow-copy-libs.ts",
54
54
  "cpplint": "cpplint --linelength=230 --filter=-legal/copyright,-whitespace/indent,-whitespace/comments,-whitespace/ending_newline,-build/include_order,-runtime/references,-readability/todo,-whitespace/blank_line,-whitespace/todo,-runtime/int,-build/c++11,-whitespace/parens --exclude=package/cpp/skia --exclude=package/ios --exclude=package/android/build --exclude=package/node_modules --recursive package"
55
55
  },
56
56
  "repository": {
@@ -90,20 +90,22 @@
90
90
  },
91
91
  "devDependencies": {
92
92
  "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
93
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
93
94
  "@semantic-release/commit-analyzer": "^13.0.0",
94
95
  "@semantic-release/exec": "^7.0.3",
95
96
  "@semantic-release/github": "^10.3.3",
96
97
  "@semantic-release/release-notes-generator": "^14.0.1",
97
- "@types/jest": "29.5.6",
98
+ "@types/jest": "30.0.0",
98
99
  "@types/pixelmatch": "5.2.4",
99
100
  "@types/pngjs": "6.0.1",
100
101
  "@types/react": "^19.0.0",
101
102
  "@types/react-reconciler": "0.28.9",
102
103
  "@types/ws": "8.5.3",
103
- "eslint": "8",
104
- "eslint-config-react-native-wcandillon": "^3.10.2",
105
- "eslint-plugin-import": "2.27.5",
106
- "jest": "29.6.4",
104
+ "eslint": "9.36.0",
105
+ "eslint-config-react-native-wcandillon": "4.0.1",
106
+ "eslint-plugin-import": "2.32.0",
107
+ "eslint-plugin-react-hooks": "^5.2.0",
108
+ "jest": "30.0.0",
107
109
  "jest-diff": "29.7.0",
108
110
  "merge-dirs": "0.2.1",
109
111
  "pixelmatch": "5.3.0",
@@ -116,8 +118,8 @@
116
118
  "rimraf": "3.0.2",
117
119
  "semantic-release": "^24.1.0",
118
120
  "semantic-release-yarn": "^3.0.2",
119
- "ts-jest": "29.1.1",
120
- "ts-node": "^10.9.2",
121
+ "ts-jest": "29.4.3",
122
+ "tsx": "^4.20.5",
121
123
  "typescript": "^5.2.2",
122
124
  "ws": "8.18.0"
123
125
  },
@@ -135,6 +137,11 @@
135
137
  "jsSrcsDir": "src/specs",
136
138
  "android": {
137
139
  "javaPackageName": "com.shopify.reactnative.skia"
140
+ },
141
+ "ios": {
142
+ "componentProviders": [
143
+ "SkiaPictureViewNativeComponent"
144
+ ]
138
145
  }
139
146
  },
140
147
  "react-native-builder-bob": {