@shopify/react-native-skia 1.7.6 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (852) hide show
  1. package/android/cpp/rnskia-android/OpenGLWindowContext.h +8 -1
  2. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
  3. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +13 -0
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaTextureView.java +24 -1
  6. package/cpp/rnskia/RNSkJsiViewApi.h +0 -3
  7. package/cpp/rnskia/RNSkView.h +6 -6
  8. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +2 -2
  9. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +2 -2
  10. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +3 -7
  11. package/lib/commonjs/dom/nodes/JsiSkDOM.js +58 -70
  12. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  13. package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +2 -3
  14. package/lib/commonjs/dom/nodes/datatypes/Circle.js +14 -6
  15. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
  16. package/lib/commonjs/dom/nodes/datatypes/Enum.js +5 -1
  17. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +19 -11
  19. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
  20. package/lib/commonjs/dom/nodes/datatypes/Path.js +7 -1
  21. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
  22. package/lib/commonjs/dom/nodes/datatypes/Radius.js +2 -0
  23. package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
  24. package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +3 -1
  25. package/lib/commonjs/dom/nodes/datatypes/Rect.js +27 -3
  26. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  27. package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +2 -1
  28. package/lib/commonjs/dom/nodes/datatypes/Transform.js +35 -1
  29. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
  30. package/lib/commonjs/dom/types/Node.d.ts +2 -5
  31. package/lib/commonjs/dom/types/Node.js.map +1 -1
  32. package/lib/commonjs/dom/types/index.d.ts +0 -2
  33. package/lib/commonjs/dom/types/index.js +0 -22
  34. package/lib/commonjs/dom/types/index.js.map +1 -1
  35. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  36. package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
  37. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  38. package/lib/commonjs/headless/index.js +3 -5
  39. package/lib/commonjs/headless/index.js.map +1 -1
  40. package/lib/commonjs/index.d.ts +1 -0
  41. package/lib/commonjs/index.js +12 -0
  42. package/lib/commonjs/index.js.map +1 -1
  43. package/lib/commonjs/renderer/Canvas.js +9 -26
  44. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  45. package/lib/commonjs/renderer/Canvas.web.d.ts +10 -0
  46. package/lib/commonjs/renderer/Canvas.web.js +110 -0
  47. package/lib/commonjs/renderer/Canvas.web.js.map +1 -0
  48. package/lib/commonjs/renderer/Canvas2.d.ts +10 -0
  49. package/lib/commonjs/renderer/Canvas2.js +104 -0
  50. package/lib/commonjs/renderer/Canvas2.js.map +1 -0
  51. package/lib/commonjs/renderer/Canvas2.web.d.ts +3 -0
  52. package/lib/commonjs/renderer/Canvas2.web.js +9 -0
  53. package/lib/commonjs/renderer/Canvas2.web.js.map +1 -0
  54. package/lib/commonjs/renderer/Container.d.ts +3 -5
  55. package/lib/commonjs/renderer/Container.js +2 -7
  56. package/lib/commonjs/renderer/Container.js.map +1 -1
  57. package/lib/commonjs/renderer/HostComponents.d.ts +3 -6
  58. package/lib/commonjs/renderer/HostComponents.js +1 -4
  59. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  60. package/lib/commonjs/renderer/HostConfig.js +8 -4
  61. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  62. package/lib/commonjs/renderer/Offscreen.js +3 -5
  63. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  64. package/lib/commonjs/renderer/Reconciler.d.ts +2 -3
  65. package/lib/commonjs/renderer/Reconciler.js +2 -2
  66. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  67. package/lib/commonjs/renderer/__tests__/setup.d.ts +2 -3
  68. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
  69. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  70. package/lib/commonjs/renderer/typeddash.js +5 -1
  71. package/lib/commonjs/renderer/typeddash.js.map +1 -1
  72. package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
  73. package/lib/commonjs/skia/types/Path/Path.js +5 -1
  74. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  75. package/lib/commonjs/skia/types/Shader/Shader.js +13 -6
  76. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  77. package/lib/commonjs/sksg/Container.d.ts +19 -0
  78. package/lib/commonjs/sksg/Container.js +102 -0
  79. package/lib/commonjs/sksg/Container.js.map +1 -0
  80. package/lib/commonjs/sksg/DeclarationContext.d.ts +56 -0
  81. package/lib/commonjs/sksg/DeclarationContext.js +77 -0
  82. package/lib/commonjs/sksg/DeclarationContext.js.map +1 -0
  83. package/lib/commonjs/sksg/DrawingContext.d.ts +13 -0
  84. package/lib/commonjs/sksg/DrawingContext.js +172 -0
  85. package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
  86. package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
  87. package/lib/commonjs/sksg/HostConfig.js +168 -0
  88. package/lib/commonjs/sksg/HostConfig.js.map +1 -0
  89. package/lib/commonjs/sksg/Reconciler.d.ts +19 -0
  90. package/lib/commonjs/sksg/Reconciler.js +61 -0
  91. package/lib/commonjs/sksg/Reconciler.js.map +1 -0
  92. package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
  93. package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
  94. package/lib/commonjs/{renderer/DrawingContext.js → sksg/nodes/Node.js} +1 -1
  95. package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
  96. package/lib/commonjs/sksg/nodes/colorFilters.d.ts +10 -0
  97. package/lib/commonjs/sksg/nodes/colorFilters.js +79 -0
  98. package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
  99. package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
  100. package/lib/commonjs/sksg/nodes/context.js +394 -0
  101. package/lib/commonjs/sksg/nodes/context.js.map +1 -0
  102. package/lib/commonjs/sksg/nodes/drawings.d.ts +30 -0
  103. package/lib/commonjs/sksg/nodes/drawings.js +398 -0
  104. package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
  105. package/lib/commonjs/sksg/nodes/imageFilters.d.ts +17 -0
  106. package/lib/commonjs/sksg/nodes/imageFilters.js +197 -0
  107. package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
  108. package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
  109. package/lib/commonjs/sksg/nodes/index.js +39 -0
  110. package/lib/commonjs/sksg/nodes/index.js.map +1 -0
  111. package/lib/commonjs/sksg/nodes/paint.d.ts +3 -0
  112. package/lib/commonjs/sksg/nodes/paint.js +81 -0
  113. package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
  114. package/lib/commonjs/sksg/nodes/pathEffects.d.ts +11 -0
  115. package/lib/commonjs/sksg/nodes/pathEffects.js +111 -0
  116. package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
  117. package/lib/commonjs/sksg/nodes/shaders.d.ts +11 -0
  118. package/lib/commonjs/sksg/nodes/shaders.js +173 -0
  119. package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
  120. package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  121. package/lib/commonjs/sksg/nodes/utils.js +28 -0
  122. package/lib/commonjs/sksg/nodes/utils.js.map +1 -0
  123. package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -7
  124. package/lib/commonjs/views/SkiaDomView.web.js +0 -30
  125. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  126. package/lib/commonjs/views/SkiaPictureView.js +0 -2
  127. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  128. package/lib/commonjs/views/SkiaPictureView.web.d.ts +3 -1
  129. package/lib/commonjs/views/SkiaPictureView.web.js +10 -0
  130. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  131. package/lib/commonjs/views/types.d.ts +4 -9
  132. package/lib/commonjs/views/types.js.map +1 -1
  133. package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -7
  134. package/lib/module/dom/nodes/JsiSkDOM.js +58 -70
  135. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  136. package/lib/module/dom/nodes/datatypes/Circle.d.ts +2 -3
  137. package/lib/module/dom/nodes/datatypes/Circle.js +14 -6
  138. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  139. package/lib/module/dom/nodes/datatypes/Enum.js +5 -1
  140. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
  141. package/lib/module/dom/nodes/datatypes/Gradient.js +19 -11
  142. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  143. package/lib/module/dom/nodes/datatypes/Path.js +7 -1
  144. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
  145. package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
  146. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
  147. package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
  148. package/lib/module/dom/nodes/datatypes/Rect.js +24 -2
  149. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  150. package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
  151. package/lib/module/dom/nodes/datatypes/Transform.js +33 -0
  152. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
  153. package/lib/module/dom/types/Node.d.ts +2 -5
  154. package/lib/module/dom/types/Node.js.map +1 -1
  155. package/lib/module/dom/types/index.d.ts +0 -2
  156. package/lib/module/dom/types/index.js +0 -2
  157. package/lib/module/dom/types/index.js.map +1 -1
  158. package/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  159. package/lib/module/external/reanimated/renderHelpers.js +8 -4
  160. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  161. package/lib/module/headless/index.js +3 -5
  162. package/lib/module/headless/index.js.map +1 -1
  163. package/lib/module/index.d.ts +1 -0
  164. package/lib/module/index.js +1 -0
  165. package/lib/module/index.js.map +1 -1
  166. package/lib/module/renderer/Canvas.js +9 -26
  167. package/lib/module/renderer/Canvas.js.map +1 -1
  168. package/lib/module/renderer/Canvas.web.d.ts +10 -0
  169. package/lib/module/renderer/Canvas.web.js +105 -0
  170. package/lib/module/renderer/Canvas.web.js.map +1 -0
  171. package/lib/module/renderer/Canvas2.d.ts +10 -0
  172. package/lib/module/renderer/Canvas2.js +97 -0
  173. package/lib/module/renderer/Canvas2.js.map +1 -0
  174. package/lib/module/renderer/Canvas2.web.d.ts +3 -0
  175. package/lib/module/renderer/Canvas2.web.js +3 -0
  176. package/lib/module/renderer/Canvas2.web.js.map +1 -0
  177. package/lib/module/renderer/Container.d.ts +3 -5
  178. package/lib/module/renderer/Container.js +2 -7
  179. package/lib/module/renderer/Container.js.map +1 -1
  180. package/lib/module/renderer/HostComponents.d.ts +3 -6
  181. package/lib/module/renderer/HostComponents.js +0 -3
  182. package/lib/module/renderer/HostComponents.js.map +1 -1
  183. package/lib/module/renderer/HostConfig.js +8 -4
  184. package/lib/module/renderer/HostConfig.js.map +1 -1
  185. package/lib/module/renderer/Offscreen.js +3 -5
  186. package/lib/module/renderer/Offscreen.js.map +1 -1
  187. package/lib/module/renderer/Reconciler.d.ts +2 -3
  188. package/lib/module/renderer/Reconciler.js +2 -2
  189. package/lib/module/renderer/Reconciler.js.map +1 -1
  190. package/lib/module/renderer/__tests__/setup.d.ts +2 -3
  191. package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
  192. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  193. package/lib/module/renderer/typeddash.js +5 -1
  194. package/lib/module/renderer/typeddash.js.map +1 -1
  195. package/lib/module/skia/__tests__/setup.d.ts +0 -3
  196. package/lib/module/skia/types/Path/Path.js +5 -1
  197. package/lib/module/skia/types/Path/Path.js.map +1 -1
  198. package/lib/module/skia/types/Shader/Shader.js +13 -6
  199. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  200. package/lib/module/sksg/Container.d.ts +19 -0
  201. package/lib/module/sksg/Container.js +94 -0
  202. package/lib/module/sksg/Container.js.map +1 -0
  203. package/lib/module/sksg/DeclarationContext.d.ts +56 -0
  204. package/lib/module/sksg/DeclarationContext.js +69 -0
  205. package/lib/module/sksg/DeclarationContext.js.map +1 -0
  206. package/lib/module/sksg/DrawingContext.d.ts +13 -0
  207. package/lib/module/sksg/DrawingContext.js +165 -0
  208. package/lib/module/sksg/DrawingContext.js.map +1 -0
  209. package/lib/module/sksg/HostConfig.d.ts +19 -0
  210. package/lib/module/sksg/HostConfig.js +161 -0
  211. package/lib/module/sksg/HostConfig.js.map +1 -0
  212. package/lib/module/sksg/Reconciler.d.ts +19 -0
  213. package/lib/module/sksg/Reconciler.js +53 -0
  214. package/lib/module/sksg/Reconciler.js.map +1 -0
  215. package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
  216. package/lib/module/sksg/nodes/Node.d.ts +7 -0
  217. package/lib/module/sksg/nodes/Node.js +2 -0
  218. package/lib/module/sksg/nodes/Node.js.map +1 -0
  219. package/lib/module/sksg/nodes/colorFilters.d.ts +10 -0
  220. package/lib/module/sksg/nodes/colorFilters.js +66 -0
  221. package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
  222. package/lib/module/sksg/nodes/context.d.ts +3 -0
  223. package/lib/module/sksg/nodes/context.js +387 -0
  224. package/lib/module/sksg/nodes/context.js.map +1 -0
  225. package/lib/module/sksg/nodes/drawings.d.ts +30 -0
  226. package/lib/module/sksg/nodes/drawings.js +371 -0
  227. package/lib/module/sksg/nodes/drawings.js.map +1 -0
  228. package/lib/module/sksg/nodes/imageFilters.d.ts +17 -0
  229. package/lib/module/sksg/nodes/imageFilters.js +181 -0
  230. package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
  231. package/lib/module/sksg/nodes/index.d.ts +3 -0
  232. package/lib/module/sksg/nodes/index.js +4 -0
  233. package/lib/module/sksg/nodes/index.js.map +1 -0
  234. package/lib/module/sksg/nodes/paint.d.ts +3 -0
  235. package/lib/module/sksg/nodes/paint.js +74 -0
  236. package/lib/module/sksg/nodes/paint.js.map +1 -0
  237. package/lib/module/sksg/nodes/pathEffects.d.ts +11 -0
  238. package/lib/module/sksg/nodes/pathEffects.js +97 -0
  239. package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
  240. package/lib/module/sksg/nodes/shaders.d.ts +11 -0
  241. package/lib/module/sksg/nodes/shaders.js +158 -0
  242. package/lib/module/sksg/nodes/shaders.js.map +1 -0
  243. package/lib/module/sksg/nodes/utils.d.ts +3 -0
  244. package/lib/module/sksg/nodes/utils.js +20 -0
  245. package/lib/module/sksg/nodes/utils.js.map +1 -0
  246. package/lib/module/views/SkiaDomView.web.d.ts +0 -7
  247. package/lib/module/views/SkiaDomView.web.js +1 -24
  248. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  249. package/lib/module/views/SkiaPictureView.js +0 -2
  250. package/lib/module/views/SkiaPictureView.js.map +1 -1
  251. package/lib/module/views/SkiaPictureView.web.d.ts +3 -1
  252. package/lib/module/views/SkiaPictureView.web.js +10 -0
  253. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  254. package/lib/module/views/types.d.ts +4 -9
  255. package/lib/module/views/types.js.map +1 -1
  256. package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +57 -67
  257. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +1 -1
  258. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
  259. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
  260. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  261. package/lib/typescript/lib/commonjs/renderer/Canvas.web.d.ts +3 -0
  262. package/lib/typescript/lib/commonjs/renderer/Canvas2.d.ts +3 -0
  263. package/lib/typescript/lib/commonjs/renderer/{DrawingContext.d.ts → Canvas2.web.d.ts} +1 -0
  264. package/lib/typescript/lib/commonjs/renderer/Container.d.ts +1 -2
  265. package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -1
  266. package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +3 -1
  267. package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +1 -1
  268. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
  269. package/lib/typescript/lib/commonjs/sksg/DeclarationContext.d.ts +53 -0
  270. package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +22 -0
  271. package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
  272. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +18 -0
  273. package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +8 -0
  274. package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
  275. package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +22 -0
  276. package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +12 -0
  277. package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  278. package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +9 -0
  279. package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  280. package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  281. package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +0 -5
  282. package/lib/typescript/lib/commonjs/views/SkiaPictureView.web.d.ts +2 -0
  283. package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +57 -117
  284. package/lib/typescript/lib/module/dom/nodes/datatypes/Circle.d.ts +1 -1
  285. package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
  286. package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
  287. package/lib/typescript/lib/module/dom/types/index.d.ts +0 -2
  288. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  289. package/lib/typescript/lib/module/index.d.ts +1 -0
  290. package/lib/typescript/lib/module/mock/index.d.ts +4 -4
  291. package/lib/typescript/lib/module/renderer/Canvas.web.d.ts +1 -0
  292. package/lib/typescript/lib/module/renderer/Canvas2.d.ts +1 -0
  293. package/lib/typescript/lib/module/renderer/Canvas2.web.d.ts +1 -0
  294. package/lib/typescript/lib/module/renderer/Container.d.ts +3 -4
  295. package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
  296. package/lib/typescript/lib/module/renderer/HostConfig.d.ts +3 -1
  297. package/lib/typescript/lib/module/renderer/Reconciler.d.ts +2 -2
  298. package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
  299. package/lib/typescript/lib/module/sksg/DeclarationContext.d.ts +52 -0
  300. package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +21 -0
  301. package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
  302. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +17 -0
  303. package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
  304. package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
  305. package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +21 -0
  306. package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +11 -0
  307. package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
  308. package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
  309. package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
  310. package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
  311. package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -0
  312. package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +0 -4
  313. package/lib/typescript/lib/module/views/SkiaPictureView.web.d.ts +2 -0
  314. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -7
  315. package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +2 -3
  316. package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
  317. package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
  318. package/lib/typescript/src/dom/types/Node.d.ts +2 -5
  319. package/lib/typescript/src/dom/types/index.d.ts +0 -2
  320. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
  321. package/lib/typescript/src/index.d.ts +1 -0
  322. package/lib/typescript/src/renderer/Canvas.web.d.ts +10 -0
  323. package/lib/typescript/src/renderer/Canvas2.d.ts +10 -0
  324. package/lib/typescript/src/renderer/Canvas2.web.d.ts +3 -0
  325. package/lib/typescript/src/renderer/Container.d.ts +3 -5
  326. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -6
  327. package/lib/typescript/src/renderer/Reconciler.d.ts +2 -3
  328. package/lib/typescript/src/renderer/__tests__/setup.d.ts +2 -3
  329. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
  330. package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
  331. package/lib/typescript/src/sksg/Container.d.ts +19 -0
  332. package/lib/typescript/src/sksg/DeclarationContext.d.ts +56 -0
  333. package/lib/typescript/src/sksg/DrawingContext.d.ts +13 -0
  334. package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
  335. package/lib/typescript/src/sksg/Reconciler.d.ts +19 -0
  336. package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
  337. package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
  338. package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +10 -0
  339. package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
  340. package/lib/typescript/src/sksg/nodes/drawings.d.ts +30 -0
  341. package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +17 -0
  342. package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
  343. package/lib/typescript/src/sksg/nodes/paint.d.ts +3 -0
  344. package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +11 -0
  345. package/lib/typescript/src/sksg/nodes/shaders.d.ts +11 -0
  346. package/lib/typescript/src/sksg/nodes/utils.d.ts +3 -0
  347. package/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -7
  348. package/lib/typescript/src/views/SkiaPictureView.web.d.ts +3 -1
  349. package/lib/typescript/src/views/types.d.ts +4 -9
  350. package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
  351. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  352. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  353. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  354. package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
  355. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  356. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  357. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  358. package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
  359. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  360. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  361. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  362. package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
  363. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  364. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  365. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  366. package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
  367. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  368. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  369. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  370. package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
  371. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  372. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  373. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  374. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
  375. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  376. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  377. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  378. package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
  379. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  380. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  381. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  382. package/package.json +3 -3
  383. package/react-native-skia.podspec +9 -9
  384. package/src/__tests__/setup.ts +1 -1
  385. package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
  386. package/src/__tests__/snapshots/sksg/breathe.png +0 -0
  387. package/src/__tests__/snapshots/sksg/simple.png +0 -0
  388. package/src/__tests__/snapshots/sksg/simple2.png +0 -0
  389. package/src/dom/nodes/JsiSkDOM.ts +58 -238
  390. package/src/dom/nodes/datatypes/Circle.ts +7 -5
  391. package/src/dom/nodes/datatypes/Enum.ts +4 -2
  392. package/src/dom/nodes/datatypes/Gradient.ts +14 -14
  393. package/src/dom/nodes/datatypes/Path.ts +5 -2
  394. package/src/dom/nodes/datatypes/Radius.ts +1 -0
  395. package/src/dom/nodes/datatypes/Rect.ts +44 -5
  396. package/src/dom/nodes/datatypes/Transform.ts +31 -1
  397. package/src/dom/types/Node.ts +2 -5
  398. package/src/dom/types/index.ts +0 -2
  399. package/src/external/reanimated/renderHelpers.ts +8 -4
  400. package/src/headless/index.ts +3 -5
  401. package/src/index.ts +1 -0
  402. package/src/renderer/Canvas.tsx +12 -31
  403. package/src/renderer/Canvas.web.tsx +134 -0
  404. package/src/renderer/Canvas2.tsx +128 -0
  405. package/src/renderer/Canvas2.web.tsx +6 -0
  406. package/src/renderer/Container.tsx +4 -16
  407. package/src/renderer/HostComponents.ts +2 -10
  408. package/src/renderer/HostConfig.ts +10 -4
  409. package/src/renderer/Offscreen.tsx +3 -6
  410. package/src/renderer/Reconciler.tsx +1 -5
  411. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
  412. package/src/renderer/__tests__/setup.tsx +17 -15
  413. package/src/renderer/processors/Animations/Animations.ts +1 -5
  414. package/src/renderer/typeddash.ts +4 -2
  415. package/src/skia/__tests__/setup.ts +1 -51
  416. package/src/skia/types/Path/Path.ts +4 -2
  417. package/src/skia/types/Shader/Shader.ts +8 -4
  418. package/src/sksg/Container.ts +102 -0
  419. package/src/sksg/DeclarationContext.ts +85 -0
  420. package/src/sksg/DrawingContext.ts +226 -0
  421. package/src/sksg/HostConfig.ts +287 -0
  422. package/src/sksg/Reconciler.ts +66 -0
  423. package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
  424. package/src/{dom/types/DeclarationContext.ts → sksg/__tests__/MockDeclaration.ts} +54 -21
  425. package/src/sksg/__tests__/Simple.spec.tsx +148 -0
  426. package/src/sksg/nodes/Node.ts +8 -0
  427. package/src/sksg/nodes/colorFilters.ts +79 -0
  428. package/src/sksg/nodes/context.ts +412 -0
  429. package/src/sksg/nodes/drawings.ts +405 -0
  430. package/src/sksg/nodes/imageFilters.ts +235 -0
  431. package/src/sksg/nodes/index.ts +3 -0
  432. package/src/sksg/nodes/paint.ts +75 -0
  433. package/src/sksg/nodes/pathEffects.ts +118 -0
  434. package/src/sksg/nodes/shaders.ts +210 -0
  435. package/src/sksg/nodes/utils.ts +23 -0
  436. package/src/views/SkiaDomView.web.tsx +0 -23
  437. package/src/views/SkiaPictureView.tsx +0 -2
  438. package/src/views/SkiaPictureView.web.tsx +10 -1
  439. package/src/views/types.ts +4 -10
  440. package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
  441. package/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -14
  442. package/lib/commonjs/dom/nodes/DrawingNode.js +0 -69
  443. package/lib/commonjs/dom/nodes/DrawingNode.js.map +0 -1
  444. package/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -7
  445. package/lib/commonjs/dom/nodes/GroupNode.js +0 -22
  446. package/lib/commonjs/dom/nodes/GroupNode.js.map +0 -1
  447. package/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -8
  448. package/lib/commonjs/dom/nodes/LayerNode.js +0 -39
  449. package/lib/commonjs/dom/nodes/LayerNode.js.map +0 -1
  450. package/lib/commonjs/dom/nodes/Node.d.ts +0 -34
  451. package/lib/commonjs/dom/nodes/Node.js +0 -102
  452. package/lib/commonjs/dom/nodes/Node.js.map +0 -1
  453. package/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -8
  454. package/lib/commonjs/dom/nodes/PaintNode.js +0 -90
  455. package/lib/commonjs/dom/nodes/PaintNode.js.map +0 -1
  456. package/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -26
  457. package/lib/commonjs/dom/nodes/RenderNode.js +0 -132
  458. package/lib/commonjs/dom/nodes/RenderNode.js.map +0 -1
  459. package/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  460. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js +0 -36
  461. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js.map +0 -1
  462. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  463. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +0 -42
  464. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
  465. package/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
  466. package/lib/commonjs/dom/nodes/drawings/Box.js +0 -82
  467. package/lib/commonjs/dom/nodes/drawings/Box.js.map +0 -1
  468. package/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -9
  469. package/lib/commonjs/dom/nodes/drawings/CircleNode.js +0 -32
  470. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +0 -1
  471. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  472. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js +0 -28
  473. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js.map +0 -1
  474. package/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -8
  475. package/lib/commonjs/dom/nodes/drawings/FillNode.js +0 -24
  476. package/lib/commonjs/dom/nodes/drawings/FillNode.js.map +0 -1
  477. package/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -25
  478. package/lib/commonjs/dom/nodes/drawings/ImageNode.js +0 -71
  479. package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +0 -1
  480. package/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  481. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js +0 -57
  482. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js.map +0 -1
  483. package/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -8
  484. package/lib/commonjs/dom/nodes/drawings/LineNode.js +0 -28
  485. package/lib/commonjs/dom/nodes/drawings/LineNode.js.map +0 -1
  486. package/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -9
  487. package/lib/commonjs/dom/nodes/drawings/OvalNode.js +0 -28
  488. package/lib/commonjs/dom/nodes/drawings/OvalNode.js.map +0 -1
  489. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  490. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +0 -32
  491. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +0 -1
  492. package/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -18
  493. package/lib/commonjs/dom/nodes/drawings/PatchNode.js +0 -53
  494. package/lib/commonjs/dom/nodes/drawings/PatchNode.js.map +0 -1
  495. package/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -9
  496. package/lib/commonjs/dom/nodes/drawings/PathNode.js +0 -55
  497. package/lib/commonjs/dom/nodes/drawings/PathNode.js.map +0 -1
  498. package/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -8
  499. package/lib/commonjs/dom/nodes/drawings/PictureNode.js +0 -26
  500. package/lib/commonjs/dom/nodes/drawings/PictureNode.js.map +0 -1
  501. package/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -8
  502. package/lib/commonjs/dom/nodes/drawings/PointsNode.js +0 -30
  503. package/lib/commonjs/dom/nodes/drawings/PointsNode.js.map +0 -1
  504. package/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
  505. package/lib/commonjs/dom/nodes/drawings/RRectNode.js +0 -32
  506. package/lib/commonjs/dom/nodes/drawings/RRectNode.js.map +0 -1
  507. package/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -9
  508. package/lib/commonjs/dom/nodes/drawings/RectNode.js +0 -28
  509. package/lib/commonjs/dom/nodes/drawings/RectNode.js.map +0 -1
  510. package/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -30
  511. package/lib/commonjs/dom/nodes/drawings/Text.js +0 -159
  512. package/lib/commonjs/dom/nodes/drawings/Text.js.map +0 -1
  513. package/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  514. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js +0 -43
  515. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js.map +0 -1
  516. package/lib/commonjs/dom/nodes/drawings/index.d.ts +0 -18
  517. package/lib/commonjs/dom/nodes/drawings/index.js +0 -204
  518. package/lib/commonjs/dom/nodes/drawings/index.js.map +0 -1
  519. package/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -8
  520. package/lib/commonjs/dom/nodes/paint/BlendNode.js +0 -37
  521. package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +0 -1
  522. package/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -35
  523. package/lib/commonjs/dom/nodes/paint/ColorFilters.js +0 -102
  524. package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +0 -1
  525. package/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -42
  526. package/lib/commonjs/dom/nodes/paint/ImageFilters.js +0 -183
  527. package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +0 -1
  528. package/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -8
  529. package/lib/commonjs/dom/nodes/paint/MaskFilters.js +0 -26
  530. package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +0 -1
  531. package/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -39
  532. package/lib/commonjs/dom/nodes/paint/PathEffects.js +0 -136
  533. package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +0 -1
  534. package/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -43
  535. package/lib/commonjs/dom/nodes/paint/Shaders.js +0 -209
  536. package/lib/commonjs/dom/nodes/paint/Shaders.js.map +0 -1
  537. package/lib/commonjs/dom/nodes/paint/index.d.ts +0 -6
  538. package/lib/commonjs/dom/nodes/paint/index.js +0 -72
  539. package/lib/commonjs/dom/nodes/paint/index.js.map +0 -1
  540. package/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -29
  541. package/lib/commonjs/dom/types/DeclarationContext.js +0 -91
  542. package/lib/commonjs/dom/types/DeclarationContext.js.map +0 -1
  543. package/lib/commonjs/dom/types/DrawingContext.d.ts +0 -22
  544. package/lib/commonjs/dom/types/DrawingContext.js +0 -263
  545. package/lib/commonjs/dom/types/DrawingContext.js.map +0 -1
  546. package/lib/commonjs/renderer/DrawingContext.d.ts +0 -7
  547. package/lib/commonjs/renderer/DrawingContext.js.map +0 -1
  548. package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  549. package/lib/commonjs/views/SkiaJSDomView.d.ts +0 -38
  550. package/lib/commonjs/views/SkiaJSDomView.js +0 -131
  551. package/lib/commonjs/views/SkiaJSDomView.js.map +0 -1
  552. package/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -1
  553. package/lib/commonjs/views/SkiaJSDomView.web.js +0 -13
  554. package/lib/commonjs/views/SkiaJSDomView.web.js.map +0 -1
  555. package/lib/module/dom/__tests__/Compose.spec.d.ts +0 -1
  556. package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
  557. package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  558. package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
  559. package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
  560. package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
  561. package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  562. package/lib/module/dom/__tests__/Shaders.spec.d.ts +0 -1
  563. package/lib/module/dom/nodes/DrawingNode.d.ts +0 -14
  564. package/lib/module/dom/nodes/DrawingNode.js +0 -62
  565. package/lib/module/dom/nodes/DrawingNode.js.map +0 -1
  566. package/lib/module/dom/nodes/GroupNode.d.ts +0 -7
  567. package/lib/module/dom/nodes/GroupNode.js +0 -15
  568. package/lib/module/dom/nodes/GroupNode.js.map +0 -1
  569. package/lib/module/dom/nodes/LayerNode.d.ts +0 -8
  570. package/lib/module/dom/nodes/LayerNode.js +0 -32
  571. package/lib/module/dom/nodes/LayerNode.js.map +0 -1
  572. package/lib/module/dom/nodes/Node.d.ts +0 -34
  573. package/lib/module/dom/nodes/Node.js +0 -94
  574. package/lib/module/dom/nodes/Node.js.map +0 -1
  575. package/lib/module/dom/nodes/PaintNode.d.ts +0 -8
  576. package/lib/module/dom/nodes/PaintNode.js +0 -83
  577. package/lib/module/dom/nodes/PaintNode.js.map +0 -1
  578. package/lib/module/dom/nodes/RenderNode.d.ts +0 -26
  579. package/lib/module/dom/nodes/RenderNode.js +0 -125
  580. package/lib/module/dom/nodes/RenderNode.js.map +0 -1
  581. package/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  582. package/lib/module/dom/nodes/drawings/AtlasNode.js +0 -29
  583. package/lib/module/dom/nodes/drawings/AtlasNode.js.map +0 -1
  584. package/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  585. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +0 -35
  586. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
  587. package/lib/module/dom/nodes/drawings/Box.d.ts +0 -15
  588. package/lib/module/dom/nodes/drawings/Box.js +0 -74
  589. package/lib/module/dom/nodes/drawings/Box.js.map +0 -1
  590. package/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
  591. package/lib/module/dom/nodes/drawings/CircleNode.js +0 -25
  592. package/lib/module/dom/nodes/drawings/CircleNode.js.map +0 -1
  593. package/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  594. package/lib/module/dom/nodes/drawings/DiffRectNode.js +0 -21
  595. package/lib/module/dom/nodes/drawings/DiffRectNode.js.map +0 -1
  596. package/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -8
  597. package/lib/module/dom/nodes/drawings/FillNode.js +0 -17
  598. package/lib/module/dom/nodes/drawings/FillNode.js.map +0 -1
  599. package/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -25
  600. package/lib/module/dom/nodes/drawings/ImageNode.js +0 -64
  601. package/lib/module/dom/nodes/drawings/ImageNode.js.map +0 -1
  602. package/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  603. package/lib/module/dom/nodes/drawings/ImageSVG.js +0 -50
  604. package/lib/module/dom/nodes/drawings/ImageSVG.js.map +0 -1
  605. package/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -8
  606. package/lib/module/dom/nodes/drawings/LineNode.js +0 -21
  607. package/lib/module/dom/nodes/drawings/LineNode.js.map +0 -1
  608. package/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
  609. package/lib/module/dom/nodes/drawings/OvalNode.js +0 -21
  610. package/lib/module/dom/nodes/drawings/OvalNode.js.map +0 -1
  611. package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  612. package/lib/module/dom/nodes/drawings/ParagraphNode.js +0 -25
  613. package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +0 -1
  614. package/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -18
  615. package/lib/module/dom/nodes/drawings/PatchNode.js +0 -46
  616. package/lib/module/dom/nodes/drawings/PatchNode.js.map +0 -1
  617. package/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
  618. package/lib/module/dom/nodes/drawings/PathNode.js +0 -48
  619. package/lib/module/dom/nodes/drawings/PathNode.js.map +0 -1
  620. package/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
  621. package/lib/module/dom/nodes/drawings/PictureNode.js +0 -19
  622. package/lib/module/dom/nodes/drawings/PictureNode.js.map +0 -1
  623. package/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -8
  624. package/lib/module/dom/nodes/drawings/PointsNode.js +0 -23
  625. package/lib/module/dom/nodes/drawings/PointsNode.js.map +0 -1
  626. package/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -10
  627. package/lib/module/dom/nodes/drawings/RRectNode.js +0 -25
  628. package/lib/module/dom/nodes/drawings/RRectNode.js.map +0 -1
  629. package/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
  630. package/lib/module/dom/nodes/drawings/RectNode.js +0 -21
  631. package/lib/module/dom/nodes/drawings/RectNode.js.map +0 -1
  632. package/lib/module/dom/nodes/drawings/Text.d.ts +0 -30
  633. package/lib/module/dom/nodes/drawings/Text.js +0 -149
  634. package/lib/module/dom/nodes/drawings/Text.js.map +0 -1
  635. package/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  636. package/lib/module/dom/nodes/drawings/VerticesNode.js +0 -36
  637. package/lib/module/dom/nodes/drawings/VerticesNode.js.map +0 -1
  638. package/lib/module/dom/nodes/drawings/index.d.ts +0 -18
  639. package/lib/module/dom/nodes/drawings/index.js +0 -19
  640. package/lib/module/dom/nodes/drawings/index.js.map +0 -1
  641. package/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -8
  642. package/lib/module/dom/nodes/paint/BlendNode.js +0 -30
  643. package/lib/module/dom/nodes/paint/BlendNode.js.map +0 -1
  644. package/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -35
  645. package/lib/module/dom/nodes/paint/ColorFilters.js +0 -89
  646. package/lib/module/dom/nodes/paint/ColorFilters.js.map +0 -1
  647. package/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -42
  648. package/lib/module/dom/nodes/paint/ImageFilters.js +0 -169
  649. package/lib/module/dom/nodes/paint/ImageFilters.js.map +0 -1
  650. package/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -8
  651. package/lib/module/dom/nodes/paint/MaskFilters.js +0 -19
  652. package/lib/module/dom/nodes/paint/MaskFilters.js.map +0 -1
  653. package/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -39
  654. package/lib/module/dom/nodes/paint/PathEffects.js +0 -123
  655. package/lib/module/dom/nodes/paint/PathEffects.js.map +0 -1
  656. package/lib/module/dom/nodes/paint/Shaders.d.ts +0 -43
  657. package/lib/module/dom/nodes/paint/Shaders.js +0 -193
  658. package/lib/module/dom/nodes/paint/Shaders.js.map +0 -1
  659. package/lib/module/dom/nodes/paint/index.d.ts +0 -6
  660. package/lib/module/dom/nodes/paint/index.js +0 -7
  661. package/lib/module/dom/nodes/paint/index.js.map +0 -1
  662. package/lib/module/dom/types/DeclarationContext.d.ts +0 -29
  663. package/lib/module/dom/types/DeclarationContext.js +0 -83
  664. package/lib/module/dom/types/DeclarationContext.js.map +0 -1
  665. package/lib/module/dom/types/DrawingContext.d.ts +0 -22
  666. package/lib/module/dom/types/DrawingContext.js +0 -256
  667. package/lib/module/dom/types/DrawingContext.js.map +0 -1
  668. package/lib/module/renderer/DrawingContext.d.ts +0 -7
  669. package/lib/module/renderer/DrawingContext.js +0 -2
  670. package/lib/module/renderer/DrawingContext.js.map +0 -1
  671. package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  672. package/lib/module/views/SkiaJSDomView.d.ts +0 -38
  673. package/lib/module/views/SkiaJSDomView.js +0 -123
  674. package/lib/module/views/SkiaJSDomView.js.map +0 -1
  675. package/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
  676. package/lib/module/views/SkiaJSDomView.web.js +0 -2
  677. package/lib/module/views/SkiaJSDomView.web.js.map +0 -1
  678. package/lib/typescript/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -6
  679. package/lib/typescript/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -6
  680. package/lib/typescript/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -6
  681. package/lib/typescript/lib/commonjs/dom/nodes/Node.d.ts +0 -20
  682. package/lib/typescript/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -6
  683. package/lib/typescript/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -16
  684. package/lib/typescript/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -10
  685. package/lib/typescript/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -10
  686. package/lib/typescript/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
  687. package/lib/typescript/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -10
  688. package/lib/typescript/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -10
  689. package/lib/typescript/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -10
  690. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -13
  691. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -9
  692. package/lib/typescript/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -10
  693. package/lib/typescript/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -10
  694. package/lib/typescript/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -9
  695. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -14
  696. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -10
  697. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -9
  698. package/lib/typescript/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -10
  699. package/lib/typescript/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
  700. package/lib/typescript/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -10
  701. package/lib/typescript/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -34
  702. package/lib/typescript/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -10
  703. package/lib/typescript/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -6
  704. package/lib/typescript/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -29
  705. package/lib/typescript/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -35
  706. package/lib/typescript/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -6
  707. package/lib/typescript/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -34
  708. package/lib/typescript/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -40
  709. package/lib/typescript/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -26
  710. package/lib/typescript/lib/commonjs/dom/types/DrawingContext.d.ts +0 -13
  711. package/lib/typescript/lib/commonjs/views/SkiaJSDomView.d.ts +0 -29
  712. package/lib/typescript/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -3
  713. package/lib/typescript/lib/module/dom/nodes/DrawingNode.d.ts +0 -5
  714. package/lib/typescript/lib/module/dom/nodes/GroupNode.d.ts +0 -5
  715. package/lib/typescript/lib/module/dom/nodes/LayerNode.d.ts +0 -5
  716. package/lib/typescript/lib/module/dom/nodes/Node.d.ts +0 -19
  717. package/lib/typescript/lib/module/dom/nodes/PaintNode.d.ts +0 -5
  718. package/lib/typescript/lib/module/dom/nodes/RenderNode.d.ts +0 -15
  719. package/lib/typescript/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -9
  720. package/lib/typescript/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -9
  721. package/lib/typescript/lib/module/dom/nodes/drawings/Box.d.ts +0 -14
  722. package/lib/typescript/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
  723. package/lib/typescript/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -9
  724. package/lib/typescript/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -9
  725. package/lib/typescript/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -22
  726. package/lib/typescript/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -8
  727. package/lib/typescript/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -9
  728. package/lib/typescript/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
  729. package/lib/typescript/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  730. package/lib/typescript/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -13
  731. package/lib/typescript/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
  732. package/lib/typescript/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
  733. package/lib/typescript/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -9
  734. package/lib/typescript/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -9
  735. package/lib/typescript/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
  736. package/lib/typescript/lib/module/dom/nodes/drawings/Text.d.ts +0 -33
  737. package/lib/typescript/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  738. package/lib/typescript/lib/module/dom/nodes/drawings/index.d.ts +0 -18
  739. package/lib/typescript/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -5
  740. package/lib/typescript/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -28
  741. package/lib/typescript/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -34
  742. package/lib/typescript/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -5
  743. package/lib/typescript/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -33
  744. package/lib/typescript/lib/module/dom/nodes/paint/Shaders.d.ts +0 -39
  745. package/lib/typescript/lib/module/dom/nodes/paint/index.d.ts +0 -6
  746. package/lib/typescript/lib/module/dom/types/DeclarationContext.d.ts +0 -25
  747. package/lib/typescript/lib/module/dom/types/DrawingContext.d.ts +0 -12
  748. package/lib/typescript/lib/module/renderer/DrawingContext.d.ts +0 -1
  749. package/lib/typescript/lib/module/views/SkiaJSDomView.d.ts +0 -26
  750. package/lib/typescript/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
  751. package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +0 -1
  752. package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
  753. package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  754. package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
  755. package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
  756. package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
  757. package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  758. package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +0 -1
  759. package/lib/typescript/src/dom/nodes/DrawingNode.d.ts +0 -14
  760. package/lib/typescript/src/dom/nodes/GroupNode.d.ts +0 -7
  761. package/lib/typescript/src/dom/nodes/LayerNode.d.ts +0 -8
  762. package/lib/typescript/src/dom/nodes/Node.d.ts +0 -34
  763. package/lib/typescript/src/dom/nodes/PaintNode.d.ts +0 -8
  764. package/lib/typescript/src/dom/nodes/RenderNode.d.ts +0 -26
  765. package/lib/typescript/src/dom/nodes/drawings/AtlasNode.d.ts +0 -8
  766. package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
  767. package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +0 -15
  768. package/lib/typescript/src/dom/nodes/drawings/CircleNode.d.ts +0 -9
  769. package/lib/typescript/src/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
  770. package/lib/typescript/src/dom/nodes/drawings/FillNode.d.ts +0 -8
  771. package/lib/typescript/src/dom/nodes/drawings/ImageNode.d.ts +0 -25
  772. package/lib/typescript/src/dom/nodes/drawings/ImageSVG.d.ts +0 -13
  773. package/lib/typescript/src/dom/nodes/drawings/LineNode.d.ts +0 -8
  774. package/lib/typescript/src/dom/nodes/drawings/OvalNode.d.ts +0 -9
  775. package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
  776. package/lib/typescript/src/dom/nodes/drawings/PatchNode.d.ts +0 -18
  777. package/lib/typescript/src/dom/nodes/drawings/PathNode.d.ts +0 -9
  778. package/lib/typescript/src/dom/nodes/drawings/PictureNode.d.ts +0 -8
  779. package/lib/typescript/src/dom/nodes/drawings/PointsNode.d.ts +0 -8
  780. package/lib/typescript/src/dom/nodes/drawings/RRectNode.d.ts +0 -10
  781. package/lib/typescript/src/dom/nodes/drawings/RectNode.d.ts +0 -9
  782. package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +0 -30
  783. package/lib/typescript/src/dom/nodes/drawings/VerticesNode.d.ts +0 -9
  784. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +0 -18
  785. package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +0 -8
  786. package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +0 -35
  787. package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +0 -42
  788. package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +0 -8
  789. package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +0 -39
  790. package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +0 -43
  791. package/lib/typescript/src/dom/nodes/paint/index.d.ts +0 -6
  792. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +0 -29
  793. package/lib/typescript/src/dom/types/DrawingContext.d.ts +0 -22
  794. package/lib/typescript/src/renderer/DrawingContext.d.ts +0 -7
  795. package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  796. package/lib/typescript/src/views/SkiaJSDomView.d.ts +0 -38
  797. package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +0 -1
  798. package/src/dom/__tests__/Compose.spec.tsx +0 -42
  799. package/src/dom/__tests__/Demos.spec.tsx +0 -145
  800. package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
  801. package/src/dom/__tests__/Drawings.spec.tsx +0 -95
  802. package/src/dom/__tests__/Group.spec.tsx +0 -132
  803. package/src/dom/__tests__/Paint.spec.tsx +0 -100
  804. package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
  805. package/src/dom/__tests__/Shaders.spec.tsx +0 -123
  806. package/src/dom/nodes/DrawingNode.ts +0 -74
  807. package/src/dom/nodes/GroupNode.ts +0 -19
  808. package/src/dom/nodes/LayerNode.ts +0 -37
  809. package/src/dom/nodes/Node.ts +0 -121
  810. package/src/dom/nodes/PaintNode.ts +0 -91
  811. package/src/dom/nodes/RenderNode.ts +0 -172
  812. package/src/dom/nodes/drawings/AtlasNode.ts +0 -24
  813. package/src/dom/nodes/drawings/BackdropFilterNode.ts +0 -37
  814. package/src/dom/nodes/drawings/Box.ts +0 -110
  815. package/src/dom/nodes/drawings/CircleNode.ts +0 -24
  816. package/src/dom/nodes/drawings/DiffRectNode.ts +0 -19
  817. package/src/dom/nodes/drawings/FillNode.ts +0 -18
  818. package/src/dom/nodes/drawings/ImageNode.ts +0 -49
  819. package/src/dom/nodes/drawings/ImageSVG.ts +0 -38
  820. package/src/dom/nodes/drawings/LineNode.ts +0 -19
  821. package/src/dom/nodes/drawings/OvalNode.ts +0 -23
  822. package/src/dom/nodes/drawings/ParagraphNode.ts +0 -22
  823. package/src/dom/nodes/drawings/PatchNode.ts +0 -54
  824. package/src/dom/nodes/drawings/PathNode.ts +0 -51
  825. package/src/dom/nodes/drawings/PictureNode.ts +0 -19
  826. package/src/dom/nodes/drawings/PointsNode.ts +0 -21
  827. package/src/dom/nodes/drawings/RRectNode.ts +0 -25
  828. package/src/dom/nodes/drawings/RectNode.ts +0 -23
  829. package/src/dom/nodes/drawings/Text.ts +0 -145
  830. package/src/dom/nodes/drawings/VerticesNode.ts +0 -35
  831. package/src/dom/nodes/drawings/index.ts +0 -18
  832. package/src/dom/nodes/paint/BlendNode.ts +0 -32
  833. package/src/dom/nodes/paint/ColorFilters.ts +0 -106
  834. package/src/dom/nodes/paint/ImageFilters.ts +0 -221
  835. package/src/dom/nodes/paint/MaskFilters.ts +0 -23
  836. package/src/dom/nodes/paint/PathEffects.ts +0 -139
  837. package/src/dom/nodes/paint/Shaders.ts +0 -233
  838. package/src/dom/nodes/paint/index.ts +0 -6
  839. package/src/dom/types/DrawingContext.ts +0 -322
  840. package/src/renderer/DrawingContext.ts +0 -8
  841. package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
  842. package/src/views/SkiaJSDomView.tsx +0 -143
  843. package/src/views/SkiaJSDomView.web.tsx +0 -1
  844. /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
  845. /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
  846. /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  847. /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
  848. /package/lib/typescript/lib/commonjs/{dom/nodes/drawings/index.d.ts → sksg/nodes/Node.d.ts} +0 -0
  849. /package/lib/typescript/lib/commonjs/{dom/nodes/paint → sksg/nodes}/index.d.ts +0 -0
  850. /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
  851. /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  852. /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
