@shopify/react-native-skia 1.11.7 → 1.11.9-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/android/CMakeLists.txt +30 -153
  2. package/android/build.gradle +1 -1
  3. package/cpp/skia/include/codec/SkCodec.h +7 -2
  4. package/cpp/skia/include/config/SkUserConfig.h +11 -0
  5. package/cpp/skia/include/core/SkCanvas.h +11 -7
  6. package/cpp/skia/include/core/SkColor.h +10 -0
  7. package/cpp/skia/include/core/SkColorSpace.h +184 -2
  8. package/cpp/skia/include/core/SkColorType.h +114 -32
  9. package/cpp/skia/include/core/SkFontScanner.h +5 -8
  10. package/cpp/skia/include/core/SkFontStyle.h +1 -1
  11. package/cpp/skia/include/core/SkMaskFilter.h +0 -8
  12. package/cpp/skia/include/core/SkMilestone.h +1 -1
  13. package/cpp/skia/include/core/SkPath.h +1 -1
  14. package/cpp/skia/include/core/SkRRect.h +3 -1
  15. package/cpp/skia/include/core/SkShader.h +3 -3
  16. package/cpp/skia/include/core/SkString.h +8 -8
  17. package/cpp/skia/include/core/SkSurface.h +14 -0
  18. package/cpp/skia/include/core/SkTypeface.h +24 -7
  19. package/cpp/skia/include/effects/SkGradientShader.h +6 -1
  20. package/cpp/skia/include/effects/SkRuntimeEffect.h +1 -0
  21. package/cpp/skia/include/encode/SkPngEncoder.h +14 -0
  22. package/cpp/skia/include/gpu/GpuTypes.h +9 -0
  23. package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +135 -133
  24. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +5 -0
  25. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +3 -3
  26. package/cpp/skia/include/gpu/ganesh/GrTypes.h +14 -9
  27. package/cpp/skia/include/gpu/graphite/Context.h +25 -2
  28. package/cpp/skia/include/gpu/graphite/ContextOptions.h +23 -5
  29. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +20 -1
  30. package/cpp/skia/include/gpu/graphite/Image.h +1 -0
  31. package/cpp/skia/include/gpu/graphite/LogPriority.h +36 -0
  32. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +52 -0
  33. package/cpp/skia/include/gpu/graphite/Recorder.h +6 -0
  34. package/cpp/skia/include/gpu/graphite/Recording.h +3 -1
  35. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +4 -36
  36. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +48 -0
  37. package/cpp/skia/include/gpu/graphite/precompile/Precompile.h +3 -2
  38. package/cpp/skia/include/pathops/SkPathOps.h +9 -1
  39. package/cpp/skia/include/ports/SkFontMgr_FontConfigInterface.h +3 -0
  40. package/cpp/skia/include/private/SkPathRef.h +15 -21
  41. package/cpp/skia/include/private/base/SkAttributes.h +16 -10
  42. package/cpp/skia/include/private/base/SkMutex.h +8 -0
  43. package/cpp/skia/include/private/base/SkTArray.h +1 -1
  44. package/cpp/skia/include/private/base/SkTDArray.h +1 -1
  45. package/cpp/skia/include/private/base/SkTemplates.h +24 -11
  46. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +1 -1
  47. package/cpp/skia/include/sksl/SkSLDebugTrace.h +0 -3
  48. package/cpp/skia/modules/skcms/src/Transform_inl.h +20 -20
  49. package/cpp/skia/modules/skcms/src/skcms_Transform.h +4 -3
  50. package/cpp/skia/modules/skcms/src/skcms_public.h +19 -15
  51. package/cpp/skia/modules/skresources/include/SkResources.h +3 -1
  52. package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
  53. package/cpp/skia/modules/svg/include/SkSVGContainer.h +1 -1
  54. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +1 -1
  55. package/cpp/skia/modules/svg/include/SkSVGImage.h +2 -2
  56. package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
  57. package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
  58. package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -1
  59. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +2 -0
  60. package/cpp/skia/modules/svg/include/SkSVGShape.h +1 -0
  61. package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
  62. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +4 -0
  63. package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
  64. package/cpp/skia/src/core/SkLRUCache.h +19 -13
  65. package/cpp/skia/src/core/SkTHash.h +50 -4
  66. package/cpp/skia/src/gpu/ganesh/gl/GrGLDefines.h +1 -0
  67. package/lib/commonjs/external/reanimated/textures.js +4 -3
  68. package/lib/commonjs/external/reanimated/textures.js.map +1 -1
  69. package/lib/commonjs/headless/index.d.ts +1 -1
  70. package/lib/commonjs/headless/index.js +2 -2
  71. package/lib/commonjs/headless/index.js.map +1 -1
  72. package/lib/commonjs/renderer/Canvas.d.ts +2 -2
  73. package/lib/commonjs/renderer/Canvas.js +10 -27
  74. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  75. package/lib/commonjs/renderer/Offscreen.d.ts +2 -2
  76. package/lib/commonjs/renderer/Offscreen.js +4 -4
  77. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  78. package/lib/commonjs/renderer/__tests__/setup.d.ts +5 -5
  79. package/lib/commonjs/sksg/Container.d.ts +3 -1
  80. package/lib/commonjs/sksg/Container.js +7 -1
  81. package/lib/commonjs/sksg/Container.js.map +1 -1
  82. package/lib/commonjs/sksg/HostConfig.d.ts +1 -1
  83. package/lib/commonjs/sksg/HostConfig.js +36 -6
  84. package/lib/commonjs/sksg/HostConfig.js.map +1 -1
  85. package/lib/commonjs/sksg/Reconciler.d.ts +3 -2
  86. package/lib/commonjs/sksg/Reconciler.js +16 -6
  87. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  88. package/lib/commonjs/specs/NativeSkiaModule.web.d.ts +2 -0
  89. package/lib/commonjs/specs/NativeSkiaModule.web.js +6 -0
  90. package/lib/commonjs/specs/NativeSkiaModule.web.js.map +1 -1
  91. package/lib/module/Platform/Platform.web.js +1 -1
  92. package/lib/module/Platform/Platform.web.js.map +1 -1
  93. package/lib/module/dom/nodes/datatypes/Circle.js +1 -2
  94. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  95. package/lib/module/dom/nodes/datatypes/Gradient.js +3 -3
  96. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  97. package/lib/module/dom/nodes/datatypes/Rect.js +3 -5
  98. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  99. package/lib/module/external/reanimated/buffers.js +1 -2
  100. package/lib/module/external/reanimated/buffers.js.map +1 -1
  101. package/lib/module/external/reanimated/textures.js +5 -4
  102. package/lib/module/external/reanimated/textures.js.map +1 -1
  103. package/lib/module/external/reanimated/useAnimatedImageValue.js +1 -1
  104. package/lib/module/external/reanimated/useAnimatedImageValue.js.map +1 -1
  105. package/lib/module/external/reanimated/useVideo.js +10 -23
  106. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  107. package/lib/module/headless/index.d.ts +1 -1
  108. package/lib/module/headless/index.js +2 -2
  109. package/lib/module/headless/index.js.map +1 -1
  110. package/lib/module/renderer/Canvas.d.ts +2 -2
  111. package/lib/module/renderer/Canvas.js +9 -27
  112. package/lib/module/renderer/Canvas.js.map +1 -1
  113. package/lib/module/renderer/Offscreen.d.ts +2 -2
  114. package/lib/module/renderer/Offscreen.js +4 -4
  115. package/lib/module/renderer/Offscreen.js.map +1 -1
  116. package/lib/module/renderer/__tests__/setup.d.ts +5 -5
  117. package/lib/module/skia/core/Vector.js +1 -1
  118. package/lib/module/skia/core/Vector.js.map +1 -1
  119. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js +1 -4
  120. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  121. package/lib/module/skia/web/Host.js +1 -7
  122. package/lib/module/skia/web/Host.js.map +1 -1
  123. package/lib/module/skia/web/JsiSkAnimatedImage.js +3 -6
  124. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  125. package/lib/module/skia/web/JsiSkCanvas.js +3 -6
  126. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  127. package/lib/module/skia/web/JsiSkColorFilter.js +3 -6
  128. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  129. package/lib/module/skia/web/JsiSkContourMeasure.js +3 -6
  130. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  131. package/lib/module/skia/web/JsiSkContourMeasureIter.js +3 -6
  132. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  133. package/lib/module/skia/web/JsiSkData.js +3 -6
  134. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  135. package/lib/module/skia/web/JsiSkFont.js +3 -6
  136. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  137. package/lib/module/skia/web/JsiSkImage.js +8 -12
  138. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  139. package/lib/module/skia/web/JsiSkImageFilter.js +3 -6
  140. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  141. package/lib/module/skia/web/JsiSkMaskFilter.js +3 -6
  142. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  143. package/lib/module/skia/web/JsiSkMatrix.js +5 -8
  144. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  145. package/lib/module/skia/web/JsiSkPaint.js +3 -6
  146. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  147. package/lib/module/skia/web/JsiSkParagraphBuilder.js +2 -3
  148. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  149. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +1 -1
  150. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
  151. package/lib/module/skia/web/JsiSkParagraphStyle.js +15 -15
  152. package/lib/module/skia/web/JsiSkParagraphStyle.js.map +1 -1
  153. package/lib/module/skia/web/JsiSkPath.js +3 -6
  154. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  155. package/lib/module/skia/web/JsiSkPathEffect.js +3 -6
  156. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  157. package/lib/module/skia/web/JsiSkPicture.js +3 -6
  158. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  159. package/lib/module/skia/web/JsiSkPictureRecorder.js +3 -6
  160. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  161. package/lib/module/skia/web/JsiSkPoint.js +3 -6
  162. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  163. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  164. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  165. package/lib/module/skia/web/JsiSkRSXform.js +3 -6
  166. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  167. package/lib/module/skia/web/JsiSkRect.js +3 -6
  168. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  169. package/lib/module/skia/web/JsiSkRuntimeEffect.js +3 -6
  170. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  171. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  172. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  173. package/lib/module/skia/web/JsiSkShader.js +3 -6
  174. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  175. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  176. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  177. package/lib/module/skia/web/JsiSkTextBlob.js +3 -6
  178. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  179. package/lib/module/skia/web/JsiSkTypeface.js +3 -6
  180. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  181. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +1 -4
  182. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  183. package/lib/module/skia/web/JsiSkVertices.js +3 -6
  184. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  185. package/lib/module/skia/web/JsiVideo.js +2 -5
  186. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  187. package/lib/module/sksg/Container.d.ts +3 -1
  188. package/lib/module/sksg/Container.js +11 -8
  189. package/lib/module/sksg/Container.js.map +1 -1
  190. package/lib/module/sksg/HostConfig.d.ts +1 -1
  191. package/lib/module/sksg/HostConfig.js +36 -7
  192. package/lib/module/sksg/HostConfig.js.map +1 -1
  193. package/lib/module/sksg/Reconciler.d.ts +3 -2
  194. package/lib/module/sksg/Reconciler.js +16 -11
  195. package/lib/module/sksg/Reconciler.js.map +1 -1
  196. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +1 -5
  197. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  198. package/lib/module/sksg/Recorder/Recorder.js +3 -6
  199. package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
  200. package/lib/module/sksg/Recorder/Visitor.js +1 -1
  201. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  202. package/lib/module/sksg/Recorder/commands/Drawing.js +2 -4
  203. package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
  204. package/lib/module/sksg/Recorder/commands/Shaders.js +2 -3
  205. package/lib/module/sksg/Recorder/commands/Shaders.js.map +1 -1
  206. package/lib/module/specs/NativeSkiaModule.web.d.ts +2 -0
  207. package/lib/module/specs/NativeSkiaModule.web.js +5 -1
  208. package/lib/module/specs/NativeSkiaModule.web.js.map +1 -1
  209. package/lib/module/views/SkiaBaseWebView.js +9 -12
  210. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  211. package/lib/module/views/SkiaPictureView.js +1 -5
  212. package/lib/module/views/SkiaPictureView.js.map +1 -1
  213. package/lib/module/views/SkiaPictureView.web.js +1 -4
  214. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  215. package/lib/module/web/LoadSkiaWeb.js +1 -2
  216. package/lib/module/web/LoadSkiaWeb.js.map +1 -1
  217. package/lib/module/web/WithSkiaWeb.js +1 -1
  218. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  219. package/lib/typescript/lib/commonjs/headless/index.d.ts +1 -1
  220. package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +9 -1
  221. package/lib/typescript/lib/commonjs/renderer/Offscreen.d.ts +2 -2
  222. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +3 -0
  223. package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +21 -4
  224. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +9 -2
  225. package/lib/typescript/lib/commonjs/specs/NativeSkiaModule.web.d.ts +2 -0
  226. package/lib/typescript/lib/module/headless/index.d.ts +1 -1
  227. package/lib/typescript/lib/module/renderer/Canvas.d.ts +9 -1
  228. package/lib/typescript/lib/module/renderer/Offscreen.d.ts +2 -2
  229. package/lib/typescript/lib/module/skia/web/CanvasKitWebGLBufferImpl.d.ts +2 -2
  230. package/lib/typescript/lib/module/skia/web/JsiSkAnimatedImage.d.ts +1 -0
  231. package/lib/typescript/lib/module/skia/web/JsiSkCanvas.d.ts +1 -0
  232. package/lib/typescript/lib/module/skia/web/JsiSkColorFilter.d.ts +1 -0
  233. package/lib/typescript/lib/module/skia/web/JsiSkContourMeasure.d.ts +1 -0
  234. package/lib/typescript/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  235. package/lib/typescript/lib/module/skia/web/JsiSkData.d.ts +1 -0
  236. package/lib/typescript/lib/module/skia/web/JsiSkFont.d.ts +1 -0
  237. package/lib/typescript/lib/module/skia/web/JsiSkImage.d.ts +1 -0
  238. package/lib/typescript/lib/module/skia/web/JsiSkImageFilter.d.ts +1 -0
  239. package/lib/typescript/lib/module/skia/web/JsiSkMaskFilter.d.ts +1 -0
  240. package/lib/typescript/lib/module/skia/web/JsiSkMatrix.d.ts +1 -0
  241. package/lib/typescript/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
  242. package/lib/typescript/lib/module/skia/web/JsiSkPath.d.ts +1 -0
  243. package/lib/typescript/lib/module/skia/web/JsiSkPathEffect.d.ts +1 -0
  244. package/lib/typescript/lib/module/skia/web/JsiSkPicture.d.ts +1 -0
  245. package/lib/typescript/lib/module/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  246. package/lib/typescript/lib/module/skia/web/JsiSkPoint.d.ts +1 -0
  247. package/lib/typescript/lib/module/skia/web/JsiSkRRect.d.ts +1 -0
  248. package/lib/typescript/lib/module/skia/web/JsiSkRSXform.d.ts +1 -0
  249. package/lib/typescript/lib/module/skia/web/JsiSkRect.d.ts +1 -0
  250. package/lib/typescript/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  251. package/lib/typescript/lib/module/skia/web/JsiSkSVG.d.ts +1 -0
  252. package/lib/typescript/lib/module/skia/web/JsiSkShader.d.ts +1 -0
  253. package/lib/typescript/lib/module/skia/web/JsiSkSurface.d.ts +1 -0
  254. package/lib/typescript/lib/module/skia/web/JsiSkTextBlob.d.ts +1 -0
  255. package/lib/typescript/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
  256. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +1 -0
  257. package/lib/typescript/lib/module/skia/web/JsiSkVertices.d.ts +1 -0
  258. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +2 -2
  259. package/lib/typescript/lib/module/sksg/Container.d.ts +7 -12
  260. package/lib/typescript/lib/module/sksg/HostConfig.d.ts +20 -4
  261. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +18 -17
  262. package/lib/typescript/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +1 -0
  263. package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +5 -2
  264. package/lib/typescript/lib/module/specs/NativeSkiaModule.web.d.ts +2 -1
  265. package/lib/typescript/lib/module/views/SkiaBaseWebView.d.ts +12 -11
  266. package/lib/typescript/lib/module/views/SkiaPictureView.d.ts +2 -2
  267. package/lib/typescript/lib/module/views/SkiaPictureView.web.d.ts +1 -1
  268. package/lib/typescript/src/headless/index.d.ts +1 -1
  269. package/lib/typescript/src/renderer/Canvas.d.ts +2 -2
  270. package/lib/typescript/src/renderer/Offscreen.d.ts +2 -2
  271. package/lib/typescript/src/renderer/__tests__/setup.d.ts +5 -5
  272. package/lib/typescript/src/sksg/Container.d.ts +3 -1
  273. package/lib/typescript/src/sksg/HostConfig.d.ts +1 -1
  274. package/lib/typescript/src/sksg/Reconciler.d.ts +3 -2
  275. package/lib/typescript/src/specs/NativeSkiaModule.web.d.ts +2 -0
  276. package/libs/apple/libskia.xcframework/Info.plist +15 -15
  277. package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  278. package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  279. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  280. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
  281. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  282. package/libs/apple/libskottie.xcframework/Info.plist +8 -8
  283. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  284. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  285. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  286. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
  287. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  288. package/libs/apple/libskparagraph.xcframework/Info.plist +7 -7
  289. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  290. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  291. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  292. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
  293. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  294. package/libs/apple/libsksg.xcframework/Info.plist +12 -12
  295. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  296. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  297. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  298. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
  299. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  300. package/libs/apple/libskshaper.xcframework/Info.plist +14 -14
  301. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  302. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  303. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  304. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
  305. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  306. package/libs/apple/libskunicode_core.xcframework/Info.plist +14 -14
  307. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  308. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  309. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  310. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e/libskunicode_core.a +0 -0
  311. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  312. package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +13 -13
  313. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  314. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  315. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  316. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  317. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  318. package/libs/apple/libsvg.xcframework/Info.plist +11 -11
  319. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  320. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  321. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  322. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
  323. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  324. package/package.json +10 -9
  325. package/src/external/reanimated/textures.tsx +5 -4
  326. package/src/headless/index.ts +2 -2
  327. package/src/renderer/Canvas.tsx +57 -80
  328. package/src/renderer/Offscreen.tsx +4 -4
  329. package/src/renderer/__tests__/Data.spec.tsx +9 -10
  330. package/src/renderer/__tests__/Drawings.spec.tsx +11 -11
  331. package/src/renderer/__tests__/FitBox.spec.tsx +10 -10
  332. package/src/renderer/__tests__/Glyphs.spec.tsx +2 -2
  333. package/src/renderer/__tests__/Image.spec.tsx +2 -2
  334. package/src/renderer/__tests__/Paths.spec.tsx +8 -8
  335. package/src/renderer/__tests__/Picture.spec.tsx +10 -12
  336. package/src/renderer/__tests__/Simple.spec.tsx +6 -6
  337. package/src/renderer/__tests__/Surfaces.spec.tsx +2 -2
  338. package/src/renderer/__tests__/Text.spec.tsx +12 -12
  339. package/src/renderer/__tests__/Transform.spec.tsx +8 -8
  340. package/src/renderer/__tests__/documentation/Group.spec.tsx +12 -12
  341. package/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.tsx +2 -2
  342. package/src/renderer/__tests__/documentation/paint/Overview.spec.tsx +8 -8
  343. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +4 -4
  344. package/src/renderer/__tests__/e2e/Atlas.spec.tsx +3 -3
  345. package/src/renderer/__tests__/e2e/Offscreen.spec.tsx +1 -1
  346. package/src/renderer/__tests__/examples/BlendModes.spec.tsx +4 -4
  347. package/src/renderer/__tests__/setup.tsx +13 -13
  348. package/src/sksg/Container.ts +9 -1
  349. package/src/sksg/HostConfig.ts +37 -7
  350. package/src/sksg/Reconciler.ts +17 -6
  351. package/src/sksg/__tests__/Simple.spec.tsx +8 -8
  352. package/src/specs/NativeSkiaModule.web.ts +4 -0
  353. package/lib/commonjs/sksg/HostConfig2.d.ts +0 -19
  354. package/lib/commonjs/sksg/HostConfig2.js +0 -159
  355. package/lib/commonjs/sksg/HostConfig2.js.map +0 -1
  356. package/lib/module/sksg/HostConfig2.d.ts +0 -19
  357. package/lib/module/sksg/HostConfig2.js +0 -152
  358. package/lib/module/sksg/HostConfig2.js.map +0 -1
  359. package/lib/typescript/lib/commonjs/sksg/HostConfig2.d.ts +0 -44
  360. package/lib/typescript/lib/module/sksg/HostConfig2.d.ts +0 -43
  361. package/lib/typescript/src/sksg/HostConfig2.d.ts +0 -19
  362. package/src/sksg/HostConfig2.ts +0 -247
