@shopify/react-native-skia 2.0.7 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/android/CMakeLists.txt +20 -1
  2. package/cpp/api/JsiSkApi.h +3 -0
  3. package/cpp/api/JsiSkImageFilterFactory.h +478 -39
  4. package/cpp/api/JsiSkSkottie.h +590 -0
  5. package/cpp/api/JsiSkottieFactory.h +65 -0
  6. package/cpp/api/recorder/Command.h +1 -0
  7. package/cpp/api/recorder/Convertor.h +32 -0
  8. package/cpp/api/recorder/Drawings.h +23 -0
  9. package/cpp/api/recorder/ImageFilters.h +20 -0
  10. package/cpp/api/recorder/JsiRecorder.h +6 -0
  11. package/cpp/api/recorder/RNRecorder.h +15 -0
  12. package/cpp/api/third_party/SkottieUtils.cpp +333 -0
  13. package/cpp/api/third_party/SkottieUtils.h +172 -0
  14. package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +980 -0
  15. package/cpp/skia/modules/jsonreader/SkJSONReader.h +389 -0
  16. package/cpp/skia/modules/skottie/include/ExternalLayer.h +56 -0
  17. package/cpp/skia/modules/skottie/include/Skottie.h +313 -0
  18. package/cpp/skia/modules/skottie/include/SkottieProperty.h +190 -0
  19. package/cpp/skia/modules/skottie/include/SlotManager.h +113 -0
  20. package/cpp/skia/modules/skottie/include/TextShaper.h +200 -0
  21. package/cpp/skia/modules/skottie/src/SkottieValue.h +56 -0
  22. package/cpp/skia/modules/skottie/src/animator/Animator.h +89 -0
  23. package/cpp/skia/modules/skottie/src/text/Font.h +82 -0
  24. package/cpp/skia/modules/skottie/src/text/TextAdapter.h +155 -0
  25. package/cpp/skia/modules/skottie/src/text/TextAnimator.h +121 -0
  26. package/cpp/skia/modules/skottie/src/text/TextValue.h +28 -0
  27. package/cpp/skia/modules/sksg/include/SkSGClipEffect.h +61 -0
  28. package/cpp/skia/modules/sksg/include/SkSGColorFilter.h +135 -0
  29. package/cpp/skia/modules/sksg/include/SkSGDraw.h +57 -0
  30. package/cpp/skia/modules/sksg/include/SkSGEffectNode.h +50 -0
  31. package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +181 -0
  32. package/cpp/skia/modules/sksg/include/SkSGGeometryNode.h +54 -0
  33. package/cpp/skia/modules/sksg/include/SkSGGradient.h +108 -0
  34. package/cpp/skia/modules/sksg/include/SkSGGroup.h +65 -0
  35. package/cpp/skia/modules/sksg/include/SkSGImage.h +59 -0
  36. package/cpp/skia/modules/sksg/include/SkSGInvalidationController.h +46 -0
  37. package/cpp/skia/modules/sksg/include/SkSGMaskEffect.h +65 -0
  38. package/cpp/skia/modules/sksg/include/SkSGMerge.h +74 -0
  39. package/cpp/skia/modules/sksg/include/SkSGNode.h +128 -0
  40. package/cpp/skia/modules/sksg/include/SkSGOpacityEffect.h +54 -0
  41. package/cpp/skia/modules/sksg/include/SkSGPaint.h +112 -0
  42. package/cpp/skia/modules/sksg/include/SkSGPath.h +68 -0
  43. package/cpp/skia/modules/sksg/include/SkSGPlane.h +47 -0
  44. package/cpp/skia/modules/sksg/include/SkSGRect.h +122 -0
  45. package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +283 -0
  46. package/cpp/skia/modules/sksg/include/SkSGRenderNode.h +157 -0
  47. package/cpp/skia/modules/sksg/include/SkSGScene.h +47 -0
  48. package/cpp/skia/modules/sksg/include/SkSGText.h +82 -0
  49. package/cpp/skia/modules/sksg/include/SkSGTransform.h +127 -0
  50. package/cpp/skia/src/base/SkArenaAlloc.h +371 -0
  51. package/lib/commonjs/dom/nodes/datatypes/Gradient.d.ts +15 -15
  52. package/lib/commonjs/dom/types/Drawings.d.ts +8 -1
  53. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  54. package/lib/commonjs/dom/types/NodeType.d.ts +3 -1
  55. package/lib/commonjs/dom/types/NodeType.js +4 -0
  56. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  57. package/lib/commonjs/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +1 -0
  58. package/lib/commonjs/renderer/__tests__/e2e/Camera.spec.d.ts +21 -0
  59. package/lib/commonjs/renderer/__tests__/e2e/ImageFilter.spec.d.ts +1 -0
  60. package/lib/commonjs/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +1 -0
  61. package/lib/commonjs/renderer/__tests__/e2e/Skottie.spec.d.ts +1 -0
  62. package/lib/commonjs/renderer/__tests__/setup.d.ts +5 -0
  63. package/lib/commonjs/renderer/components/ImageFilter.d.ts +4 -0
  64. package/lib/commonjs/renderer/components/ImageFilter.js +13 -0
  65. package/lib/commonjs/renderer/components/ImageFilter.js.map +1 -0
  66. package/lib/commonjs/renderer/components/Skottie.d.ts +4 -0
  67. package/lib/commonjs/renderer/components/Skottie.js +13 -0
  68. package/lib/commonjs/renderer/components/Skottie.js.map +1 -0
  69. package/lib/commonjs/renderer/components/index.d.ts +2 -0
  70. package/lib/commonjs/renderer/components/index.js +22 -0
  71. package/lib/commonjs/renderer/components/index.js.map +1 -1
  72. package/lib/commonjs/skia/types/ImageFilter/ImageFilterFactory.d.ts +252 -15
  73. package/lib/commonjs/skia/types/ImageFilter/ImageFilterFactory.js.map +1 -1
  74. package/lib/commonjs/skia/types/Matrix4.d.ts +11 -2
  75. package/lib/commonjs/skia/types/Matrix4.js +42 -1
  76. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  77. package/lib/commonjs/skia/types/Recorder.d.ts +2 -1
  78. package/lib/commonjs/skia/types/Recorder.js.map +1 -1
  79. package/lib/commonjs/skia/types/Skia.d.ts +2 -0
  80. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  81. package/lib/commonjs/skia/types/Skottie.d.ts +223 -0
  82. package/lib/commonjs/skia/types/Skottie.js +73 -0
  83. package/lib/commonjs/skia/types/Skottie.js.map +1 -0
  84. package/lib/commonjs/skia/types/index.d.ts +1 -0
  85. package/lib/commonjs/skia/types/index.js +11 -0
  86. package/lib/commonjs/skia/types/index.js.map +1 -1
  87. package/lib/commonjs/skia/web/JsiSkImageFilterFactory.d.ts +29 -12
  88. package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js +88 -19
  89. package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js.map +1 -1
  90. package/lib/commonjs/skia/web/JsiSkia.js +2 -0
  91. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  92. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +59 -0
  93. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +243 -0
  94. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -0
  95. package/lib/commonjs/skia/web/JsiSkottieFactory.d.ts +9 -0
  96. package/lib/commonjs/skia/web/JsiSkottieFactory.js +26 -0
  97. package/lib/commonjs/skia/web/JsiSkottieFactory.js.map +1 -0
  98. package/lib/commonjs/sksg/Elements.d.ts +3 -1
  99. package/lib/commonjs/sksg/Elements.js.map +1 -1
  100. package/lib/commonjs/sksg/Node.d.ts +1 -1
  101. package/lib/commonjs/sksg/Node.js +1 -1
  102. package/lib/commonjs/sksg/Node.js.map +1 -1
  103. package/lib/commonjs/sksg/Recorder/Core.d.ts +4 -2
  104. package/lib/commonjs/sksg/Recorder/Core.js +1 -0
  105. package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
  106. package/lib/commonjs/sksg/Recorder/Player.js +2 -0
  107. package/lib/commonjs/sksg/Recorder/Player.js.map +1 -1
  108. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +2 -1
  109. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js +4 -0
  110. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  111. package/lib/commonjs/sksg/Recorder/Recorder.d.ts +2 -1
  112. package/lib/commonjs/sksg/Recorder/Recorder.js +6 -0
  113. package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -1
  114. package/lib/commonjs/sksg/Recorder/Visitor.js +3 -0
  115. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  116. package/lib/commonjs/sksg/Recorder/commands/Drawing.d.ts +2 -2
  117. package/lib/commonjs/sksg/Recorder/commands/Drawing.js +11 -4
  118. package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -1
  119. package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js +12 -2
  120. package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js.map +1 -1
  121. package/lib/module/dom/nodes/datatypes/Gradient.d.ts +15 -15
  122. package/lib/module/dom/types/Drawings.d.ts +8 -1
  123. package/lib/module/dom/types/Drawings.js.map +1 -1
  124. package/lib/module/dom/types/NodeType.d.ts +3 -1
  125. package/lib/module/dom/types/NodeType.js +4 -0
  126. package/lib/module/dom/types/NodeType.js.map +1 -1
  127. package/lib/module/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +1 -0
  128. package/lib/module/renderer/__tests__/e2e/Camera.spec.d.ts +21 -0
  129. package/lib/module/renderer/__tests__/e2e/ImageFilter.spec.d.ts +1 -0
  130. package/lib/module/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +1 -0
  131. package/lib/module/renderer/__tests__/e2e/Skottie.spec.d.ts +1 -0
  132. package/lib/module/renderer/__tests__/setup.d.ts +5 -0
  133. package/lib/module/renderer/components/ImageFilter.d.ts +4 -0
  134. package/lib/module/renderer/components/ImageFilter.js +5 -0
  135. package/lib/module/renderer/components/ImageFilter.js.map +1 -0
  136. package/lib/module/renderer/components/Skottie.d.ts +4 -0
  137. package/lib/module/renderer/components/Skottie.js +5 -0
  138. package/lib/module/renderer/components/Skottie.js.map +1 -0
  139. package/lib/module/renderer/components/index.d.ts +2 -0
  140. package/lib/module/renderer/components/index.js +2 -0
  141. package/lib/module/renderer/components/index.js.map +1 -1
  142. package/lib/module/skia/types/ImageFilter/ImageFilterFactory.d.ts +252 -15
  143. package/lib/module/skia/types/ImageFilter/ImageFilterFactory.js.map +1 -1
  144. package/lib/module/skia/types/Matrix4.d.ts +11 -2
  145. package/lib/module/skia/types/Matrix4.js +40 -0
  146. package/lib/module/skia/types/Matrix4.js.map +1 -1
  147. package/lib/module/skia/types/Recorder.d.ts +2 -1
  148. package/lib/module/skia/types/Recorder.js.map +1 -1
  149. package/lib/module/skia/types/Skia.d.ts +2 -0
  150. package/lib/module/skia/types/Skia.js.map +1 -1
  151. package/lib/module/skia/types/Skottie.d.ts +223 -0
  152. package/lib/module/skia/types/Skottie.js +74 -0
  153. package/lib/module/skia/types/Skottie.js.map +1 -0
  154. package/lib/module/skia/types/index.d.ts +1 -0
  155. package/lib/module/skia/types/index.js +1 -0
  156. package/lib/module/skia/types/index.js.map +1 -1
  157. package/lib/module/skia/web/JsiSkImageFilterFactory.d.ts +29 -12
  158. package/lib/module/skia/web/JsiSkImageFilterFactory.js +88 -19
  159. package/lib/module/skia/web/JsiSkImageFilterFactory.js.map +1 -1
  160. package/lib/module/skia/web/JsiSkia.js +2 -0
  161. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  162. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +59 -0
  163. package/lib/module/skia/web/JsiSkottieAnimation.js +236 -0
  164. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -0
  165. package/lib/module/skia/web/JsiSkottieFactory.d.ts +9 -0
  166. package/lib/module/skia/web/JsiSkottieFactory.js +19 -0
  167. package/lib/module/skia/web/JsiSkottieFactory.js.map +1 -0
  168. package/lib/module/sksg/Elements.d.ts +3 -1
  169. package/lib/module/sksg/Elements.js.map +1 -1
  170. package/lib/module/sksg/Node.d.ts +1 -1
  171. package/lib/module/sksg/Node.js +1 -1
  172. package/lib/module/sksg/Node.js.map +1 -1
  173. package/lib/module/sksg/Recorder/Core.d.ts +4 -2
  174. package/lib/module/sksg/Recorder/Core.js +1 -0
  175. package/lib/module/sksg/Recorder/Core.js.map +1 -1
  176. package/lib/module/sksg/Recorder/Player.js +3 -1
  177. package/lib/module/sksg/Recorder/Player.js.map +1 -1
  178. package/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +2 -1
  179. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +4 -0
  180. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  181. package/lib/module/sksg/Recorder/Recorder.d.ts +2 -1
  182. package/lib/module/sksg/Recorder/Recorder.js +6 -0
  183. package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
  184. package/lib/module/sksg/Recorder/Visitor.js +3 -0
  185. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  186. package/lib/module/sksg/Recorder/commands/Drawing.d.ts +2 -2
  187. package/lib/module/sksg/Recorder/commands/Drawing.js +9 -2
  188. package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
  189. package/lib/module/sksg/Recorder/commands/ImageFilters.js +12 -2
  190. package/lib/module/sksg/Recorder/commands/ImageFilters.js.map +1 -1
  191. package/lib/typescript/lib/commonjs/renderer/components/ImageFilter.d.ts +2 -0
  192. package/lib/typescript/lib/commonjs/renderer/components/Skottie.d.ts +2 -0
  193. package/lib/typescript/lib/commonjs/skia/types/Matrix4.d.ts +1 -0
  194. package/lib/typescript/lib/commonjs/skia/types/Skottie.d.ts +6 -0
  195. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFilterFactory.d.ts +22 -5
  196. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +2 -0
  197. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +48 -0
  198. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieFactory.d.ts +6 -0
  199. package/lib/typescript/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +1 -0
  200. package/lib/typescript/lib/commonjs/sksg/Recorder/Recorder.d.ts +1 -0
  201. package/lib/typescript/lib/commonjs/sksg/Recorder/commands/Drawing.d.ts +1 -1
  202. package/lib/typescript/lib/module/mock/index.d.ts +8 -0
  203. package/lib/typescript/lib/module/renderer/components/ImageFilter.d.ts +2 -0
  204. package/lib/typescript/lib/module/renderer/components/Skottie.d.ts +2 -0
  205. package/lib/typescript/lib/module/renderer/components/index.d.ts +2 -0
  206. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
  207. package/lib/typescript/lib/module/skia/types/Matrix4.d.ts +1 -0
  208. package/lib/typescript/lib/module/skia/types/Skottie.d.ts +5 -0
  209. package/lib/typescript/lib/module/skia/types/index.d.ts +1 -0
  210. package/lib/typescript/lib/module/skia/web/JsiSkImageFilterFactory.d.ts +22 -5
  211. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +2 -0
  212. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +47 -0
  213. package/lib/typescript/lib/module/skia/web/JsiSkottieFactory.d.ts +5 -0
  214. package/lib/typescript/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +1 -0
  215. package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +1 -0
  216. package/lib/typescript/lib/module/sksg/Recorder/commands/Drawing.d.ts +1 -1
  217. package/lib/typescript/src/dom/nodes/datatypes/Gradient.d.ts +15 -15
  218. package/lib/typescript/src/dom/types/Drawings.d.ts +8 -1
  219. package/lib/typescript/src/dom/types/NodeType.d.ts +3 -1
  220. package/lib/typescript/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +1 -0
  221. package/lib/typescript/src/renderer/__tests__/e2e/Camera.spec.d.ts +21 -0
  222. package/lib/typescript/src/renderer/__tests__/e2e/ImageFilter.spec.d.ts +1 -0
  223. package/lib/typescript/src/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +1 -0
  224. package/lib/typescript/src/renderer/__tests__/e2e/Skottie.spec.d.ts +1 -0
  225. package/lib/typescript/src/renderer/__tests__/setup.d.ts +5 -0
  226. package/lib/typescript/src/renderer/components/ImageFilter.d.ts +4 -0
  227. package/lib/typescript/src/renderer/components/Skottie.d.ts +4 -0
  228. package/lib/typescript/src/renderer/components/index.d.ts +2 -0
  229. package/lib/typescript/src/skia/types/ImageFilter/ImageFilterFactory.d.ts +252 -15
  230. package/lib/typescript/src/skia/types/Matrix4.d.ts +11 -2
  231. package/lib/typescript/src/skia/types/Recorder.d.ts +2 -1
  232. package/lib/typescript/src/skia/types/Skia.d.ts +2 -0
  233. package/lib/typescript/src/skia/types/Skottie.d.ts +223 -0
  234. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  235. package/lib/typescript/src/skia/web/JsiSkImageFilterFactory.d.ts +29 -12
  236. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +59 -0
  237. package/lib/typescript/src/skia/web/JsiSkottieFactory.d.ts +9 -0
  238. package/lib/typescript/src/sksg/Elements.d.ts +3 -1
  239. package/lib/typescript/src/sksg/Node.d.ts +1 -1
  240. package/lib/typescript/src/sksg/Recorder/Core.d.ts +4 -2
  241. package/lib/typescript/src/sksg/Recorder/ReanimatedRecorder.d.ts +2 -1
  242. package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +2 -1
  243. package/lib/typescript/src/sksg/Recorder/commands/Drawing.d.ts +2 -2
  244. package/libs/android/arm64-v8a/libjsonreader.a +0 -0
  245. package/libs/android/armeabi-v7a/libjsonreader.a +0 -0
  246. package/libs/android/x86/libjsonreader.a +0 -0
  247. package/libs/android/x86_64/libjsonreader.a +0 -0
  248. package/libs/apple/libpathops.xcframework/Info.plist +8 -8
  249. package/libs/apple/libskia.xcframework/Info.plist +14 -14
  250. package/libs/apple/libskottie.xcframework/Info.plist +14 -14
  251. package/libs/apple/libskparagraph.xcframework/Info.plist +16 -16
  252. package/libs/apple/libsksg.xcframework/Info.plist +5 -5
  253. package/libs/apple/libskshaper.xcframework/Info.plist +14 -14
  254. package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +14 -14
  255. package/libs/apple/libsvg.xcframework/Info.plist +14 -14
  256. package/package.json +1 -1
  257. package/react-native-skia.podspec +4 -2
  258. package/src/__tests__/snapshots/matrix4/camera-corner.png +0 -0
  259. package/src/__tests__/snapshots/matrix4/camera-offset.png +0 -0
  260. package/src/__tests__/snapshots/matrix4/camera-top-left-center.png +0 -0
  261. package/src/__tests__/snapshots/matrix4/camera-zoom-out.png +0 -0
  262. package/src/__tests__/snapshots/matrix4/full-rect.png +0 -0
  263. package/src/__tests__/snapshots/matrix4/rect.png +0 -0
  264. package/src/__tests__/snapshots/matrix4/scaled-rect.png +0 -0
  265. package/src/__tests__/snapshots/matrix4/test-perspective.png +0 -0
  266. package/src/__tests__/snapshots/matrix4/test-perspective2.png +0 -0
  267. package/src/dom/types/Drawings.ts +11 -0
  268. package/src/dom/types/NodeType.ts +4 -0
  269. package/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.tsx +492 -0
  270. package/src/renderer/__tests__/e2e/Camera.spec.tsx +475 -0
  271. package/src/renderer/__tests__/e2e/ImageFilter.spec.tsx +99 -0
  272. package/src/renderer/__tests__/e2e/LightingImageFilters.spec.tsx +1478 -0
  273. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +440 -0
  274. package/src/renderer/__tests__/e2e/setup/skottie/basic_slots.json +1118 -0
  275. package/src/renderer/__tests__/e2e/setup/skottie/color-props.json +1 -0
  276. package/src/renderer/__tests__/e2e/setup/skottie/confetti.json +5899 -0
  277. package/src/renderer/__tests__/e2e/setup/skottie/drinks.json +43857 -0
  278. package/src/renderer/__tests__/e2e/setup/skottie/fingerprint.json +1 -0
  279. package/src/renderer/__tests__/e2e/setup/skottie/lego_loader.json +29540 -0
  280. package/src/renderer/__tests__/e2e/setup/skottie/new-drop.json +1 -0
  281. package/src/renderer/__tests__/e2e/setup/skottie/onboarding.json +1 -0
  282. package/src/renderer/__tests__/e2e/setup/skottie/text-layer.json +1 -0
  283. package/src/renderer/__tests__/setup.tsx +31 -0
  284. package/src/renderer/components/ImageFilter.tsx +8 -0
  285. package/src/renderer/components/Skottie.tsx +8 -0
  286. package/src/renderer/components/index.ts +2 -0
  287. package/src/skia/__tests__/assets/Avenir-Heavy.ttf +0 -0
  288. package/src/skia/types/ImageFilter/ImageFilterFactory.ts +391 -21
  289. package/src/skia/types/Matrix4.ts +108 -2
  290. package/src/skia/types/Recorder.ts +2 -0
  291. package/src/skia/types/Skia.ts +2 -0
  292. package/src/skia/types/Skottie.ts +266 -0
  293. package/src/skia/types/index.ts +1 -0
  294. package/src/skia/web/JsiSkImageFilterFactory.ts +266 -31
  295. package/src/skia/web/JsiSkia.ts +2 -0
  296. package/src/skia/web/JsiSkottieAnimation.ts +259 -0
  297. package/src/skia/web/JsiSkottieFactory.ts +25 -0
  298. package/src/sksg/Elements.tsx +4 -0
  299. package/src/sksg/Node.ts +1 -0
  300. package/src/sksg/Recorder/Core.ts +3 -0
  301. package/src/sksg/Recorder/Player.ts +3 -0
  302. package/src/sksg/Recorder/ReanimatedRecorder.ts +6 -0
  303. package/src/sksg/Recorder/Recorder.ts +5 -0
  304. package/src/sksg/Recorder/Visitor.ts +3 -0
  305. package/src/sksg/Recorder/commands/Drawing.ts +7 -3
  306. package/src/sksg/Recorder/commands/ImageFilters.ts +15 -2