@@ -0,0 +1,56 @@
1
+ import type { SkShader, SkPaint, SkImageFilter, SkMaskFilter, SkPathEffect, Skia, SkColorFilter } from "../skia/types";
2
+ type Composer<T> = (outer: T, inner: T) => T;
3
+ export declare const composeDeclarations: <T>(filters: T[], composer: Composer<T>) => T;
4
+ export declare const createDeclarationContext: (Skia: Skia) => {
5
+ Skia: Skia;
6
+ paints: {
7
+ save: () => void;
8
+ restore: () => void;
9
+ pop: () => SkPaint | undefined;
10
+ push: (decl: SkPaint) => void;
11
+ popAll: () => SkPaint[];
12
+ popAllAsOne: () => SkPaint | undefined;
13
+ };
14
+ maskFilters: {
15
+ save: () => void;
16
+ restore: () => void;
17
+ pop: () => SkMaskFilter | undefined;
18
+ push: (decl: SkMaskFilter) => void;
19
+ popAll: () => SkMaskFilter[];
20
+ popAllAsOne: () => SkMaskFilter | undefined;
21
+ };
22
+ shaders: {
23
+ save: () => void;
24
+ restore: () => void;
25
+ pop: () => SkShader | undefined;
26
+ push: (decl: SkShader) => void;
27
+ popAll: () => SkShader[];
28
+ popAllAsOne: () => SkShader | undefined;
29
+ };
30
+ pathEffects: {
31
+ save: () => void;
32
+ restore: () => void;
33
+ pop: () => SkPathEffect | undefined;
34
+ push: (decl: SkPathEffect) => void;
35
+ popAll: () => SkPathEffect[];
36
+ popAllAsOne: () => SkPathEffect | undefined;
37
+ };
38
+ imageFilters: {
39
+ save: () => void;
40
+ restore: () => void;
41
+ pop: () => SkImageFilter | undefined;
42
+ push: (decl: SkImageFilter) => void;
43
+ popAll: () => SkImageFilter[];
44
+ popAllAsOne: () => SkImageFilter | undefined;
45
+ };
46
+ colorFilters: {
47
+ save: () => void;
48
+ restore: () => void;
49
+ pop: () => SkColorFilter | undefined;
50
+ push: (decl: SkColorFilter) => void;
51
+ popAll: () => SkColorFilter[];
52
+ popAllAsOne: () => SkColorFilter | undefined;
53
+ };
54
+ };
55
+ export type DeclarationContext = ReturnType<typeof createDeclarationContext>;
56
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDeclarationContext = exports.composeDeclarations = void 0;
7
+ const composeDeclarations = (filters, composer) => {
8
+ "worklet";
9
+
10
+ const len = filters.length;
11
+ if (len <= 1) {
12
+ return filters[0];
13
+ }
14
+ return filters.reduceRight((inner, outer) => inner ? composer(outer, inner) : outer);
15
+ };
16
+ exports.composeDeclarations = composeDeclarations;
17
+ const createDeclaration = composer => {
18
+ "worklet";
19
+
20
+ const state = {
21
+ decls: [],
22
+ indexes: [0]
23
+ };
24
+ return {
25
+ save: () => {
26
+ state.indexes.push(state.decls.length);
27
+ },
28
+ restore: () => {
29
+ state.indexes.pop();
30
+ },
31
+ pop: () => state.decls.pop(),
32
+ push: decl => {
33
+ state.decls.push(decl);
34
+ },
35
+ popAll: () => {
36
+ const idx = state.indexes[state.indexes.length - 1];
37
+ return state.decls.splice(idx, state.decls.length - idx);
38
+ },
39
+ popAllAsOne: () => {
40
+ if (state.decls.length === 0) {
41
+ return undefined;
42
+ }
43
+ if (!composer) {
44
+ throw new Error("No composer for this type of declaration");
45
+ }
46
+ if (!state.decls.length) {
47
+ return undefined;
48
+ }
49
+ if (!composer) {
50
+ throw new Error("No composer for this type of declaration");
51
+ }
52
+ const idx = state.indexes[state.indexes.length - 1];
53
+ const decls = state.decls.splice(idx, state.decls.length - idx);
54
+ return composeDeclarations(decls, composer);
55
+ }
56
+ };
57
+ };
58
+ const createDeclarationContext = Skia => {
59
+ "worklet";
60
+
61
+ const composers = {
62
+ pathEffect: Skia.PathEffect.MakeCompose.bind(Skia.PathEffect),
63
+ imageFilter: Skia.ImageFilter.MakeCompose.bind(Skia.ImageFilter),
64
+ colorFilter: Skia.ColorFilter.MakeCompose.bind(Skia.ColorFilter)
65
+ };
66
+ return {
67
+ Skia,
68
+ paints: createDeclaration(),
69
+ maskFilters: createDeclaration(),
70
+ shaders: createDeclaration(),
71
+ pathEffects: createDeclaration(composers.pathEffect),
72
+ imageFilters: createDeclaration(composers.imageFilter),
73
+ colorFilters: createDeclaration(composers.colorFilter)
74
+ };
75
+ };
76
+ exports.createDeclarationContext = createDeclarationContext;
77
+ //# sourceMappingURL=DeclarationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["composeDeclarations","filters","composer","len","length","reduceRight","inner","outer","exports","createDeclaration","state","decls","indexes","save","push","restore","pop","decl","popAll","idx","splice","popAllAsOne","undefined","Error","createDeclarationContext","Skia","composers","pathEffect","PathEffect","MakeCompose","bind","imageFilter","ImageFilter","colorFilter","ColorFilter","paints","maskFilters","shaders","pathEffects","imageFilters","colorFilters"],"sources":["DeclarationContext.ts"],"sourcesContent":["import type {\n SkShader,\n SkPaint,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n Skia,\n SkColorFilter,\n} from \"../skia/types\";\n\ntype Composer<T> = (outer: T, inner: T) => T;\n\nexport const composeDeclarations = <T>(filters: T[], composer: Composer<T>) => {\n \"worklet\";\n const len = filters.length;\n if (len <= 1) {\n return filters[0];\n }\n return filters.reduceRight((inner, outer) =>\n inner ? composer(outer, inner) : outer\n );\n};\n\nconst createDeclaration = <T>(composer?: Composer<T>) => {\n \"worklet\";\n const state = {\n decls: [] as T[],\n indexes: [0],\n };\n\n return {\n save: () => {\n state.indexes.push(state.decls.length);\n },\n restore: () => {\n state.indexes.pop();\n },\n pop: () => state.decls.pop(),\n push: (decl: T) => {\n state.decls.push(decl);\n },\n popAll: () => {\n const idx = state.indexes[state.indexes.length - 1];\n return state.decls.splice(idx, state.decls.length - idx);\n },\n popAllAsOne: () => {\n if (state.decls.length === 0) {\n return undefined;\n }\n if (!composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n if (!state.decls.length) {\n return undefined;\n }\n if (!composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n\n const idx = state.indexes[state.indexes.length - 1];\n const decls = state.decls.splice(idx, state.decls.length - idx);\n return composeDeclarations(decls, composer);\n },\n };\n};\n\nexport const createDeclarationContext = (Skia: Skia) => {\n \"worklet\";\n const composers = {\n pathEffect: Skia.PathEffect.MakeCompose.bind(Skia.PathEffect),\n imageFilter: Skia.ImageFilter.MakeCompose.bind(Skia.ImageFilter),\n colorFilter: Skia.ColorFilter.MakeCompose.bind(Skia.ColorFilter),\n };\n return {\n Skia,\n paints: createDeclaration<SkPaint>(),\n maskFilters: createDeclaration<SkMaskFilter>(),\n shaders: createDeclaration<SkShader>(),\n pathEffects: createDeclaration<SkPathEffect>(composers.pathEffect),\n imageFilters: createDeclaration<SkImageFilter>(composers.imageFilter),\n colorFilters: createDeclaration<SkColorFilter>(composers.colorFilter),\n };\n};\n\nexport type DeclarationContext = ReturnType<typeof createDeclarationContext>;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { DrawingNodeProps, GroupProps } from "../dom/types";
2
+ import type { SkCanvas, Skia, SkPaint } from "../skia/types";
3
+ import type { DeclarationContext } from "./DeclarationContext";
4
+ export declare const createDrawingContext: (Skia: Skia, canvas: SkCanvas) => {
5
+ Skia: Skia;
6
+ canvas: SkCanvas;
7
+ save: () => number;
8
+ restore: () => SkPaint | undefined;
9
+ getPaint: () => SkPaint;
10
+ processPaint: ({ opacity, color, strokeWidth, blendMode, style, strokeJoin, strokeCap, strokeMiter, antiAlias, dither, paint: paintProp, }: DrawingNodeProps, declCtx: DeclarationContext) => boolean;
11
+ processMatrixAndClipping: (props: GroupProps, layer?: boolean | SkPaint) => boolean;
12
+ };
13
+ export type DrawingContext = ReturnType<typeof createDrawingContext>;
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDrawingContext = void 0;
7
+ var _nodes = require("../dom/nodes");
8
+ var _types = require("../skia/types");
9
+ const computeClip = (Skia, clip) => {
10
+ "worklet";
11
+
12
+ if (clip) {
13
+ if ((0, _nodes.isPathDef)(clip)) {
14
+ return {
15
+ clipPath: (0, _nodes.processPath)(Skia, clip)
16
+ };
17
+ } else if ((0, _types.isRRect)(clip)) {
18
+ return {
19
+ clipRRect: clip
20
+ };
21
+ } else {
22
+ return {
23
+ clipRect: clip
24
+ };
25
+ }
26
+ }
27
+ return undefined;
28
+ };
29
+ const processColor = (Skia, color) => {
30
+ "worklet";
31
+
32
+ if (typeof color === "string" || typeof color === "number") {
33
+ return Skia.Color(color);
34
+ } else if (Array.isArray(color) || color instanceof Float32Array) {
35
+ return color instanceof Float32Array ? color : new Float32Array(color);
36
+ } else {
37
+ throw new Error(`Invalid color type: ${typeof color}. Expected number, string, or array.`);
38
+ }
39
+ };
40
+ const createDrawingContext = (Skia, canvas) => {
41
+ "worklet";
42
+
43
+ const state = {
44
+ paints: [Skia.Paint()]
45
+ };
46
+ const getPaint = () => {
47
+ return state.paints[state.paints.length - 1];
48
+ };
49
+ const processPaint = ({
50
+ opacity,
51
+ color,
52
+ strokeWidth,
53
+ blendMode,
54
+ style,
55
+ strokeJoin,
56
+ strokeCap,
57
+ strokeMiter,
58
+ antiAlias,
59
+ dither,
60
+ paint: paintProp
61
+ }, declCtx) => {
62
+ if (paintProp) {
63
+ declCtx.paints.push(paintProp);
64
+ return true;
65
+ }
66
+ let shouldRestore = false;
67
+ const colorFilter = declCtx.colorFilters.popAllAsOne();
68
+ const imageFilter = declCtx.imageFilters.popAllAsOne();
69
+ const shader = declCtx.shaders.pop();
70
+ const maskFilter = declCtx.maskFilters.pop();
71
+ const pathEffect = declCtx.pathEffects.popAllAsOne();
72
+ if (opacity !== undefined || color !== undefined || strokeWidth !== undefined || blendMode !== undefined || style !== undefined || strokeJoin !== undefined || strokeCap !== undefined || strokeMiter !== undefined || antiAlias !== undefined || dither !== undefined || colorFilter !== undefined || imageFilter !== undefined || shader !== undefined || maskFilter !== undefined || pathEffect !== undefined) {
73
+ if (!shouldRestore) {
74
+ state.paints.push(getPaint().copy());
75
+ shouldRestore = true;
76
+ }
77
+ }
78
+ const paint = getPaint();
79
+ if (opacity !== undefined) {
80
+ paint.setAlphaf(paint.getAlphaf() * opacity);
81
+ }
82
+ if (color !== undefined) {
83
+ const currentOpacity = paint.getAlphaf();
84
+ paint.setShader(null);
85
+ paint.setColor(processColor(Skia, color));
86
+ paint.setAlphaf(currentOpacity * paint.getAlphaf());
87
+ }
88
+ if (strokeWidth !== undefined) {
89
+ paint.setStrokeWidth(strokeWidth);
90
+ }
91
+ if (blendMode !== undefined) {
92
+ paint.setBlendMode(_types.BlendMode[(0, _nodes.enumKey)(blendMode)]);
93
+ }
94
+ if (style !== undefined) {
95
+ paint.setStyle(_types.PaintStyle[(0, _nodes.enumKey)(style)]);
96
+ }
97
+ if (strokeJoin !== undefined) {
98
+ paint.setStrokeJoin(_types.StrokeJoin[(0, _nodes.enumKey)(strokeJoin)]);
99
+ }
100
+ if (strokeCap !== undefined) {
101
+ paint.setStrokeCap(_types.StrokeCap[(0, _nodes.enumKey)(strokeCap)]);
102
+ }
103
+ if (strokeMiter !== undefined) {
104
+ paint.setStrokeMiter(strokeMiter);
105
+ }
106
+ if (antiAlias !== undefined) {
107
+ paint.setAntiAlias(antiAlias);
108
+ }
109
+ if (dither !== undefined) {
110
+ paint.setDither(dither);
111
+ }
112
+ if (colorFilter) {
113
+ paint.setColorFilter(colorFilter);
114
+ }
115
+ if (imageFilter) {
116
+ paint.setImageFilter(imageFilter);
117
+ }
118
+ if (shader) {
119
+ paint.setShader(shader);
120
+ }
121
+ if (maskFilter) {
122
+ paint.setMaskFilter(maskFilter);
123
+ }
124
+ if (pathEffect) {
125
+ paint.setPathEffect(pathEffect);
126
+ }
127
+ return shouldRestore;
128
+ };
129
+ const processMatrixAndClipping = (props, layer) => {
130
+ const hasTransform = props.matrix !== undefined || props.transform !== undefined;
131
+ const clip = computeClip(Skia, props.clip);
132
+ const hasClip = clip !== undefined;
133
+ const op = props.invertClip ? _types.ClipOp.Difference : _types.ClipOp.Intersect;
134
+ const m3 = (0, _nodes.processTransformProps2)(Skia, props);
135
+ const shouldSave = hasTransform || hasClip || !!layer;
136
+ if (shouldSave) {
137
+ if (layer) {
138
+ if (typeof layer === "boolean") {
139
+ canvas.saveLayer();
140
+ } else {
141
+ canvas.saveLayer(layer);
142
+ }
143
+ } else {
144
+ canvas.save();
145
+ }
146
+ }
147
+ if (m3) {
148
+ canvas.concat(m3);
149
+ }
150
+ if (clip) {
151
+ if ("clipRect" in clip) {
152
+ canvas.clipRect(clip.clipRect, op, true);
153
+ } else if ("clipRRect" in clip) {
154
+ canvas.clipRRect(clip.clipRRect, op, true);
155
+ } else {
156
+ canvas.clipPath(clip.clipPath, op, true);
157
+ }
158
+ }
159
+ return shouldSave;
160
+ };
161
+ return {
162
+ Skia,
163
+ canvas,
164
+ save: () => state.paints.push(getPaint().copy()),
165
+ restore: () => state.paints.pop(),
166
+ getPaint,
167
+ processPaint,
168
+ processMatrixAndClipping
169
+ };
170
+ };
171
+ exports.createDrawingContext = createDrawingContext;
172
+ //# sourceMappingURL=DrawingContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_nodes","require","_types","computeClip","Skia","clip","isPathDef","clipPath","processPath","isRRect","clipRRect","clipRect","undefined","processColor","color","Color","Array","isArray","Float32Array","Error","createDrawingContext","canvas","state","paints","Paint","getPaint","length","processPaint","opacity","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","antiAlias","dither","paint","paintProp","declCtx","push","shouldRestore","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","pop","maskFilter","maskFilters","pathEffect","pathEffects","copy","setAlphaf","getAlphaf","currentOpacity","setShader","setColor","setStrokeWidth","setBlendMode","BlendMode","enumKey","setStyle","PaintStyle","setStrokeJoin","StrokeJoin","setStrokeCap","StrokeCap","setStrokeMiter","setAntiAlias","setDither","setColorFilter","setImageFilter","setMaskFilter","setPathEffect","processMatrixAndClipping","props","layer","hasTransform","matrix","transform","hasClip","op","invertClip","ClipOp","Difference","Intersect","m3","processTransformProps2","shouldSave","saveLayer","save","concat","restore","exports"],"sources":["DrawingContext.ts"],"sourcesContent":["import {\n enumKey,\n isPathDef,\n processPath,\n processTransformProps2,\n} from \"../dom/nodes\";\nimport type { ClipDef, DrawingNodeProps, GroupProps } from \"../dom/types\";\nimport {\n BlendMode,\n ClipOp,\n isRRect,\n PaintStyle,\n StrokeCap,\n StrokeJoin,\n} from \"../skia/types\";\nimport type {\n SkPath,\n SkRect,\n SkRRect,\n SkCanvas,\n Skia,\n SkPaint,\n} from \"../skia/types\";\n\nimport type { DeclarationContext } from \"./DeclarationContext\";\n\nconst computeClip = (\n Skia: Skia,\n clip: ClipDef | undefined\n):\n | undefined\n | { clipPath: SkPath }\n | { clipRect: SkRect }\n | { clipRRect: SkRRect } => {\n \"worklet\";\n if (clip) {\n if (isPathDef(clip)) {\n return { clipPath: processPath(Skia, clip) };\n } else if (isRRect(clip)) {\n return { clipRRect: clip };\n } else {\n return { clipRect: clip };\n }\n }\n return undefined;\n};\n\nconst processColor = (\n Skia: Skia,\n color: number | string | Float32Array | number[]\n) => {\n \"worklet\";\n if (typeof color === \"string\" || typeof color === \"number\") {\n return Skia.Color(color);\n } else if (Array.isArray(color) || color instanceof Float32Array) {\n return color instanceof Float32Array ? color : new Float32Array(color);\n } else {\n throw new Error(\n `Invalid color type: ${typeof color}. Expected number, string, or array.`\n );\n }\n};\n\nexport const createDrawingContext = (Skia: Skia, canvas: SkCanvas) => {\n \"worklet\";\n const state = {\n paints: [Skia.Paint()],\n };\n\n const getPaint = () => {\n return state.paints[state.paints.length - 1];\n };\n\n const processPaint = (\n {\n opacity,\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n antiAlias,\n dither,\n paint: paintProp,\n }: DrawingNodeProps,\n declCtx: DeclarationContext\n ) => {\n if (paintProp) {\n declCtx.paints.push(paintProp);\n return true;\n }\n let shouldRestore = false;\n const colorFilter = declCtx.colorFilters.popAllAsOne();\n const imageFilter = declCtx.imageFilters.popAllAsOne();\n const shader = declCtx.shaders.pop();\n const maskFilter = declCtx.maskFilters.pop();\n const pathEffect = declCtx.pathEffects.popAllAsOne();\n\n if (\n opacity !== undefined ||\n color !== undefined ||\n strokeWidth !== undefined ||\n blendMode !== undefined ||\n style !== undefined ||\n strokeJoin !== undefined ||\n strokeCap !== undefined ||\n strokeMiter !== undefined ||\n antiAlias !== undefined ||\n dither !== undefined ||\n colorFilter !== undefined ||\n imageFilter !== undefined ||\n shader !== undefined ||\n maskFilter !== undefined ||\n pathEffect !== undefined\n ) {\n if (!shouldRestore) {\n state.paints.push(getPaint().copy());\n shouldRestore = true;\n }\n }\n\n const paint = getPaint();\n if (opacity !== undefined) {\n paint.setAlphaf(paint.getAlphaf() * opacity);\n }\n if (color !== undefined) {\n const currentOpacity = paint.getAlphaf();\n paint.setShader(null);\n paint.setColor(processColor(Skia, color));\n paint.setAlphaf(currentOpacity * paint.getAlphaf());\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n if (dither !== undefined) {\n paint.setDither(dither);\n }\n if (colorFilter) {\n paint.setColorFilter(colorFilter);\n }\n if (imageFilter) {\n paint.setImageFilter(imageFilter);\n }\n if (shader) {\n paint.setShader(shader);\n }\n if (maskFilter) {\n paint.setMaskFilter(maskFilter);\n }\n if (pathEffect) {\n paint.setPathEffect(pathEffect);\n }\n return shouldRestore;\n };\n\n const processMatrixAndClipping = (\n props: GroupProps,\n layer?: boolean | SkPaint\n ) => {\n const hasTransform =\n props.matrix !== undefined || props.transform !== undefined;\n const clip = computeClip(Skia, props.clip);\n const hasClip = clip !== undefined;\n const op = props.invertClip ? ClipOp.Difference : ClipOp.Intersect;\n const m3 = processTransformProps2(Skia, props);\n const shouldSave = hasTransform || hasClip || !!layer;\n\n if (shouldSave) {\n if (layer) {\n if (typeof layer === \"boolean\") {\n canvas.saveLayer();\n } else {\n canvas.saveLayer(layer);\n }\n } else {\n canvas.save();\n }\n }\n\n if (m3) {\n canvas.concat(m3);\n }\n if (clip) {\n if (\"clipRect\" in clip) {\n canvas.clipRect(clip.clipRect, op, true);\n } else if (\"clipRRect\" in clip) {\n canvas.clipRRect(clip.clipRRect, op, true);\n } else {\n canvas.clipPath(clip.clipPath, op, true);\n }\n }\n return shouldSave;\n };\n\n return {\n Skia,\n canvas,\n save: () => state.paints.push(getPaint().copy()),\n restore: () => state.paints.pop(),\n getPaint,\n processPaint,\n processMatrixAndClipping,\n };\n};\n\nexport type DrawingContext = ReturnType<typeof createDrawingContext>;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { HostConfig } from "react-reconciler";
2
+ import { NodeType } from "../dom/types";
3
+ import type { Node } from "./nodes/Node";
4
+ import type { Container } from "./Container";
5
+ export declare const debug: (message?: any, ...optionalParams: any[]) => void;
6
+ type Instance = Node;
7
+ type Props = object;
8
+ type TextInstance = Node;
9
+ type SuspenseInstance = Instance;
10
+ type HydratableInstance = Instance;
11
+ type PublicInstance = Instance;
12
+ type HostContext = null;
13
+ type UpdatePayload = Container;
14
+ type ChildSet = Node[];
15
+ type TimeoutHandle = NodeJS.Timeout;
16
+ type NoTimeout = -1;
17
+ type SkiaHostConfig = HostConfig<NodeType, Props, Container, Instance, TextInstance, SuspenseInstance, HydratableInstance, PublicInstance, HostContext, UpdatePayload, ChildSet, TimeoutHandle, NoTimeout>;
18
+ export declare const sksgHostConfig: SkiaHostConfig;
19
+ export {};
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sksgHostConfig = exports.debug = void 0;
7
+ var _constants = require("react-reconciler/constants");
8
+ var _types = require("../dom/types");
9
+ var _typeddash = require("../renderer/typeddash");
10
+ /*global NodeJS*/
11
+
12
+ const DEBUG = false;
13
+ const debug = (...args) => {
14
+ if (DEBUG) {
15
+ console.log(...args);
16
+ }
17
+ };
18
+ exports.debug = debug;
19
+ const isDeclaration = type => {
20
+ "worklet";
21
+
22
+ return (
23
+ // BlurMaskFilters
24
+ type === _types.NodeType.BlurMaskFilter ||
25
+ // ImageFilters
26
+ type === _types.NodeType.BlendImageFilter || type === _types.NodeType.BlurImageFilter || type === _types.NodeType.OffsetImageFilter || type === _types.NodeType.DropShadowImageFilter || type === _types.NodeType.MorphologyImageFilter || type === _types.NodeType.DisplacementMapImageFilter || type === _types.NodeType.RuntimeShaderImageFilter ||
27
+ // ColorFilters
28
+ type === _types.NodeType.MatrixColorFilter || type === _types.NodeType.BlendColorFilter || type === _types.NodeType.LumaColorFilter || type === _types.NodeType.LinearToSRGBGammaColorFilter || type === _types.NodeType.SRGBToLinearGammaColorFilter || type === _types.NodeType.LerpColorFilter ||
29
+ // Shaders
30
+ type === _types.NodeType.Shader || type === _types.NodeType.ImageShader || type === _types.NodeType.ColorShader || type === _types.NodeType.Turbulence || type === _types.NodeType.FractalNoise || type === _types.NodeType.LinearGradient || type === _types.NodeType.RadialGradient || type === _types.NodeType.SweepGradient || type === _types.NodeType.TwoPointConicalGradient ||
31
+ // Path Effects
32
+ type === _types.NodeType.CornerPathEffect || type === _types.NodeType.DiscretePathEffect || type === _types.NodeType.DashPathEffect || type === _types.NodeType.Path1DPathEffect || type === _types.NodeType.Path2DPathEffect || type === _types.NodeType.SumPathEffect || type === _types.NodeType.Line2DPathEffect ||
33
+ // Mixed
34
+ type === _types.NodeType.Blend ||
35
+ // Paint
36
+ type === _types.NodeType.Paint
37
+ );
38
+ };
39
+ const sksgHostConfig = exports.sksgHostConfig = {
40
+ /**
41
+ * This function is used by the reconciler in order to calculate current time for prioritising work.
42
+ */
43
+ supportsMutation: false,
44
+ isPrimaryRenderer: false,
45
+ supportsPersistence: true,
46
+ supportsHydration: false,
47
+ //supportsMicrotask: true,
48
+ scheduleTimeout: setTimeout,
49
+ cancelTimeout: clearTimeout,
50
+ noTimeout: -1,
51
+ getRootHostContext: _rootContainerInstance => {
52
+ debug("getRootHostContext");
53
+ return null;
54
+ },
55
+ getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {
56
+ debug("getChildHostContext");
57
+ return null;
58
+ },
59
+ shouldSetTextContent(_type, _props) {
60
+ return false;
61
+ },
62
+ createTextInstance(_text, _rootContainerInstance, _hostContext, _internalInstanceHandle) {
63
+ debug("createTextInstance");
64
+ // return SpanNode({}, text) as SkNode;
65
+ throw new Error("Text nodes are not supported yet");
66
+ },
67
+ createInstance(type, props, container, _hostContext, _internalInstanceHandle) {
68
+ debug("createInstance", type);
69
+ container.registerValues(props);
70
+ const instance = {
71
+ type,
72
+ isDeclaration: isDeclaration(type),
73
+ props,
74
+ children: []
75
+ };
76
+ return instance;
77
+ },
78
+ appendInitialChild(parentInstance, child) {
79
+ parentInstance.children.push(child);
80
+ },
81
+ finalizeInitialChildren(parentInstance, _type, _props, _rootContainerInstance, _hostContext) {
82
+ debug("finalizeInitialChildren", parentInstance);
83
+ return false;
84
+ },
85
+ commitMount() {
86
+ // if finalizeInitialChildren = true
87
+ debug("commitMount");
88
+ },
89
+ prepareForCommit(_containerInfo) {
90
+ debug("prepareForCommit");
91
+ return null;
92
+ },
93
+ resetAfterCommit(container) {
94
+ debug("resetAfterCommit");
95
+ container.redraw();
96
+ },
97
+ getPublicInstance(node) {
98
+ debug("getPublicInstance");
99
+ return node;
100
+ },
101
+ commitTextUpdate: (_textInstance, _oldText, _newText) => {
102
+ // textInstance.instance = newText;
103
+ },
104
+ clearContainer: container => {
105
+ debug("clearContainer");
106
+ container.clear();
107
+ },
108
+ prepareUpdate(_instance, _type, oldProps, newProps, container, _hostContext) {
109
+ debug("prepareUpdate");
110
+ const propsAreEqual = (0, _typeddash.shallowEq)(oldProps, newProps);
111
+ if (propsAreEqual) {
112
+ return null;
113
+ }
114
+ container.unregisterValues(oldProps);
115
+ container.registerValues(newProps);
116
+ return container;
117
+ },
118
+ preparePortalMount: () => {
119
+ debug("preparePortalMount");
120
+ },
121
+ cloneInstance(instance, _updatePayload, _type, _oldProps, newProps, _internalInstanceHandle, keepChildren, _recyclableInstance) {
122
+ debug("cloneInstance");
123
+ return {
124
+ type: instance.type,
125
+ props: newProps,
126
+ children: keepChildren ? [...instance.children] : [],
127
+ isDeclaration: instance.isDeclaration
128
+ };
129
+ },
130
+ createContainerChildSet() {
131
+ debug("createContainerChildSet");
132
+ return [];
133
+ },
134
+ appendChildToContainerChildSet(childSet, child) {
135
+ childSet.push(child);
136
+ },
137
+ finalizeContainerChildren(container, newChildren) {
138
+ debug("finalizeContainerChildren");
139
+ container.root = newChildren;
140
+ },
141
+ replaceContainerChildren(container, newChildren) {
142
+ debug("replaceContainerChildren");
143
+ container.root = newChildren;
144
+ },
145
+ cloneHiddenInstance(_instance, _type, _props) {
146
+ debug("cloneHiddenInstance");
147
+ throw new Error("Not yet implemented.");
148
+ },
149
+ cloneHiddenTextInstance(_instance, _text) {
150
+ debug("cloneHiddenTextInstance");
151
+ throw new Error("Not yet implemented.");
152
+ },
153
+ // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874
154
+ getCurrentEventPriority: () => _constants.DefaultEventPriority,
155
+ beforeActiveInstanceBlur: () => {},
156
+ afterActiveInstanceBlur: () => {},
157
+ detachDeletedInstance: () => {},
158
+ getInstanceFromNode: function (_node) {
159
+ throw new Error("Function not implemented.");
160
+ },
161
+ prepareScopeUpdate: function (_scopeInstance, _instance) {
162
+ throw new Error("Function not implemented.");
163
+ },
164
+ getInstanceFromScope: function (_scopeInstance) {
165
+ throw new Error("Function not implemented.");
166
+ }
167
+ };
168
+ //# sourceMappingURL=HostConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","_types","_typeddash","DEBUG","debug","args","console","log","exports","isDeclaration","type","NodeType","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","MorphologyImageFilter","DisplacementMapImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","Paint","sksgHostConfig","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","props","container","registerValues","instance","children","appendInitialChild","parentInstance","child","push","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","node","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","clear","prepareUpdate","_instance","oldProps","newProps","propsAreEqual","shallowEq","unregisterValues","preparePortalMount","cloneInstance","_updatePayload","_oldProps","keepChildren","_recyclableInstance","createContainerChildSet","appendChildToContainerChildSet","childSet","finalizeContainerChildren","newChildren","root","replaceContainerChildren","cloneHiddenInstance","cloneHiddenTextInstance","getCurrentEventPriority","DefaultEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance","getInstanceFromNode","_node","prepareScopeUpdate","_scopeInstance","getInstanceFromScope"],"sources":["HostConfig.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { Fiber, HostConfig } from \"react-reconciler\";\nimport { DefaultEventPriority } from \"react-reconciler/constants\";\n\nimport { NodeType } from \"../dom/types\";\nimport { shallowEq } from \"../renderer/typeddash\";\n\nimport type { Node } from \"./nodes/Node\";\nimport type { Container } from \"./Container\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\nconst isDeclaration = (type: NodeType) => {\n \"worklet\";\n return (\n // BlurMaskFilters\n type === NodeType.BlurMaskFilter ||\n // ImageFilters\n type === NodeType.BlendImageFilter ||\n type === NodeType.BlurImageFilter ||\n type === NodeType.OffsetImageFilter ||\n type === NodeType.DropShadowImageFilter ||\n type === NodeType.MorphologyImageFilter ||\n type === NodeType.DisplacementMapImageFilter ||\n type === NodeType.RuntimeShaderImageFilter ||\n // ColorFilters\n type === NodeType.MatrixColorFilter ||\n type === NodeType.BlendColorFilter ||\n type === NodeType.LumaColorFilter ||\n type === NodeType.LinearToSRGBGammaColorFilter ||\n type === NodeType.SRGBToLinearGammaColorFilter ||\n type === NodeType.LerpColorFilter ||\n // Shaders\n type === NodeType.Shader ||\n type === NodeType.ImageShader ||\n type === NodeType.ColorShader ||\n type === NodeType.Turbulence ||\n type === NodeType.FractalNoise ||\n type === NodeType.LinearGradient ||\n type === NodeType.RadialGradient ||\n type === NodeType.SweepGradient ||\n type === NodeType.TwoPointConicalGradient ||\n // Path Effects\n type === NodeType.CornerPathEffect ||\n type === NodeType.DiscretePathEffect ||\n type === NodeType.DashPathEffect ||\n type === NodeType.Path1DPathEffect ||\n type === NodeType.Path2DPathEffect ||\n type === NodeType.SumPathEffect ||\n type === NodeType.Line2DPathEffect ||\n // Mixed\n type === NodeType.Blend ||\n // Paint\n type === NodeType.Paint\n );\n};\n\ntype Instance = Node;\n\ntype Props = object;\ntype TextInstance = Node;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = Node[];\ntype TimeoutHandle = NodeJS.Timeout;\ntype NoTimeout = -1;\n\ntype SkiaHostConfig = HostConfig<\n NodeType,\n Props,\n Container,\n Instance,\n TextInstance,\n SuspenseInstance,\n HydratableInstance,\n PublicInstance,\n HostContext,\n UpdatePayload,\n ChildSet,\n TimeoutHandle,\n NoTimeout\n>;\n\nexport const sksgHostConfig: SkiaHostConfig = {\n /**\n * This function is used by the reconciler in order to calculate current time for prioritising work.\n */\n supportsMutation: false,\n isPrimaryRenderer: false,\n supportsPersistence: true,\n supportsHydration: false,\n //supportsMicrotask: true,\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n getRootHostContext: (_rootContainerInstance: Container) => {\n debug(\"getRootHostContext\");\n return null;\n },\n\n getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {\n debug(\"getChildHostContext\");\n return null;\n },\n\n shouldSetTextContent(_type, _props) {\n return false;\n },\n\n createTextInstance(\n _text,\n _rootContainerInstance,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createTextInstance\");\n // return SpanNode({}, text) as SkNode;\n throw new Error(\"Text nodes are not supported yet\");\n },\n\n createInstance(\n type,\n props,\n container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n container.registerValues(props);\n const instance = {\n type,\n isDeclaration: isDeclaration(type),\n props,\n children: [],\n };\n return instance;\n },\n\n appendInitialChild(parentInstance: Instance, child: Instance | TextInstance) {\n parentInstance.children.push(child);\n },\n\n finalizeInitialChildren(\n parentInstance,\n _type,\n _props,\n _rootContainerInstance,\n _hostContext\n ) {\n debug(\"finalizeInitialChildren\", parentInstance);\n return false;\n },\n\n commitMount() {\n // if finalizeInitialChildren = true\n debug(\"commitMount\");\n },\n\n prepareForCommit(_containerInfo) {\n debug(\"prepareForCommit\");\n return null;\n },\n\n resetAfterCommit(container) {\n debug(\"resetAfterCommit\");\n container.redraw();\n },\n\n getPublicInstance(node: Instance) {\n debug(\"getPublicInstance\");\n return node;\n },\n\n commitTextUpdate: (\n _textInstance: TextInstance,\n _oldText: string,\n _newText: string\n ) => {\n // textInstance.instance = newText;\n },\n\n clearContainer: (container) => {\n debug(\"clearContainer\");\n container.clear();\n },\n\n prepareUpdate(\n _instance: Instance,\n _type: string,\n oldProps: Props,\n newProps: Props,\n container: Container,\n _hostContext: HostContext\n ) {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n container.unregisterValues(oldProps);\n container.registerValues(newProps);\n return container;\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n cloneInstance(\n instance,\n _updatePayload,\n _type,\n _oldProps,\n newProps,\n _internalInstanceHandle,\n keepChildren: boolean,\n _recyclableInstance: null | Instance\n ) {\n debug(\"cloneInstance\");\n\n return {\n type: instance.type,\n props: newProps,\n children: keepChildren ? [...instance.children] : [],\n isDeclaration: instance.isDeclaration,\n };\n },\n\n createContainerChildSet(): ChildSet {\n debug(\"createContainerChildSet\");\n return [];\n },\n\n appendChildToContainerChildSet(\n childSet: ChildSet,\n child: Instance | TextInstance\n ): void {\n childSet.push(child);\n },\n\n finalizeContainerChildren(container: Container, newChildren: ChildSet) {\n debug(\"finalizeContainerChildren\");\n container.root = newChildren;\n },\n\n replaceContainerChildren(container: Container, newChildren: ChildSet) {\n debug(\"replaceContainerChildren\");\n container.root = newChildren;\n },\n\n cloneHiddenInstance(\n _instance: Instance,\n _type: string,\n _props: Props\n ): Instance {\n debug(\"cloneHiddenInstance\");\n throw new Error(\"Not yet implemented.\");\n },\n\n cloneHiddenTextInstance(_instance: Instance, _text: string): TextInstance {\n debug(\"cloneHiddenTextInstance\");\n throw new Error(\"Not yet implemented.\");\n },\n // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n getCurrentEventPriority: () => DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n getInstanceFromNode: function (_node): Fiber | null | undefined {\n throw new Error(\"Function not implemented.\");\n },\n prepareScopeUpdate: function (_scopeInstance, _instance): void {\n throw new Error(\"Function not implemented.\");\n },\n getInstanceFromScope: function (_scopeInstance): Instance | null {\n throw new Error(\"Function not implemented.\");\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+ import type { SkCanvas, Skia } from "../skia/types";
3
+ import { NodeType } from "../dom/types";
4
+ export declare class SkiaSGRoot {
5
+ Skia: Skia;
6
+ private root;
7
+ private container;
8
+ constructor(Skia: Skia, nativeId?: number);
9
+ get sg(): {
10
+ type: NodeType;
11
+ props: {};
12
+ children: import("./nodes").Node<unknown>[];
13
+ isDeclaration: boolean;
14
+ };
15
+ render(element: ReactNode): void;
16
+ drawOnCanvas(canvas: SkCanvas): void;
17
+ getPicture(): import("../skia/types").SkPicture;
18
+ unmount(): void;
19
+ }