@@ -176,14 +176,14 @@ export const width = 256 * PIXEL_RATIO;
176
176
  export const height = 256 * PIXEL_RATIO;
177
177
  export const center = { x: width / 2, y: height / 2 };
178
178
 
179
- export const drawOnNode = (element: ReactNode) => {
180
- const { surface: ckSurface, draw, root } = mountCanvas(element);
181
- draw();
179
+ export const drawOnNode = async (element: ReactNode) => {
180
+ const { surface: ckSurface, draw, root } = await mountCanvas(element);
181
+ await draw();
182
182
  root.unmount();
183
183
  return ckSurface;
184
184
  };
185
185
 
186
- export const mountCanvas = (element: ReactNode) => {
186
+ export const mountCanvas = async (element: ReactNode) => {
187
187
  const Skia = global.SkiaApi;
188
188
  expect(Skia).toBeDefined();
189
189
  const ckSurface = Skia.Surface.MakeOffscreen(width, height)!;
@@ -191,18 +191,18 @@ export const mountCanvas = (element: ReactNode) => {
191
191
  const canvas = ckSurface.getCanvas();
192
192
 
193
193
  const root = new SkiaSGRoot(Skia);
194
- root.render(element);
195
194
  return {
196
195
  surface: ckSurface,
197
196
  root,
198
- draw: () => {
197
+ draw: async () => {
198
+ await root.render(element);
199
199
  root.drawOnCanvas(canvas);
200
200
  },
201
201
  };
202
202
  };
203
203
 
204
- export const serialize = (element: ReactNode) => {
205
- const { root } = mountCanvas(element);
204
+ export const serialize = async (element: ReactNode) => {
205
+ const { root } = await mountCanvas(element);
206
206
  const serialized = serializeNode(root.sg);
207
207
  return JSON.stringify(serialized);
208
208
  };
@@ -379,11 +379,11 @@ class LocalSurface implements TestingSurface {
379
379
  return Promise.resolve(ckSurface.makeImageSnapshot());
380
380
  }
381
381
 
382
- draw(node: ReactNode): Promise<SkImage> {
383
- const { surface: ckSurface, draw } = mountCanvas(
382
+ async draw(node: ReactNode): Promise<SkImage> {
383
+ const { surface: ckSurface, draw } = await mountCanvas(
384
384
  <Group transform={[{ scale: PIXEL_RATIO }]}>{node}</Group>
385
385
  );
386
- draw();
386
+ await draw();
387
387
  return Promise.resolve(ckSurface.makeImageSnapshot());
388
388
  }
389
389
 
@@ -440,8 +440,8 @@ return surface.makeImageSnapshot().encodeToBase64();
440
440
  return image;
441
441
  }
442
442
 
443
- draw(node: ReactNode) {
444
- return this.handleImageResponse(serialize(node));
443
+ async draw(node: ReactNode) {
444
+ return this.handleImageResponse(await serialize(node));
445
445
  }
446
446
 
447
447
  screen(screen: string) {
@@ -40,12 +40,20 @@ const nativeDrawOnscreen = (nativeId: number, recorder: JsiRecorder) => {
40
40
  };
41
41
 
42
42
  export abstract class Container {
43
- public root: Node[] = [];
43
+ private _root: Node[] = [];
44
44
  protected recording: Recording | null = null;
45
45
  protected unmounted = false;
46
46
 
47
47
  constructor(protected Skia: Skia, protected nativeId: number) {}
48
48
 
49
+ get root() {
50
+ return this._root;
51
+ }
52
+
53
+ set root(value: Node[]) {
54
+ this._root = value;
55
+ }
56
+
49
57
  unmount() {
50
58
  this.unmounted = true;
51
59
  }
@@ -1,4 +1,5 @@
1
1
  /*global NodeJS*/
2
+ import { createContext } from "react";
2
3
  import type { Fiber, HostConfig } from "react-reconciler";
3
4
  import { DefaultEventPriority } from "react-reconciler/constants";
4
5
 
@@ -8,6 +9,9 @@ import { shallowEq } from "../renderer/typeddash";
8
9
  import type { Node } from "./Node";
9
10
  import type { Container } from "./Container";
10
11
 
12
+ type EventPriority = number;
13
+ const NoEventPriority = 0;
14
+
11
15
  const DEBUG = false;
12
16
  export const debug = (...args: Parameters<typeof console.log>) => {
13
17
  if (DEBUG) {
@@ -22,7 +26,7 @@ type TextInstance = Node;
22
26
  type SuspenseInstance = Instance;
23
27
  type HydratableInstance = Instance;
24
28
  type PublicInstance = Instance;
25
- type HostContext = null;
29
+ type HostContext = object;
26
30
  type UpdatePayload = Container;
27
31
  type ChildSet = Node[];
28
32
  type TimeoutHandle = NodeJS.Timeout;
@@ -43,6 +47,7 @@ type SkiaHostConfig = HostConfig<
43
47
  TimeoutHandle,
44
48
  NoTimeout
45
49
  >;
50
+ let currentUpdatePriority: EventPriority = NoEventPriority;
46
51
 
47
52
  export const sksgHostConfig: SkiaHostConfig = {
48
53
  /**
@@ -59,12 +64,12 @@ export const sksgHostConfig: SkiaHostConfig = {
59
64
 
60
65
  getRootHostContext: (_rootContainerInstance: Container) => {
61
66
  debug("getRootHostContext");
62
- return null;
67
+ return {};
63
68
  },
64
69
 
65
70
  getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {
66
71
  debug("getChildHostContext");
67
- return null;
72
+ return {};
68
73
  },
69
74
 
70
75
  shouldSetTextContent(_type, _props) {
@@ -125,9 +130,8 @@ export const sksgHostConfig: SkiaHostConfig = {
125
130
  return null;
126
131
  },
127
132
 
128
- resetAfterCommit(container) {
133
+ resetAfterCommit(_container) {
129
134
  debug("resetAfterCommit");
130
- container.redraw();
131
135
  },
132
136
 
133
137
  getPublicInstance(node: Instance) {
@@ -169,16 +173,15 @@ export const sksgHostConfig: SkiaHostConfig = {
169
173
 
170
174
  cloneInstance(
171
175
  instance,
172
- _updatePayload,
173
176
  _type,
174
177
  _oldProps,
175
178
  newProps,
179
+ _updatePayload,
176
180
  _internalInstanceHandle,
177
181
  keepChildren: boolean,
178
182
  _recyclableInstance: null | Instance
179
183
  ) {
180
184
  debug("cloneInstance");
181
-
182
185
  return {
183
186
  type: instance.type,
184
187
  props: newProps,
@@ -234,4 +237,31 @@ export const sksgHostConfig: SkiaHostConfig = {
234
237
  getInstanceFromScope: function (_scopeInstance): Instance | null {
235
238
  throw new Error("Function not implemented.");
236
239
  },
240
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
241
+ // @ts-expect-error
242
+ shouldAttemptEagerTransition: () => false,
243
+ trackSchedulerEvent: () => {},
244
+ resolveEventType: () => null,
245
+ resolveEventTimeStamp: () => -1.1,
246
+ requestPostPaintCallback() {},
247
+ maySuspendCommit: () => false,
248
+ preloadInstance: () => true, // true indicates already loaded
249
+ startSuspendingCommit() {},
250
+ suspendInstance() {},
251
+ waitForCommitToBeReady: () => null,
252
+ NotPendingTransition: null,
253
+ HostTransitionContext: createContext(null),
254
+ setCurrentUpdatePriority(newPriority: number) {
255
+ currentUpdatePriority = newPriority;
256
+ },
257
+ getCurrentUpdatePriority() {
258
+ return currentUpdatePriority;
259
+ },
260
+ resolveUpdatePriority() {
261
+ if (currentUpdatePriority !== NoEventPriority) {
262
+ return currentUpdatePriority;
263
+ }
264
+ return DefaultEventPriority;
265
+ },
266
+ resetFormInstance() {},
237
267
  };
@@ -41,13 +41,21 @@ export class SkiaSGRoot {
41
41
  return { type: NodeType.Group, props: {}, children, isDeclaration: false };
42
42
  }
43
43
 
44
- render(element: ReactNode) {
45
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
- skiaReconciler.updateContainer(element as any, this.root, null, () => {
47
- debug("updateContainer");
44
+ private updateContainer(element: ReactNode) {
45
+ return new Promise((resolve) => {
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ skiaReconciler.updateContainer(element as any, this.root, null, () => {
48
+ debug("updateContainer");
49
+ resolve(true);
50
+ });
48
51
  });
49
52
  }
50
53
 
54
+ async render(element: ReactNode) {
55
+ await this.updateContainer(element);
56
+ this.container.redraw();
57
+ }
58
+
51
59
  drawOnCanvas(canvas: SkCanvas) {
52
60
  this.container.drawOnCanvas(canvas);
53
61
  }
@@ -61,8 +69,11 @@ export class SkiaSGRoot {
61
69
 
62
70
  unmount() {
63
71
  this.container.unmount();
64
- skiaReconciler.updateContainer(null, this.root, null, () => {
65
- debug("unmountContainer");
72
+ return new Promise((resolve) => {
73
+ skiaReconciler.updateContainer(null, this.root, null, () => {
74
+ debug("unmountContainer");
75
+ resolve(true);
76
+ });
66
77
  });
67
78
  }
68
79
  }
@@ -39,10 +39,10 @@ const Ring = ({ index, progress, width, center }: RingProps) => {
39
39
  };
40
40
 
41
41
  describe("Simple", () => {
42
- it("should have a simple render (1)", () => {
42
+ it("should have a simple render (1)", async () => {
43
43
  const { Skia } = importSkia();
44
44
  const root = new SkiaSGRoot(Skia);
45
- root.render(<skCircle r={128} color="cyan" />);
45
+ await root.render(<skCircle r={128} color="cyan" />);
46
46
  const surface = Skia.Surface.Make(768, 768)!;
47
47
  expect(surface).toBeDefined();
48
48
  const canvas = surface.getCanvas();
@@ -52,10 +52,10 @@ describe("Simple", () => {
52
52
  expect(image).toBeDefined();
53
53
  checkImage(image, "snapshots/sksg/simple.png");
54
54
  });
55
- it("should have a simple render (2)", () => {
55
+ it("should have a simple render (2)", async () => {
56
56
  const { Skia } = importSkia();
57
57
  const root = new SkiaSGRoot(Skia);
58
- root.render(
58
+ await root.render(
59
59
  <>
60
60
  <skFill color="magenta" />
61
61
  <skCircle r={128} cx={768 / 2} cy={768 / 2} color="cyan" />
@@ -70,7 +70,7 @@ describe("Simple", () => {
70
70
  expect(image).toBeDefined();
71
71
  checkImage(image, "snapshots/sksg/simple2.png");
72
72
  });
73
- it("simple demo", () => {
73
+ it("simple demo", async () => {
74
74
  const { Skia } = importSkia();
75
75
  const root = new SkiaSGRoot(Skia);
76
76
  const width = 768;
@@ -78,7 +78,7 @@ describe("Simple", () => {
78
78
  const center = { x: width / 2, y: height / 2 };
79
79
  const progress = 0.5;
80
80
  const transform = (() => [{ rotate: mix(progress, -Math.PI, 0) }])();
81
- root.render(
81
+ await root.render(
82
82
  <>
83
83
  <skFill color="rgb(36,43,56)" />
84
84
  <skGroup blendMode="screen" origin={center} transform={transform}>
@@ -108,7 +108,7 @@ describe("Simple", () => {
108
108
  checkImage(image, "snapshots/sksg/breathe.png");
109
109
  });
110
110
 
111
- it("simple demo (2)", () => {
111
+ it("simple demo (2)", async () => {
112
112
  const { Skia } = importSkia();
113
113
  const root = new SkiaSGRoot(Skia);
114
114
  const width = 768;
@@ -116,7 +116,7 @@ describe("Simple", () => {
116
116
  const center = { x: width / 2, y: height / 2 };
117
117
  const progress = 0;
118
118
  const transform = (() => [{ rotate: mix(progress, -Math.PI, 0) }])();
119
- root.render(
119
+ await root.render(
120
120
  <>
121
121
  <skFill color="rgb(36,43,56)" />
122
122
  <skGroup blendMode="screen" origin={center} transform={transform}>
@@ -1,3 +1,4 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
1
2
  import type { SkRect } from "../skia/types";
2
3
  import type { ISkiaViewApi } from "../views/types";
3
4
  import type { SkiaPictureView } from "../views/SkiaPictureView.web";
@@ -36,3 +37,6 @@ global.SkiaViewApi = {
36
37
  });
37
38
  },
38
39
  } as ISkiaViewApiWeb;
40
+
41
+ // eslint-disable-next-line import/no-default-export
42
+ export default {};
@@ -1,19 +0,0 @@
1
- import type { HostConfig } from "react-reconciler";
2
- import type { NodeType } from "../dom/types";
3
- import type { Container } from "./Container";
4
- import type { Node } from "./Node";
5
- export declare const debug: (message?: any, ...optionalParams: any[]) => void;
6
- type Instance = Node<unknown>;
7
- type Props = object;
8
- type TextInstance = Node<unknown>;
9
- type SuspenseInstance = Instance;
10
- type HydratableInstance = Instance;
11
- type PublicInstance = Instance;
12
- type HostContext = null;
13
- type UpdatePayload = Container;
14
- type ChildSet = unknown;
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 {};
@@ -1,159 +0,0 @@
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 _typeddash = require("../renderer/typeddash");
9
- /*global NodeJS*/
10
-
11
- const DEBUG = false;
12
- const debug = (...args) => {
13
- if (DEBUG) {
14
- console.log(...args);
15
- }
16
- };
17
- exports.debug = debug;
18
- const appendNode = (parent, child) => {
19
- parent.children.push(child);
20
- };
21
- const removeNode = (parent, child) => {
22
- parent.children.splice(parent.children.indexOf(child), 1);
23
- };
24
- const insertBefore = (parent, child, before) => {
25
- parent.children.splice(parent.children.indexOf(before), 0, child);
26
- };
27
- const sksgHostConfig = exports.sksgHostConfig = {
28
- /**
29
- * This function is used by the reconciler in order to calculate current time for prioritising work.
30
- */
31
- supportsMutation: true,
32
- isPrimaryRenderer: false,
33
- supportsPersistence: false,
34
- supportsHydration: false,
35
- //supportsMicrotask: true,
36
-
37
- scheduleTimeout: setTimeout,
38
- cancelTimeout: clearTimeout,
39
- noTimeout: -1,
40
- appendChildToContainer(container, child) {
41
- debug("appendChildToContainer");
42
- container.root.push(child);
43
- },
44
- appendChild(parent, child) {
45
- debug("appendChild", parent, child);
46
- appendNode(parent, child);
47
- },
48
- getRootHostContext: _rootContainerInstance => {
49
- debug("getRootHostContext");
50
- return null;
51
- },
52
- getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {
53
- debug("getChildHostContext");
54
- return null;
55
- },
56
- shouldSetTextContent(_type, _props) {
57
- return false;
58
- },
59
- createTextInstance(_text, _rootContainerInstance, _hostContext, _internalInstanceHandle) {
60
- debug("createTextInstance");
61
- // return SpanNode({}, text) as SkNode;
62
- throw new Error("Text nodes are not supported yet");
63
- },
64
- createInstance(type, propsWithChildren, _container, _hostContext, _internalInstanceHandle) {
65
- debug("createInstance", type);
66
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
- const {
68
- children,
69
- ...props
70
- } = propsWithChildren;
71
- debug("createInstance", type);
72
- const instance = {
73
- type,
74
- props,
75
- children: []
76
- };
77
- return instance;
78
- },
79
- appendInitialChild(parentInstance, child) {
80
- debug("appendInitialChild");
81
- appendNode(parentInstance, child);
82
- },
83
- finalizeInitialChildren(parentInstance, _type, _props, _rootContainerInstance, _hostContext) {
84
- debug("finalizeInitialChildren", parentInstance);
85
- return false;
86
- },
87
- commitMount() {
88
- // if finalizeInitialChildren = true
89
- debug("commitMount");
90
- },
91
- prepareForCommit(_containerInfo) {
92
- debug("prepareForCommit");
93
- return null;
94
- },
95
- resetAfterCommit(container) {
96
- debug("resetAfterCommit");
97
- container.redraw();
98
- },
99
- getPublicInstance(node) {
100
- debug("getPublicInstance");
101
- return node;
102
- },
103
- prepareUpdate: (_instance, type, oldProps, newProps, rootContainerInstance, _hostContext) => {
104
- debug("prepareUpdate");
105
- const propsAreEqual = (0, _typeddash.shallowEq)(oldProps, newProps);
106
- if (propsAreEqual) {
107
- return null;
108
- }
109
- debug("update ", type);
110
- return rootContainerInstance;
111
- },
112
- commitUpdate(instance, _updatePayload, type, prevProps, nextProps, _internalHandle) {
113
- debug("commitUpdate: ", type);
114
- if ((0, _typeddash.shallowEq)(prevProps, nextProps)) {
115
- return;
116
- }
117
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
- const {
119
- children,
120
- ...props
121
- } = nextProps;
122
- instance.props = props;
123
- },
124
- commitTextUpdate: (_textInstance, _oldText, _newText) => {
125
- // textInstance.instance = newText;
126
- },
127
- clearContainer: container => {
128
- debug("clearContainer");
129
- container.root = [];
130
- },
131
- preparePortalMount: () => {
132
- debug("preparePortalMount");
133
- },
134
- removeChild: (parent, child) => {
135
- removeNode(parent, child);
136
- },
137
- removeChildFromContainer: (container, child) => {
138
- container.root.splice(container.root.indexOf(child), 1);
139
- },
140
- insertInContainerBefore: (container, child, before) => {
141
- container.root.splice(container.root.indexOf(before), 0, child);
142
- },
143
- insertBefore: (parent, child, before) => {
144
- insertBefore(parent, child, before);
145
- },
146
- // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874
147
- getCurrentEventPriority: () => _constants.DefaultEventPriority,
148
- beforeActiveInstanceBlur: () => {},
149
- afterActiveInstanceBlur: () => {},
150
- detachDeletedInstance: () => {},
151
- getInstanceFromNode: function (_node) {
152
- return null;
153
- },
154
- prepareScopeUpdate: function (_scopeInstance, _instance) {},
155
- getInstanceFromScope: function (_scopeInstance) {
156
- return null;
157
- }
158
- };
159
- //# sourceMappingURL=HostConfig2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_constants","require","_typeddash","DEBUG","debug","args","console","log","exports","appendNode","parent","child","children","push","removeNode","splice","indexOf","insertBefore","before","sksgHostConfig","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","appendChildToContainer","container","root","appendChild","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","type","propsWithChildren","_container","props","instance","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","node","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","shallowEq","commitUpdate","_updatePayload","prevProps","nextProps","_internalHandle","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","preparePortalMount","removeChild","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","DefaultEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance","getInstanceFromNode","_node","prepareScopeUpdate","_scopeInstance","getInstanceFromScope"],"sources":["HostConfig2.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { Fiber, HostConfig } from \"react-reconciler\";\nimport { DefaultEventPriority } from \"react-reconciler/constants\";\n\nimport type { NodeType } from \"../dom/types\";\nimport { shallowEq } from \"../renderer/typeddash\";\n\nimport type { Container } from \"./Container\";\nimport type { Node } from \"./Node\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\ntype Instance = Node<unknown>;\n\ntype Props = object;\ntype TextInstance = Node<unknown>;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = unknown;\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\nconst appendNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.children.push(child);\n};\n\nconst removeNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.children.splice(parent.children.indexOf(child), 1);\n};\n\nconst insertBefore = (\n parent: Node<unknown>,\n child: Node<unknown>,\n before: Node<unknown>\n) => {\n parent.children.splice(parent.children.indexOf(before), 0, child);\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: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n //supportsMicrotask: true,\n\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n appendChildToContainer(container, child) {\n debug(\"appendChildToContainer\");\n container.root.push(child);\n },\n\n appendChild(parent, child) {\n debug(\"appendChild\", parent, child);\n appendNode(parent, child);\n },\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 propsWithChildren,\n _container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const { children, ...props } = propsWithChildren as any;\n debug(\"createInstance\", type);\n const instance = {\n type,\n props,\n children: [],\n };\n return instance;\n },\n\n appendInitialChild(parentInstance, child) {\n debug(\"appendInitialChild\");\n appendNode(parentInstance, 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 prepareUpdate: (\n _instance,\n type,\n oldProps,\n newProps,\n rootContainerInstance,\n _hostContext\n ) => {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n debug(\"update \", type);\n return rootContainerInstance;\n },\n\n commitUpdate(\n instance,\n _updatePayload,\n type,\n prevProps,\n nextProps,\n _internalHandle\n ) {\n debug(\"commitUpdate: \", type);\n if (shallowEq(prevProps, nextProps)) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const { children, ...props } = nextProps as any;\n instance.props = props;\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.root = [];\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n removeChild: (parent, child) => {\n removeNode(parent, child);\n },\n\n removeChildFromContainer: (container, child) => {\n container.root.splice(container.root.indexOf(child), 1);\n },\n\n insertInContainerBefore: (container, child, before) => {\n container.root.splice(container.root.indexOf(before), 0, child);\n },\n\n insertBefore: (parent, child, before) => {\n insertBefore(parent, child, before);\n },\n\n // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n getCurrentEventPriority: () => DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n\n getInstanceFromNode: function (_node): Fiber | null | undefined {\n return null;\n },\n prepareScopeUpdate: function (_scopeInstance, _instance): void {},\n getInstanceFromScope: function (_scopeInstance): Instance | null {\n return null;\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- import type { HostConfig } from "react-reconciler";
2
- import type { NodeType } from "../dom/types";
3
- import type { Container } from "./Container";
4
- import type { Node } from "./Node";
5
- export declare const debug: (message?: any, ...optionalParams: any[]) => void;
6
- type Instance = Node<unknown>;
7
- type Props = object;
8
- type TextInstance = Node<unknown>;
9
- type SuspenseInstance = Instance;
10
- type HydratableInstance = Instance;
11
- type PublicInstance = Instance;
12
- type HostContext = null;
13
- type UpdatePayload = Container;
14
- type ChildSet = unknown;
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 {};