@@ -1,9 +1,26 @@
1
1
  export class JsiSkImageFilterFactory extends Host {
2
- MakeOffset(dx: any, dy: any, input: any): JsiSkImageFilter;
3
- MakeDisplacementMap(channelX: any, channelY: any, scale: any, in1: any, input: any): JsiSkImageFilter;
4
- MakeShader(shader: any, _input: any): JsiSkImageFilter;
5
- MakeBlur(sigmaX: any, sigmaY: any, mode: any, input: any): JsiSkImageFilter;
6
- MakeColorFilter(cf: any, input: any): JsiSkImageFilter;
2
+ MakeRuntimeShaderWithChildren(_builder: any, _sampleRadius: any, _childShaderNames: any, _inputs: any): void;
3
+ MakeArithmetic(_k1: any, _k2: any, _k3: any, _k4: any, _enforcePMColor: any, _background: any, _foreground: any, _cropRect: any): void;
4
+ MakeCrop(_rect: any, _tileMode: any, _input: any): void;
5
+ MakeEmpty(): void;
6
+ MakeImage(_image: any, _srcRect: any, _dstRect: any, _filterMode: any, _mipmap: any): void;
7
+ MakeMagnifier(_lensBounds: any, _zoomAmount: any, _inset: any, _filterMode: any, _mipmap: any, _input: any, _cropRect: any): void;
8
+ MakeMatrixConvolution(_kernelSizeX: any, _kernelSizeY: any, _kernel: any, _gain: any, _bias: any, _kernelOffsetX: any, _kernelOffsetY: any, _tileMode: any, _convolveAlpha: any, _input: any, _cropRect: any): void;
9
+ MakeMatrixTransform(_matrix: any, _filterMode: any, _mipmap: any, _input: any): void;
10
+ MakeMerge(_filters: any, _cropRect: any): void;
11
+ MakePicture(_picture: any, _targetRect: any): void;
12
+ MakeTile(_src: any, _dst: any, _input: any): void;
13
+ MakeDistantLitDiffuse(_direction: any, _lightColor: any, _surfaceScale: any, _kd: any, _input: any, _cropRect: any): void;
14
+ MakePointLitDiffuse(_location: any, _lightColor: any, _surfaceScale: any, _kd: any, _input: any, _cropRect: any): void;
15
+ MakeSpotLitDiffuse(_location: any, _target: any, _falloffExponent: any, _cutoffAngle: any, _lightColor: any, _surfaceScale: any, _kd: any, _input: any, _cropRect: any): void;
16
+ MakeDistantLitSpecular(_direction: any, _lightColor: any, _surfaceScale: any, _ks: any, _shininess: any, _input: any, _cropRect: any): void;
17
+ MakePointLitSpecular(_location: any, _lightColor: any, _surfaceScale: any, _ks: any, _shininess: any, _input: any, _cropRect: any): void;
18
+ MakeSpotLitSpecular(_location: any, _target: any, _falloffExponent: any, _cutoffAngle: any, _lightColor: any, _surfaceScale: any, _ks: any, _shininess: any, _input: any, _cropRect: any): void;
19
+ MakeOffset(dx: any, dy: any, input: any, cropRect: any): JsiSkImageFilter;
20
+ MakeDisplacementMap(channelX: any, channelY: any, scale: any, in1: any, input: any, cropRect: any): JsiSkImageFilter;
21
+ MakeShader(shader: any, dither: any, cropRect: any): JsiSkImageFilter;
22
+ MakeBlur(sigmaX: any, sigmaY: any, mode: any, input: any, cropRect: any): JsiSkImageFilter;
23
+ MakeColorFilter(colorFilter: any, input: any, cropRect: any): JsiSkImageFilter;
7
24
  MakeCompose(outer: any, inner: any): JsiSkImageFilter;
8
25
  MakeDropShadow(dx: any, dy: any, sigmaX: any, sigmaY: any, color: any, input: any, cropRect: any): JsiSkImageFilter;
9
26
  MakeDropShadowOnly(dx: any, dy: any, sigmaX: any, sigmaY: any, color: any, input: any, cropRect: any): JsiSkImageFilter;
@@ -31,6 +31,7 @@ export function JsiSkApi(CanvasKit: any): {
31
31
  FontMgr: JsiSkFontMgrFactory;
32
32
  ParagraphBuilder: JsiSkParagraphBuilderFactory;
33
33
  NativeBuffer: JsiSkNativeBufferFactory;
34
+ Skottie: JsiSkottieFactory;
34
35
  Video: (url?: any) => Promise<any>;
35
36
  Context: (_surface: any, _width: any, _height: any) => jest.Mock<any, any, any>;
36
37
  Recorder: () => jest.Mock<any, any, any>;
@@ -63,3 +64,4 @@ import { JsiSkTypefaceFontProviderFactory } from "./JsiSkTypefaceFontProviderFac
63
64
  import { JsiSkFontMgrFactory } from "./JsiSkFontMgrFactory";
64
65
  import { JsiSkParagraphBuilderFactory } from "./JsiSkParagraphBuilderFactory";
65
66
  import { JsiSkNativeBufferFactory } from "./JsiSkNativeBufferFactory";
67
+ import { JsiSkottieFactory } from "./JsiSkottieFactory";
@@ -0,0 +1,47 @@
1
+ export class JsiSkottieAnimation extends HostObject {
2
+ constructor(CanvasKit: any, ref: any);
3
+ getOpacityProps(): any;
4
+ getTextProps(): any;
5
+ getColorProps(): any;
6
+ getTransformProps(): any;
7
+ setColor(key: any, color: any): any;
8
+ setText(key: any, text: any, size: any): any;
9
+ setOpacity(key: any, opacity: any): any;
10
+ setTransform(key: any, anchor: any, position: any, scale: any, rotation: any, skew: any, skewAxis: any): any;
11
+ getSlotInfo(): any;
12
+ setColorSlot(key: any, color: any): any;
13
+ setScalarSlot(key: any, scalar: any): any;
14
+ setVec2Slot(key: any, vec2: any): any;
15
+ setTextSlot(key: any, text: any): any;
16
+ setImageSlot(key: any, assetName: any): any;
17
+ getColorSlot(key: any): any;
18
+ getScalarSlot(key: any): any;
19
+ getVec2Slot(key: any): {
20
+ x: any;
21
+ y: any;
22
+ } | null;
23
+ getTextSlot(key: any): {
24
+ typeface: JsiSkTypeface;
25
+ text: any;
26
+ textSize: any;
27
+ minTextSize: any;
28
+ maxTextSize: any;
29
+ strokeWidth: any;
30
+ lineHeight: any;
31
+ lineShift: any;
32
+ ascent: any;
33
+ maxLines: any;
34
+ };
35
+ duration(): any;
36
+ fps(): any;
37
+ render(canvas: any, dstRect: any): void;
38
+ seekFrame(frame: any, damageRect: any): void;
39
+ size(): {
40
+ width: any;
41
+ height: any;
42
+ };
43
+ version(): any;
44
+ dispose(): void;
45
+ }
46
+ import { HostObject } from "./Host";
47
+ import { JsiSkTypeface } from "./JsiSkTypeface";
@@ -0,0 +1,5 @@
1
+ export class JsiSkottieFactory extends Host {
2
+ Make(json: any, assets: any): JsiSkottieAnimation;
3
+ }
4
+ import { Host } from "./Host";
5
+ import { JsiSkottieAnimation } from "./JsiSkottieAnimation";
@@ -43,4 +43,5 @@ export class ReanimatedRecorder {
43
43
  drawImageSVG(props: any): void;
44
44
  drawParagraph(props: any): void;
45
45
  drawAtlas(props: any): void;
46
+ drawSkottie(props: any): void;
46
47
  }
@@ -48,4 +48,5 @@ export class Recorder {
48
48
  drawImageSVG(props: any): void;
49
49
  drawParagraph(props: any): void;
50
50
  drawAtlas(props: any): void;
51
+ drawSkottie(props: any): void;
51
52
  }
@@ -17,4 +17,4 @@ export function drawParagraph(ctx: any, props: any): void;
17
17
  export function drawPicture(ctx: any, props: any): void;
18
18
  export function drawAtlas(ctx: any, props: any): void;
19
19
  export function drawCircle(ctx: any, props: any): void;
20
- export function drawFill(ctx: any, _props: any): void;
20
+ export function drawSkottie(ctx: any, props: any): void;
@@ -5,7 +5,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
5
5
  translateX: number;
6
6
  translateY: number;
7
7
  translateZ: number;
8
- translate: readonly [number, number] | readonly [number, number, number];
8
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
9
9
  scale: number;
10
10
  scaleX: number;
11
11
  scaleY: number;
@@ -21,7 +21,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
21
21
  translateX: number;
22
22
  translateY: number;
23
23
  translateZ: number;
24
- translate: readonly [number, number] | readonly [number, number, number];
24
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
25
25
  scale: number;
26
26
  scaleX: number;
27
27
  scaleY: number;
@@ -37,7 +37,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
37
37
  translateX: number;
38
38
  translateY: number;
39
39
  translateZ: number;
40
- translate: readonly [number, number] | readonly [number, number, number];
40
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
41
41
  scale: number;
42
42
  scaleX: number;
43
43
  scaleY: number;
@@ -53,7 +53,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
53
53
  translateX: number;
54
54
  translateY: number;
55
55
  translateZ: number;
56
- translate: readonly [number, number] | readonly [number, number, number];
56
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
57
57
  scale: number;
58
58
  scaleX: number;
59
59
  scaleY: number;
@@ -69,7 +69,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
69
69
  translateX: number;
70
70
  translateY: number;
71
71
  translateZ: number;
72
- translate: readonly [number, number] | readonly [number, number, number];
72
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
73
73
  scale: number;
74
74
  scaleX: number;
75
75
  scaleY: number;
@@ -85,7 +85,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
85
85
  translateX: number;
86
86
  translateY: number;
87
87
  translateZ: number;
88
- translate: readonly [number, number] | readonly [number, number, number];
88
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
89
89
  scale: number;
90
90
  scaleX: number;
91
91
  scaleY: number;
@@ -101,7 +101,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
101
101
  translateX: number;
102
102
  translateY: number;
103
103
  translateZ: number;
104
- translate: readonly [number, number] | readonly [number, number, number];
104
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
105
105
  scale: number;
106
106
  scaleX: number;
107
107
  scaleY: number;
@@ -117,7 +117,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
117
117
  translateX: number;
118
118
  translateY: number;
119
119
  translateZ: number;
120
- translate: readonly [number, number] | readonly [number, number, number];
120
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
121
121
  scale: number;
122
122
  scaleX: number;
123
123
  scaleY: number;
@@ -133,7 +133,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
133
133
  translateX: number;
134
134
  translateY: number;
135
135
  translateZ: number;
136
- translate: readonly [number, number] | readonly [number, number, number];
136
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
137
137
  scale: number;
138
138
  scaleX: number;
139
139
  scaleY: number;
@@ -149,7 +149,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
149
149
  translateX: number;
150
150
  translateY: number;
151
151
  translateZ: number;
152
- translate: readonly [number, number] | readonly [number, number, number];
152
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
153
153
  scale: number;
154
154
  scaleX: number;
155
155
  scaleY: number;
@@ -165,7 +165,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
165
165
  translateX: number;
166
166
  translateY: number;
167
167
  translateZ: number;
168
- translate: readonly [number, number] | readonly [number, number, number];
168
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
169
169
  scale: number;
170
170
  scaleX: number;
171
171
  scaleY: number;
@@ -181,7 +181,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
181
181
  translateX: number;
182
182
  translateY: number;
183
183
  translateZ: number;
184
- translate: readonly [number, number] | readonly [number, number, number];
184
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
185
185
  scale: number;
186
186
  scaleX: number;
187
187
  scaleY: number;
@@ -197,7 +197,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
197
197
  translateX: number;
198
198
  translateY: number;
199
199
  translateZ: number;
200
- translate: readonly [number, number] | readonly [number, number, number];
200
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
201
201
  scale: number;
202
202
  scaleX: number;
203
203
  scaleY: number;
@@ -213,7 +213,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
213
213
  translateX: number;
214
214
  translateY: number;
215
215
  translateZ: number;
216
- translate: readonly [number, number] | readonly [number, number, number];
216
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
217
217
  scale: number;
218
218
  scaleX: number;
219
219
  scaleY: number;
@@ -229,7 +229,7 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
229
229
  translateX: number;
230
230
  translateY: number;
231
231
  translateZ: number;
232
- translate: readonly [number, number] | readonly [number, number, number];
232
+ translate: readonly [number, number] | import("../../../skia/types").Vec3;
233
233
  scale: number;
234
234
  scaleX: number;
235
235
  scaleY: number;
@@ -1,4 +1,4 @@
1
- import type { FillType, SkImage, StrokeOpts, Vector, Color, SkPoint, BlendMode, PointMode, VertexMode, SkFont, SkRRect, SkTextBlob, SkPicture, SkSVG, SkPaint, SkRect, SkRSXform, SkColor, SamplingOptions } from "../../skia/types";
1
+ import type { FillType, SkImage, StrokeOpts, Vector, Color, SkPoint, BlendMode, PointMode, VertexMode, SkFont, SkRRect, SkTextBlob, SkPicture, SkSVG, SkPaint, SkRect, SkRSXform, SkColor, SamplingOptions, SkSkottieAnimation, SkImageFilter } from "../../skia/types";
2
2
  import type { CircleDef, Fit, GroupProps, PathDef, RectDef, RRectDef, SkEnum } from "./Common";
3
3
  export interface DrawingNodeProps extends GroupProps {
4
4
  paint?: SkPaint;
@@ -62,6 +62,10 @@ export interface ImageSVGProps extends DrawingNodeProps {
62
62
  height?: number;
63
63
  rect?: SkRect;
64
64
  }
65
+ export interface SkottieProps extends DrawingNodeProps {
66
+ animation: SkSkottieAnimation;
67
+ frame: number;
68
+ }
65
69
  export interface PictureProps extends DrawingNodeProps {
66
70
  picture: SkPicture;
67
71
  }
@@ -111,3 +115,6 @@ export interface BoxShadowProps {
111
115
  color?: Color;
112
116
  inner?: boolean;
113
117
  }
118
+ export interface ImageFilterProps extends GroupProps {
119
+ imageFilter: SkImageFilter;
120
+ }
@@ -55,5 +55,7 @@ export declare const enum NodeType {
55
55
  Picture = "skPicture",
56
56
  ImageSVG = "skImageSVG",
57
57
  Atlas = "skAtlas",
58
- Paragraph = "skParagraph"
58
+ Paragraph = "skParagraph",
59
+ Skottie = "skSkottie",
60
+ ImageFilter = "skImageFilter"
59
61
  }
@@ -0,0 +1,21 @@
1
+ import type { SkPath, SkRect, Vec3 } from "../../../skia/types";
2
+ import { Matrix4 } from "../../../skia/types";
3
+ declare enum Path3Command {
4
+ Move = 0,
5
+ Line = 1,
6
+ Quad = 2,
7
+ Cubic = 3,
8
+ Close = 4
9
+ }
10
+ export declare class Path3 {
11
+ commands: [Path3Command, ...number[]][];
12
+ constructor();
13
+ moveTo(to: Vec3): this;
14
+ lineTo(to: Vec3): this;
15
+ quadTo(control: Vec3, to: Vec3): this;
16
+ cubicTo(control1: Vec3, control2: Vec3, to: Vec3): this;
17
+ close(): this;
18
+ addHRect(rect: SkRect, z: number): this;
19
+ project(output: SkPath, tr?: Matrix4): this;
20
+ }
21
+ export {};
@@ -23,6 +23,11 @@ export declare let fonts: {
23
23
  UberMoveMediumMono: SkFont;
24
24
  DinMedium: SkFont;
25
25
  };
26
+ export declare let dataAssets: {
27
+ NotoSansSCRegular: Uint8Array;
28
+ img_0: Uint8Array;
29
+ AvenirHeavy: Uint8Array;
30
+ };
26
31
  export declare const wait: (ms: number) => Promise<unknown>;
27
32
  export declare const resolveFile: (uri: string) => Buffer<ArrayBufferLike>;
28
33
  export declare const resolveFont: (uri: string) => number[];
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { ImageFilterProps } from "../../dom/types";
3
+ import type { SkiaProps } from "../processors";
4
+ export declare const ImageFilter: (props: SkiaProps<ImageFilterProps>) => React.JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { SkottieProps } from "../../dom/types";
3
+ import type { SkiaProps } from "../processors";
4
+ export declare const Skottie: (props: SkiaProps<SkottieProps>) => React.JSX.Element;
@@ -13,4 +13,6 @@ export * from "./Group";
13
13
  export * from "./Mask";
14
14
  export * from "./Paint";
15
15
  export * from "./Blend";
16
+ export * from "./Skottie";
17
+ export * from "./ImageFilter";
16
18
  export * from "./paragraph";