@shopify/react-native-skia 2.6.3-next.1 → 2.6.3-next.2

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 (373) hide show
  1. package/android/CMakeLists.txt +8 -4
  2. package/android/build.gradle +22 -3
  3. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +62 -0
  4. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerDelegate.java +35 -0
  5. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerInterface.java +17 -0
  6. package/apple/RNSkApplePlatformContext.h +2 -0
  7. package/apple/RNSkApplePlatformContext.mm +71 -0
  8. package/apple/RNWebGPUAppleNativeBuffer.mm +33 -0
  9. package/cpp/api/JsiNativeBuffer.h +9 -1
  10. package/cpp/api/JsiSkAnimatedImage.h +1 -1
  11. package/cpp/api/JsiSkAnimatedImageFactory.h +1 -1
  12. package/cpp/api/JsiSkApi.h +3 -3
  13. package/cpp/api/JsiSkCanvas.h +34 -1
  14. package/cpp/api/JsiSkColor.h +1 -1
  15. package/cpp/api/JsiSkDataFactory.h +2 -2
  16. package/cpp/api/JsiSkFont.h +1 -1
  17. package/cpp/api/JsiSkFontMgr.h +1 -1
  18. package/cpp/api/JsiSkHostObjects.h +3 -3
  19. package/cpp/api/JsiSkImage.h +15 -7
  20. package/cpp/api/JsiSkImageFactory.h +2 -2
  21. package/cpp/api/JsiSkPath.h +1 -1
  22. package/cpp/api/JsiSkPathFactory.h +1 -1
  23. package/cpp/api/JsiSkSkottie.h +1 -1
  24. package/cpp/api/JsiSkSurface.h +18 -6
  25. package/cpp/api/JsiSkTypeface.h +1 -1
  26. package/cpp/api/JsiSkTypefaceFontProvider.h +1 -1
  27. package/cpp/api/JsiSkiaContext.h +2 -2
  28. package/cpp/api/JsiTextureInfo.h +1 -1
  29. package/cpp/api/JsiVideo.h +2 -2
  30. package/cpp/api/recorder/Convertor.h +1 -1
  31. package/cpp/api/recorder/Drawings.h +1 -1
  32. package/cpp/api/recorder/JsiRecorder.h +4 -4
  33. package/cpp/api/recorder/RNRecorder.h +1 -1
  34. package/cpp/api/third_party/SkottieUtils.cpp +1 -1
  35. package/cpp/api/third_party/base64.cpp +1 -1
  36. package/cpp/jsi/JsiHostObject.cpp +5 -7
  37. package/cpp/jsi/JsiPromises.h +1 -1
  38. package/cpp/jsi/ViewProperty.h +1 -1
  39. package/cpp/rnskia/RNDawnContext.h +13 -0
  40. package/cpp/rnskia/RNDawnUtils.h +11 -1
  41. package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
  42. package/cpp/rnskia/RNSkManager.cpp +88 -2
  43. package/cpp/rnskia/RNSkPictureView.h +4 -4
  44. package/cpp/rnskia/RNSkPlatformContext.h +7 -0
  45. package/cpp/rnskia/RNSkView.h +9 -6
  46. package/cpp/rnwgpu/ArrayBuffer.h +51 -7
  47. package/cpp/rnwgpu/api/AppleNativeBuffer.h +22 -0
  48. package/cpp/rnwgpu/api/Convertors.h +33 -11
  49. package/cpp/rnwgpu/api/GPU.cpp +0 -3
  50. package/cpp/rnwgpu/api/GPUAdapter.cpp +37 -7
  51. package/cpp/rnwgpu/api/GPUBuffer.h +1 -1
  52. package/cpp/rnwgpu/api/GPUDevice.cpp +84 -6
  53. package/cpp/rnwgpu/api/GPUDevice.h +12 -0
  54. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +139 -0
  55. package/cpp/rnwgpu/api/GPUExternalTexture.h +52 -2
  56. package/cpp/rnwgpu/api/GPUQueue.cpp +50 -45
  57. package/cpp/rnwgpu/api/GPUShaderModule.cpp +1 -1
  58. package/cpp/rnwgpu/api/GPUSharedFence.cpp +80 -0
  59. package/cpp/rnwgpu/api/GPUSharedFence.h +53 -0
  60. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +135 -0
  61. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +75 -0
  62. package/cpp/rnwgpu/api/ImageBitmap.h +62 -0
  63. package/cpp/rnwgpu/api/NativeBufferUtils.h +87 -0
  64. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +4 -1
  65. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +1 -1
  66. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +56 -0
  67. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +10 -0
  68. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +43 -24
  69. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +9 -9
  70. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +1 -1
  71. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +2 -2
  72. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +58 -0
  73. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +51 -0
  74. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +73 -0
  75. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +1 -1
  76. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +1 -1
  77. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +1 -1
  78. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +1 -1
  79. package/cpp/skia/include/android/SkAnimatedImage.h +1 -1
  80. package/cpp/skia/include/codec/SkCodec.h +0 -8
  81. package/cpp/skia/include/codec/SkEncodedOrigin.h +1 -1
  82. package/cpp/skia/include/codec/SkPngRustDecoder.h +1 -1
  83. package/cpp/skia/include/core/SkBitmap.h +2 -8
  84. package/cpp/skia/include/core/SkCPURecorder.h +3 -1
  85. package/cpp/skia/include/core/SkCanvasVirtualEnforcer.h +1 -1
  86. package/cpp/skia/include/core/SkColorType.h +5 -3
  87. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  88. package/cpp/skia/include/core/SkCoverageMode.h +1 -1
  89. package/cpp/skia/include/core/SkCubicMap.h +1 -1
  90. package/cpp/skia/include/core/SkExecutor.h +1 -1
  91. package/cpp/skia/include/core/SkFont.h +15 -0
  92. package/cpp/skia/include/core/SkFontArguments.h +6 -1
  93. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  94. package/cpp/skia/include/core/SkFontMgr.h +36 -1
  95. package/cpp/skia/include/core/SkFontParameters.h +1 -1
  96. package/cpp/skia/include/core/SkFontScanner.h +1 -1
  97. package/cpp/skia/include/core/SkFontTypes.h +1 -1
  98. package/cpp/skia/include/core/SkM44.h +1 -1
  99. package/cpp/skia/include/core/SkMilestone.h +1 -1
  100. package/cpp/skia/include/core/SkOpenTypeSVGDecoder.h +1 -1
  101. package/cpp/skia/include/core/SkPathBuilder.h +10 -4
  102. package/cpp/skia/include/core/SkPathIter.h +1 -1
  103. package/cpp/skia/include/core/SkPathTypes.h +1 -1
  104. package/cpp/skia/include/core/SkPixelRef.h +4 -1
  105. package/cpp/skia/include/core/SkRecorder.h +2 -1
  106. package/cpp/skia/include/core/SkRegion.h +17 -6
  107. package/cpp/skia/include/core/SkSamplingOptions.h +1 -1
  108. package/cpp/skia/include/core/SkSerialProcs.h +8 -1
  109. package/cpp/skia/include/core/SkShader.h +3 -5
  110. package/cpp/skia/include/core/SkSpan.h +1 -1
  111. package/cpp/skia/include/core/SkStream.h +1 -1
  112. package/cpp/skia/include/core/SkStrikeRef.h +80 -0
  113. package/cpp/skia/include/core/SkTileMode.h +1 -1
  114. package/cpp/skia/include/core/SkVertices.h +1 -1
  115. package/cpp/skia/include/core/SkYUVAPixmaps.h +3 -5
  116. package/cpp/skia/include/docs/SkPDFDocument.h +1 -1
  117. package/cpp/skia/include/docs/SkXPSDocument.h +1 -1
  118. package/cpp/skia/include/effects/SkGradient.h +1 -1
  119. package/cpp/skia/include/effects/SkHighContrastFilter.h +1 -1
  120. package/cpp/skia/include/effects/SkRuntimeEffect.h +2 -2
  121. package/cpp/skia/include/effects/SkShaderMaskFilter.h +1 -1
  122. package/cpp/skia/include/effects/SkTrimPathEffect.h +1 -1
  123. package/cpp/skia/include/encode/SkEncoder.h +1 -1
  124. package/cpp/skia/include/encode/SkJpegEncoder.h +1 -1
  125. package/cpp/skia/include/encode/SkPngEncoder.h +1 -1
  126. package/cpp/skia/include/encode/SkPngRustEncoder.h +1 -1
  127. package/cpp/skia/include/encode/SkWebpEncoder.h +1 -1
  128. package/cpp/skia/include/gpu/GpuTypes.h +2 -0
  129. package/cpp/skia/include/gpu/MutableTextureState.h +1 -1
  130. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +1 -1
  131. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +6 -62
  132. package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +1 -1
  133. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +1 -1
  134. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +1 -1
  135. package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +2 -1
  136. package/cpp/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
  137. package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +1 -1
  138. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +1 -1
  139. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +1 -1
  140. package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +1 -1
  141. package/cpp/skia/include/gpu/graphite/Context.h +12 -5
  142. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +6 -0
  143. package/cpp/skia/include/gpu/graphite/Image.h +82 -9
  144. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +7 -2
  145. package/cpp/skia/include/gpu/graphite/Recorder.h +6 -4
  146. package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +11 -1
  147. package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +1 -0
  148. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +1 -1
  149. package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +1 -1
  150. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
  151. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +1 -1
  152. package/cpp/skia/include/gpu/vk/VulkanTypes.h +1 -1
  153. package/cpp/skia/include/ports/SkCFObject.h +1 -1
  154. package/cpp/skia/include/ports/SkFontMgr_Fontations.h +1 -1
  155. package/cpp/skia/include/ports/SkFontMgr_android_ndk.h +1 -1
  156. package/cpp/skia/include/ports/SkFontMgr_data.h +1 -1
  157. package/cpp/skia/include/ports/SkFontMgr_fuchsia.h +1 -1
  158. package/cpp/skia/include/ports/SkFontMgr_mac_ct.h +1 -1
  159. package/cpp/skia/include/ports/SkFontScanner_Fontations.h +1 -1
  160. package/cpp/skia/include/ports/SkFontScanner_FreeType.h +1 -1
  161. package/cpp/skia/include/ports/SkTypeface_fontations.h +1 -1
  162. package/cpp/skia/include/private/SkExif.h +1 -1
  163. package/cpp/skia/include/private/SkGainmapInfo.h +1 -1
  164. package/cpp/skia/include/private/SkGainmapShader.h +1 -1
  165. package/cpp/skia/include/private/SkHdrMetadata.h +21 -0
  166. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -1
  167. package/cpp/skia/include/private/SkPixelStorage.h +37 -0
  168. package/cpp/skia/include/private/SkXmp.h +1 -1
  169. package/cpp/skia/include/private/base/SkAssert.h +6 -5
  170. package/cpp/skia/include/private/base/SkContainers.h +1 -1
  171. package/cpp/skia/include/private/base/SkFeatures.h +30 -30
  172. package/cpp/skia/include/private/base/SkLog.h +1 -7
  173. package/cpp/skia/include/private/base/SkLogPriority.h +4 -5
  174. package/cpp/skia/include/private/base/SkMacros.h +1 -1
  175. package/cpp/skia/include/private/base/SkMalloc.h +1 -1
  176. package/cpp/skia/include/private/base/SkSafe32.h +1 -1
  177. package/cpp/skia/include/private/base/SkSpan_impl.h +1 -1
  178. package/cpp/skia/include/private/base/SkTDArray.h +13 -1
  179. package/cpp/skia/include/private/base/SkTPin.h +1 -1
  180. package/cpp/skia/include/private/base/SkTo.h +1 -1
  181. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +1 -1
  182. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -1
  183. package/cpp/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
  184. package/cpp/skia/include/private/chromium/SkExifChromium.h +26 -0
  185. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
  186. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  187. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +2 -1
  188. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +1 -1
  189. package/cpp/skia/include/sksl/SkSLDebugTrace.h +1 -1
  190. package/cpp/skia/include/third_party/vulkan/vulkan/vk_icd.h +41 -51
  191. package/cpp/skia/include/third_party/vulkan/vulkan/vk_layer.h +42 -53
  192. package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -1
  193. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +158 -154
  194. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +68 -65
  195. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +90 -87
  196. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +9 -9
  197. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +2 -2
  198. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +82 -79
  199. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +24 -24
  200. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +2 -2
  201. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +95 -96
  202. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
  203. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
  204. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +1 -1
  205. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +5 -1
  206. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +7 -1
  207. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +291 -158
  208. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +13174 -10113
  209. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +23 -19
  210. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +159 -165
  211. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +22 -19
  212. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +3 -1
  213. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +3 -1
  214. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +94 -88
  215. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
  216. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +55 -51
  217. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +18 -15
  218. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +23 -19
  219. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +31 -1
  220. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +5 -1
  221. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +27 -27
  222. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +20 -16
  223. package/cpp/skia/include/utils/SkEventTracer.h +6 -1
  224. package/cpp/skia/include/utils/SkOrderedFontMgr.h +1 -1
  225. package/cpp/skia/include/utils/SkShadowUtils.h +1 -1
  226. package/cpp/skia/include/utils/SkTextUtils.h +1 -1
  227. package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +20 -4
  228. package/cpp/skia/modules/skcms/src/Transform_inl.h +11 -15
  229. package/cpp/skia/modules/skcms/src/skcms_public.h +2 -0
  230. package/cpp/skia/modules/skottie/include/ExternalLayer.h +1 -1
  231. package/cpp/skia/modules/skottie/include/Skottie.h +1 -1
  232. package/cpp/skia/modules/skottie/include/SkottieProperty.h +1 -1
  233. package/cpp/skia/modules/skottie/include/SlotManager.h +1 -1
  234. package/cpp/skia/modules/skottie/include/TextShaper.h +1 -1
  235. package/cpp/skia/modules/skottie/src/SkottieValue.h +1 -1
  236. package/cpp/skia/modules/skottie/src/animator/Animator.h +1 -1
  237. package/cpp/skia/modules/skottie/src/text/Font.h +1 -1
  238. package/cpp/skia/modules/skottie/src/text/TextAdapter.h +1 -1
  239. package/cpp/skia/modules/skottie/src/text/TextAnimator.h +3 -2
  240. package/cpp/skia/modules/skottie/src/text/TextValue.h +1 -1
  241. package/cpp/skia/modules/skparagraph/include/DartTypes.h +1 -1
  242. package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
  243. package/cpp/skia/modules/skparagraph/include/FontCollection.h +5 -1
  244. package/cpp/skia/modules/skparagraph/include/Metrics.h +1 -1
  245. package/cpp/skia/modules/skparagraph/include/Paragraph.h +1 -1
  246. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +1 -1
  247. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -1
  248. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +1 -1
  249. package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +12 -5
  250. package/cpp/skia/modules/skparagraph/include/TextShadow.h +1 -1
  251. package/cpp/skia/modules/skparagraph/include/TextStyle.h +1 -1
  252. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -1
  253. package/cpp/skia/modules/sksg/include/SkSGClipEffect.h +1 -1
  254. package/cpp/skia/modules/sksg/include/SkSGColorFilter.h +1 -1
  255. package/cpp/skia/modules/sksg/include/SkSGDraw.h +1 -1
  256. package/cpp/skia/modules/sksg/include/SkSGEffectNode.h +1 -1
  257. package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +1 -1
  258. package/cpp/skia/modules/sksg/include/SkSGGeometryNode.h +1 -1
  259. package/cpp/skia/modules/sksg/include/SkSGGradient.h +1 -1
  260. package/cpp/skia/modules/sksg/include/SkSGGroup.h +1 -1
  261. package/cpp/skia/modules/sksg/include/SkSGImage.h +1 -1
  262. package/cpp/skia/modules/sksg/include/SkSGInvalidationController.h +1 -1
  263. package/cpp/skia/modules/sksg/include/SkSGMaskEffect.h +1 -1
  264. package/cpp/skia/modules/sksg/include/SkSGMerge.h +1 -1
  265. package/cpp/skia/modules/sksg/include/SkSGNode.h +1 -1
  266. package/cpp/skia/modules/sksg/include/SkSGOpacityEffect.h +1 -1
  267. package/cpp/skia/modules/sksg/include/SkSGPaint.h +1 -1
  268. package/cpp/skia/modules/sksg/include/SkSGPath.h +1 -1
  269. package/cpp/skia/modules/sksg/include/SkSGPlane.h +1 -1
  270. package/cpp/skia/modules/sksg/include/SkSGRect.h +1 -1
  271. package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +1 -1
  272. package/cpp/skia/modules/sksg/include/SkSGRenderNode.h +1 -1
  273. package/cpp/skia/modules/sksg/include/SkSGScene.h +1 -1
  274. package/cpp/skia/modules/sksg/include/SkSGText.h +1 -1
  275. package/cpp/skia/modules/sksg/include/SkSGTransform.h +1 -1
  276. package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +8 -1
  277. package/cpp/skia/modules/svg/include/SkSVGFe.h +1 -1
  278. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +1 -1
  279. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +1 -1
  280. package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +1 -1
  281. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +1 -1
  282. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +1 -1
  283. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +1 -1
  284. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +1 -1
  285. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +1 -1
  286. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +1 -1
  287. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +1 -1
  288. package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +1 -1
  289. package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +1 -1
  290. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +1 -1
  291. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +1 -1
  292. package/cpp/skia/modules/svg/include/SkSVGFilter.h +1 -1
  293. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +1 -1
  294. package/cpp/skia/modules/svg/include/SkSVGGradient.h +1 -1
  295. package/cpp/skia/modules/svg/include/SkSVGImage.h +1 -1
  296. package/cpp/skia/modules/svg/include/SkSVGMask.h +1 -1
  297. package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +1 -1
  298. package/cpp/skia/modules/svg/include/SkSVGPattern.h +1 -1
  299. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +1 -1
  300. package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
  301. package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
  302. package/cpp/skia/src/base/SkAutoLocaleSetter.h +94 -0
  303. package/cpp/skia/src/base/SkUTF.h +1 -1
  304. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  305. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  306. package/lib/commonjs/skia/types/WebGPU.d.ts +153 -0
  307. package/lib/commonjs/skia/types/WebGPU.js +6 -0
  308. package/lib/commonjs/skia/types/WebGPU.js.map +1 -0
  309. package/lib/commonjs/skia/types/index.d.ts +1 -0
  310. package/lib/commonjs/skia/types/index.js +11 -0
  311. package/lib/commonjs/skia/types/index.js.map +1 -1
  312. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  313. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js +19 -0
  314. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
  315. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  316. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  317. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  318. package/lib/module/skia/types/WebGPU.d.ts +153 -0
  319. package/lib/module/skia/types/WebGPU.js +2 -0
  320. package/lib/module/skia/types/WebGPU.js.map +1 -0
  321. package/lib/module/skia/types/index.d.ts +1 -0
  322. package/lib/module/skia/types/index.js +1 -0
  323. package/lib/module/skia/types/index.js.map +1 -1
  324. package/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  325. package/lib/module/skia/web/JsiSkNativeBufferFactory.js +19 -0
  326. package/lib/module/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
  327. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  328. package/lib/module/web/LoadSkiaWeb.js +1 -2
  329. package/lib/module/web/LoadSkiaWeb.js.map +1 -1
  330. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +1 -0
  331. package/lib/typescript/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  332. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +1 -0
  333. package/lib/typescript/lib/module/skia/types/index.d.ts +1 -0
  334. package/lib/typescript/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  335. package/lib/typescript/src/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  336. package/lib/typescript/src/skia/types/WebGPU.d.ts +153 -0
  337. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  338. package/lib/typescript/src/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  339. package/package.json +16 -14
  340. package/react-native-skia.podspec +59 -7
  341. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +10 -1
  342. package/src/skia/types/WebGPU.ts +186 -0
  343. package/src/skia/types/index.ts +1 -0
  344. package/src/skia/web/JsiSkNativeBufferFactory.ts +20 -0
  345. package/src/skia/web/JsiSkPath.ts +8 -2
  346. package/cpp/dawn/include/dawn/dawn_proc.h +0 -50
  347. package/cpp/dawn/include/dawn/dawn_proc_table.h +0 -326
  348. package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +0 -47
  349. package/cpp/dawn/include/dawn/native/D3D11Backend.h +0 -65
  350. package/cpp/dawn/include/dawn/native/D3D12Backend.h +0 -102
  351. package/cpp/dawn/include/dawn/native/D3DBackend.h +0 -56
  352. package/cpp/dawn/include/dawn/native/DawnNative.h +0 -369
  353. package/cpp/dawn/include/dawn/native/MetalBackend.h +0 -56
  354. package/cpp/dawn/include/dawn/native/NullBackend.h +0 -39
  355. package/cpp/dawn/include/dawn/native/OpenGLBackend.h +0 -89
  356. package/cpp/dawn/include/dawn/native/VulkanBackend.h +0 -183
  357. package/cpp/dawn/include/dawn/native/WebGPUBackend.h +0 -49
  358. package/cpp/dawn/include/dawn/native/dawn_native_export.h +0 -49
  359. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +0 -203
  360. package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +0 -49
  361. package/cpp/dawn/include/dawn/replay/Replay.h +0 -75
  362. package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +0 -49
  363. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +0 -2752
  364. package/cpp/dawn/include/tint/tint.h +0 -90
  365. package/cpp/dawn/include/webgpu/webgpu.h +0 -4902
  366. package/cpp/dawn/include/webgpu/webgpu_cpp.h +0 -10261
  367. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +0 -57
  368. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  369. package/cpp/dawn/include/webgpu/webgpu_glfw.h +0 -88
  370. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +0 -45
  371. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +0 -360
  372. package/cpp/skia/src/gpu/graphite/TextureProxyView.h +0 -105
  373. package/scripts/install-libs.js +0 -173
@@ -0,0 +1,94 @@
1
+ /*
2
+ * Copyright 2015 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkAutoLocaleSetter_DEFINED
9
+ #define SkAutoLocaleSetter_DEFINED
10
+
11
+ #include "include/private/base/SkNoncopyable.h"
12
+
13
+ #if defined(SK_BUILD_FOR_WIN)
14
+ #include <optional>
15
+ #include <string>
16
+ #endif
17
+
18
+ #if !defined(SK_BUILD_FOR_ANDROID)
19
+ #include <locale.h>
20
+ #endif
21
+
22
+ #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
23
+ #include <xlocale.h>
24
+ #include <cstring>
25
+ #define HAVE_XLOCALE 1
26
+ #else
27
+ #define HAVE_XLOCALE 0
28
+ #endif
29
+
30
+ #if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION)
31
+ #define HAVE_LOCALE_T 0
32
+ #else
33
+ #define HAVE_LOCALE_T 1
34
+ #endif
35
+
36
+ /**
37
+ * Helper class for ensuring that we don't use the wrong locale when building shaders. Android
38
+ * doesn't support locale in the NDK, so this is a no-op there.
39
+ */
40
+ class SkAutoLocaleSetter : public SkNoncopyable {
41
+ public:
42
+ SkAutoLocaleSetter (const char* name) {
43
+ #if defined(SK_BUILD_FOR_WIN)
44
+ fOldPerThreadLocale = _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
45
+ char* oldLocale = setlocale(LC_ALL, name);
46
+ if (oldLocale) {
47
+ fOldLocale.emplace(oldLocale);
48
+ }
49
+ #elif HAVE_LOCALE_T
50
+ #if HAVE_XLOCALE
51
+ // In xlocale nullptr means the C locale.
52
+ if (0 == strcmp(name, "C")) {
53
+ name = nullptr;
54
+ }
55
+ #endif
56
+ fLocale = newlocale(LC_ALL_MASK, name, nullptr);
57
+ if (fLocale) {
58
+ fOldLocale = uselocale(fLocale);
59
+ } else {
60
+ fOldLocale = static_cast<locale_t>(nullptr);
61
+ }
62
+ #else
63
+ (void) name; // suppress unused param warning.
64
+ #endif
65
+ }
66
+
67
+ ~SkAutoLocaleSetter () {
68
+ #if defined(SK_BUILD_FOR_WIN)
69
+ if (fOldLocale) {
70
+ setlocale(LC_ALL, fOldLocale->c_str());
71
+ }
72
+ _configthreadlocale(fOldPerThreadLocale);
73
+ #elif HAVE_LOCALE_T
74
+ if (fLocale) {
75
+ uselocale(fOldLocale);
76
+ freelocale(fLocale);
77
+ }
78
+ #endif
79
+ }
80
+
81
+ private:
82
+ #if defined(SK_BUILD_FOR_WIN)
83
+ int fOldPerThreadLocale;
84
+ std::optional<std::string> fOldLocale;
85
+ #elif HAVE_LOCALE_T
86
+ locale_t fOldLocale;
87
+ locale_t fLocale;
88
+ #endif
89
+ };
90
+
91
+ #undef HAVE_LOCALE_T
92
+ #undef HAVE_XLOCALE
93
+
94
+ #endif
@@ -1,4 +1,4 @@
1
- // Copyright 2018 Google LLC.
1
+ // Copyright 2018 Google LLC
2
2
  // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
3
  #ifndef SkUTF_DEFINED
4
4
  #define SkUTF_DEFINED
@@ -14,7 +14,16 @@ export interface NativeBufferFactory {
14
14
  */
15
15
  MakeFromImage: (image: SkImage) => NativeBuffer;
16
16
  /**
17
- * Release a native buffer that was created with `MakeFromImage`.
17
+ * Create a native buffer of the given size filled with a procedural test
18
+ * pattern (RGB gradient + diagonal stripes), entirely on the CPU. Useful for
19
+ * examples and tests that need a buffer to feed into
20
+ * `GPUDevice.importExternalTexture` without a camera/video source. Release it
21
+ * with `Release`.
22
+ */
23
+ MakeTestBuffer: (width: number, height: number) => NativeBuffer;
24
+ /**
25
+ * Release a native buffer that was created with `MakeFromImage` or
26
+ * `MakeTestBuffer`.
18
27
  */
19
28
  Release: (nativeBuffer: NativeBuffer) => void;
20
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown,\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown,\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Create a native buffer of the given size filled with a procedural test\n * pattern (RGB gradient + diagonal stripes), entirely on the CPU. Useful for\n * examples and tests that need a buffer to feed into\n * `GPUDevice.importExternalTexture` without a camera/video source. Release it\n * with `Release`.\n */\n MakeTestBuffer: (width: number, height: number) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage` or\n * `MakeTestBuffer`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ import type { NativeBuffer } from "./NativeBuffer";
2
+ /**
3
+ * Descriptor for {@link GPUDevice.importExternalTexture} when the source is a
4
+ * Skia NativeBuffer (Skia has no WebCodecs `VideoFrame`).
5
+ *
6
+ * `source` is the handle returned by `Skia.NativeBuffer.MakeFromImage`: a
7
+ * `CVPixelBufferRef` on Apple, an `AHardwareBuffer*` on Android. The caller
8
+ * owns its lifetime (release it with `Skia.NativeBuffer.Release`) and must keep
9
+ * it alive until the imported texture is destroyed.
10
+ */
11
+ export interface SkiaGPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
12
+ source: NativeBuffer;
13
+ /** Rotation applied while sampling, in degrees. One of 0 | 90 | 180 | 270. */
14
+ rotation?: number;
15
+ /** Mirror horizontally while sampling. */
16
+ mirrored?: boolean;
17
+ }
18
+ /**
19
+ * Descriptor for {@link GPUDevice.importSharedTextureMemory}. `handle` is the
20
+ * NativeBuffer returned by `Skia.NativeBuffer.MakeFromImage` (see
21
+ * {@link SkiaGPUExternalTextureDescriptor} for the platform-specific types and
22
+ * lifetime rules).
23
+ */
24
+ export interface GPUSharedTextureMemoryDescriptor extends GPUObjectDescriptorBase {
25
+ handle: NativeBuffer;
26
+ }
27
+ /**
28
+ * The kind of native synchronization primitive a {@link GPUSharedFence} wraps,
29
+ * matching the `shared-fence-*` device feature names. Limited to the kinds
30
+ * react-native-skia targets (iOS/Metal and Android/Vulkan); `importSharedFence`
31
+ * accepts these and `export()` reports them.
32
+ */
33
+ export type GPUSharedFenceType = "mtl-shared-event" | "sync-fd" | "vk-semaphore-opaque-fd";
34
+ /**
35
+ * Descriptor for {@link GPUDevice.importSharedFence}.
36
+ */
37
+ export interface GPUSharedFenceDescriptor {
38
+ /**
39
+ * The fence kind to import. Must match a `shared-fence-*` feature enabled on
40
+ * the device.
41
+ */
42
+ type: GPUSharedFenceType;
43
+ /**
44
+ * The raw native handle as a BigInt: an `id<MTLSharedEvent>` pointer for
45
+ * `"mtl-shared-event"`, or an OS file descriptor for the `*-fd` kinds.
46
+ */
47
+ handle: bigint;
48
+ label?: string;
49
+ }
50
+ export interface GPUSharedFenceExportInfo {
51
+ type: GPUSharedFenceType;
52
+ /**
53
+ * An `id<MTLSharedEvent>` pointer (Apple) or file descriptor (Android), as a
54
+ * BigInt. The caller takes ownership; e.g. an exported sync-fd must be closed
55
+ * once consumed.
56
+ */
57
+ handle: bigint;
58
+ }
59
+ /**
60
+ * A native GPU synchronization primitive shared across queues/APIs. Produced by
61
+ * {@link GPUSharedTextureMemory.endAccess}, consumed by
62
+ * {@link GPUSharedTextureMemory.beginAccess}, or imported from a consumer's
63
+ * fence with {@link GPUDevice.importSharedFence}.
64
+ */
65
+ export interface GPUSharedFence {
66
+ readonly __brand: "GPUSharedFence";
67
+ label: string;
68
+ export(): GPUSharedFenceExportInfo;
69
+ }
70
+ /** A fence and the timeline value to wait for (0n for binary sync-fd fences). */
71
+ export interface GPUSharedFenceState {
72
+ fence: GPUSharedFence;
73
+ signaledValue: bigint;
74
+ }
75
+ /**
76
+ * The result of {@link GPUSharedTextureMemory.endAccess}: each fence is signaled
77
+ * at its `signaledValue` once Dawn's GPU work for the access completes.
78
+ */
79
+ export interface GPUSharedTextureMemoryEndAccessState {
80
+ initialized: boolean;
81
+ fences: GPUSharedFenceState[];
82
+ }
83
+ /**
84
+ * Shared texture memory imported from a platform native buffer via
85
+ * {@link GPUDevice.importSharedTextureMemory}. Create a texture that aliases
86
+ * the memory, then bracket the GPU work that touches it with
87
+ * {@link GPUSharedTextureMemory.beginAccess} / {@link GPUSharedTextureMemory.endAccess}.
88
+ */
89
+ export interface GPUSharedTextureMemory extends GPUObjectBase {
90
+ /** Create a texture that aliases the shared memory. */
91
+ createTexture(descriptor?: GPUTextureDescriptor): GPUTexture;
92
+ /**
93
+ * Acquire the memory for GPU access. `initialized` marks whether the existing
94
+ * contents should be preserved (pass `true` for an already-rendered frame).
95
+ * Optional `fences` are wait fences: Dawn waits for each to reach its
96
+ * `signaledValue` before writing the surface. Throws if the access could not
97
+ * be acquired.
98
+ */
99
+ beginAccess(texture: GPUTexture, initialized: boolean, fences?: GPUSharedFenceState[]): void;
100
+ /**
101
+ * Release the memory after the GPU work that accessed it has been submitted,
102
+ * and return the fences Dawn produced for the access. Throws on failure.
103
+ */
104
+ endAccess(texture: GPUTexture): GPUSharedTextureMemoryEndAccessState;
105
+ }
106
+ /**
107
+ * Dawn-specific toggles, passed via {@link GPUDeviceDescriptor.dawnToggles} to
108
+ * `adapter.requestDevice`. This is a non-spec, Dawn-only extension; see Dawn's
109
+ * toggle list for valid names.
110
+ */
111
+ export interface GPUDawnTogglesDescriptor {
112
+ enabledToggles?: string[];
113
+ disabledToggles?: string[];
114
+ }
115
+ declare global {
116
+ interface GPUDeviceDescriptor {
117
+ /** Dawn-specific toggles (Skia/Graphite extension, non-spec). */
118
+ dawnToggles?: GPUDawnTogglesDescriptor;
119
+ }
120
+ interface GPUExternalTexture {
121
+ /**
122
+ * Skia extension: end the imported buffer's shared-memory access window and
123
+ * release the underlying resources. Call right after the `queue.submit()`
124
+ * that sampled this texture (never before). Idempotent, and also runs at
125
+ * garbage collection as a fallback.
126
+ */
127
+ destroy(): void;
128
+ }
129
+ interface GPUDevice {
130
+ /**
131
+ * Skia extension: import a NativeBuffer (from
132
+ * `Skia.NativeBuffer.MakeFromImage`) as a {@link GPUExternalTexture}, sampled
133
+ * with `texture_external` in WGSL. The returned texture owns the
134
+ * shared-memory access window; call `destroy()` on it after the sampling
135
+ * `queue.submit()`.
136
+ */
137
+ importExternalTexture(descriptor: SkiaGPUExternalTextureDescriptor): GPUExternalTexture;
138
+ /**
139
+ * Skia extension: import a NativeBuffer (from
140
+ * `Skia.NativeBuffer.MakeFromImage`) as {@link GPUSharedTextureMemory}, the
141
+ * lower-level path that lets you create an aliasing texture and manage the
142
+ * begin/end access window yourself.
143
+ */
144
+ importSharedTextureMemory(descriptor: GPUSharedTextureMemoryDescriptor): GPUSharedTextureMemory;
145
+ /**
146
+ * Skia extension: import a native synchronization primitive (an
147
+ * `id<MTLSharedEvent>` on Apple, a sync-fd / VkSemaphore on Android) as a
148
+ * {@link GPUSharedFence}, e.g. to wait on a fence a consumer produced. The
149
+ * matching `shared-fence-*` feature must be enabled on the device.
150
+ */
151
+ importSharedFence(descriptor: GPUSharedFenceDescriptor): GPUSharedFence;
152
+ }
153
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=WebGPU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["WebGPU.ts"],"sourcesContent":["import type { NativeBuffer } from \"./NativeBuffer\";\n\n// Skia's Graphite/Dawn backend extends the standard WebGPU API (typed by\n// @webgpu/types) with a few Skia- and Dawn-specific entry points. These are\n// only available on native (SK_GRAPHITE) builds, reachable through\n// `Skia.getDevice()`.\n//\n// The exported interfaces below describe the descriptors and objects those\n// entry points use; the `declare global` block augments the standard WebGPU\n// interfaces so the new methods are typed without casting to `any`.\n\n/**\n * Descriptor for {@link GPUDevice.importExternalTexture} when the source is a\n * Skia NativeBuffer (Skia has no WebCodecs `VideoFrame`).\n *\n * `source` is the handle returned by `Skia.NativeBuffer.MakeFromImage`: a\n * `CVPixelBufferRef` on Apple, an `AHardwareBuffer*` on Android. The caller\n * owns its lifetime (release it with `Skia.NativeBuffer.Release`) and must keep\n * it alive until the imported texture is destroyed.\n */\nexport interface SkiaGPUExternalTextureDescriptor extends GPUObjectDescriptorBase {\n source: NativeBuffer;\n /** Rotation applied while sampling, in degrees. One of 0 | 90 | 180 | 270. */\n rotation?: number;\n /** Mirror horizontally while sampling. */\n mirrored?: boolean;\n}\n\n/**\n * Descriptor for {@link GPUDevice.importSharedTextureMemory}. `handle` is the\n * NativeBuffer returned by `Skia.NativeBuffer.MakeFromImage` (see\n * {@link SkiaGPUExternalTextureDescriptor} for the platform-specific types and\n * lifetime rules).\n */\nexport interface GPUSharedTextureMemoryDescriptor extends GPUObjectDescriptorBase {\n handle: NativeBuffer;\n}\n\n/**\n * The kind of native synchronization primitive a {@link GPUSharedFence} wraps,\n * matching the `shared-fence-*` device feature names. Limited to the kinds\n * react-native-skia targets (iOS/Metal and Android/Vulkan); `importSharedFence`\n * accepts these and `export()` reports them.\n */\nexport type GPUSharedFenceType =\n | \"mtl-shared-event\"\n | \"sync-fd\"\n | \"vk-semaphore-opaque-fd\";\n\n/**\n * Descriptor for {@link GPUDevice.importSharedFence}.\n */\nexport interface GPUSharedFenceDescriptor {\n /**\n * The fence kind to import. Must match a `shared-fence-*` feature enabled on\n * the device.\n */\n type: GPUSharedFenceType;\n /**\n * The raw native handle as a BigInt: an `id<MTLSharedEvent>` pointer for\n * `\"mtl-shared-event\"`, or an OS file descriptor for the `*-fd` kinds.\n */\n handle: bigint;\n label?: string;\n}\n\nexport interface GPUSharedFenceExportInfo {\n type: GPUSharedFenceType;\n /**\n * An `id<MTLSharedEvent>` pointer (Apple) or file descriptor (Android), as a\n * BigInt. The caller takes ownership; e.g. an exported sync-fd must be closed\n * once consumed.\n */\n handle: bigint;\n}\n\n/**\n * A native GPU synchronization primitive shared across queues/APIs. Produced by\n * {@link GPUSharedTextureMemory.endAccess}, consumed by\n * {@link GPUSharedTextureMemory.beginAccess}, or imported from a consumer's\n * fence with {@link GPUDevice.importSharedFence}.\n */\nexport interface GPUSharedFence {\n readonly __brand: \"GPUSharedFence\";\n label: string;\n export(): GPUSharedFenceExportInfo;\n}\n\n/** A fence and the timeline value to wait for (0n for binary sync-fd fences). */\nexport interface GPUSharedFenceState {\n fence: GPUSharedFence;\n signaledValue: bigint;\n}\n\n/**\n * The result of {@link GPUSharedTextureMemory.endAccess}: each fence is signaled\n * at its `signaledValue` once Dawn's GPU work for the access completes.\n */\nexport interface GPUSharedTextureMemoryEndAccessState {\n initialized: boolean;\n fences: GPUSharedFenceState[];\n}\n\n/**\n * Shared texture memory imported from a platform native buffer via\n * {@link GPUDevice.importSharedTextureMemory}. Create a texture that aliases\n * the memory, then bracket the GPU work that touches it with\n * {@link GPUSharedTextureMemory.beginAccess} / {@link GPUSharedTextureMemory.endAccess}.\n */\nexport interface GPUSharedTextureMemory extends GPUObjectBase {\n /** Create a texture that aliases the shared memory. */\n createTexture(descriptor?: GPUTextureDescriptor): GPUTexture;\n /**\n * Acquire the memory for GPU access. `initialized` marks whether the existing\n * contents should be preserved (pass `true` for an already-rendered frame).\n * Optional `fences` are wait fences: Dawn waits for each to reach its\n * `signaledValue` before writing the surface. Throws if the access could not\n * be acquired.\n */\n beginAccess(\n texture: GPUTexture,\n initialized: boolean,\n fences?: GPUSharedFenceState[]\n ): void;\n /**\n * Release the memory after the GPU work that accessed it has been submitted,\n * and return the fences Dawn produced for the access. Throws on failure.\n */\n endAccess(texture: GPUTexture): GPUSharedTextureMemoryEndAccessState;\n}\n\n/**\n * Dawn-specific toggles, passed via {@link GPUDeviceDescriptor.dawnToggles} to\n * `adapter.requestDevice`. This is a non-spec, Dawn-only extension; see Dawn's\n * toggle list for valid names.\n */\nexport interface GPUDawnTogglesDescriptor {\n enabledToggles?: string[];\n disabledToggles?: string[];\n}\n\ndeclare global {\n interface GPUDeviceDescriptor {\n /** Dawn-specific toggles (Skia/Graphite extension, non-spec). */\n dawnToggles?: GPUDawnTogglesDescriptor;\n }\n\n interface GPUExternalTexture {\n /**\n * Skia extension: end the imported buffer's shared-memory access window and\n * release the underlying resources. Call right after the `queue.submit()`\n * that sampled this texture (never before). Idempotent, and also runs at\n * garbage collection as a fallback.\n */\n destroy(): void;\n }\n\n interface GPUDevice {\n /**\n * Skia extension: import a NativeBuffer (from\n * `Skia.NativeBuffer.MakeFromImage`) as a {@link GPUExternalTexture}, sampled\n * with `texture_external` in WGSL. The returned texture owns the\n * shared-memory access window; call `destroy()` on it after the sampling\n * `queue.submit()`.\n */\n importExternalTexture(\n descriptor: SkiaGPUExternalTextureDescriptor\n ): GPUExternalTexture;\n /**\n * Skia extension: import a NativeBuffer (from\n * `Skia.NativeBuffer.MakeFromImage`) as {@link GPUSharedTextureMemory}, the\n * lower-level path that lets you create an aliasing texture and manage the\n * begin/end access window yourself.\n */\n importSharedTextureMemory(\n descriptor: GPUSharedTextureMemoryDescriptor\n ): GPUSharedTextureMemory;\n /**\n * Skia extension: import a native synchronization primitive (an\n * `id<MTLSharedEvent>` on Apple, a sync-fd / VkSemaphore on Android) as a\n * {@link GPUSharedFence}, e.g. to wait on a fence a consumer produced. The\n * matching `shared-fence-*` feature must be enabled on the device.\n */\n importSharedFence(descriptor: GPUSharedFenceDescriptor): GPUSharedFence;\n }\n}\n"],"mappings":"","ignoreList":[]}
@@ -30,6 +30,7 @@ export * from "./Size";
30
30
  export * from "./Paragraph";
31
31
  export * from "./Matrix4";
32
32
  export * from "./NativeBuffer";
33
+ export * from "./WebGPU";
33
34
  export * from "./Recorder";
34
35
  export * from "./Video";
35
36
  export * from "./Skottie";
@@ -355,6 +355,17 @@ Object.keys(_NativeBuffer).forEach(function (key) {
355
355
  }
356
356
  });
357
357
  });
358
+ var _WebGPU = require("./WebGPU");
359
+ Object.keys(_WebGPU).forEach(function (key) {
360
+ if (key === "default" || key === "__esModule") return;
361
+ if (key in exports && exports[key] === _WebGPU[key]) return;
362
+ Object.defineProperty(exports, key, {
363
+ enumerable: true,
364
+ get: function () {
365
+ return _WebGPU[key];
366
+ }
367
+ });
368
+ });
358
369
  var _Recorder = require("./Recorder");
359
370
  Object.keys(_Recorder).forEach(function (key) {
360
371
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_Picture","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Data","_SVG","_Surface","_Vertices","_RuntimeEffect","_Shader","_Image","_AnimatedImage","_ColorFilter","_ImageFilter","_Font","_Typeface","_Paint","_Path","_Color","_Canvas","_ContourMeasure","_MaskFilter","_Matrix","_PathEffect","_Point","_Rect","_RRect","_RSXform","_JsiInstance","_Skia","_TextBlob","_Size","_Paragraph","_Matrix2","_NativeBuffer","_Recorder","_Video","_Skottie"],"sources":["index.ts"],"sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./AnimatedImage\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\nexport * from \"./Size\";\nexport * from \"./Paragraph\";\nexport * from \"./Matrix4\";\nexport * from \"./NativeBuffer\";\nexport * from \"./Recorder\";\nexport * from \"./Video\";\nexport * from \"./Skottie\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Picture","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Data","_SVG","_Surface","_Vertices","_RuntimeEffect","_Shader","_Image","_AnimatedImage","_ColorFilter","_ImageFilter","_Font","_Typeface","_Paint","_Path","_Color","_Canvas","_ContourMeasure","_MaskFilter","_Matrix","_PathEffect","_Point","_Rect","_RRect","_RSXform","_JsiInstance","_Skia","_TextBlob","_Size","_Paragraph","_Matrix2","_NativeBuffer","_WebGPU","_Recorder","_Video","_Skottie"],"sources":["index.ts"],"sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./AnimatedImage\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\nexport * from \"./Size\";\nexport * from \"./Paragraph\";\nexport * from \"./Matrix4\";\nexport * from \"./NativeBuffer\";\nexport * from \"./WebGPU\";\nexport * from \"./Recorder\";\nexport * from \"./Video\";\nexport * from \"./Skottie\";\n"],"mappings":"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","ignoreList":[]}
@@ -4,5 +4,6 @@ import { Host } from "./Host";
4
4
  export declare class JsiSkNativeBufferFactory extends Host implements NativeBufferFactory {
5
5
  constructor(CanvasKit: CanvasKit);
6
6
  MakeFromImage(image: SkImage): NativeBuffer;
7
+ MakeTestBuffer(width: number, height: number): NativeBuffer;
7
8
  Release(_nativeBuffer: NativeBuffer): void;
8
9
  }
@@ -21,6 +21,25 @@ class JsiSkNativeBufferFactory extends _Host.Host {
21
21
  ctx.putImageData(imageData, 0, 0);
22
22
  return canvas;
23
23
  }
24
+ MakeTestBuffer(width, height) {
25
+ const pixels = new Uint8ClampedArray(width * height * 4);
26
+ for (let y = 0; y < height; y++) {
27
+ for (let x = 0; x < width; x++) {
28
+ const i = (y * width + x) * 4;
29
+ pixels[i + 0] = Math.floor(x * 255 / Math.max(width - 1, 1));
30
+ pixels[i + 1] = Math.floor(y * 255 / Math.max(height - 1, 1));
31
+ pixels[i + 2] = x + y & 0x20 ? 220 : 30;
32
+ pixels[i + 3] = 0xff;
33
+ }
34
+ }
35
+ const canvas = new OffscreenCanvas(width, height);
36
+ const ctx = canvas.getContext("2d");
37
+ if (!ctx) {
38
+ throw new Error("Failed to get 2d context from canvas");
39
+ }
40
+ ctx.putImageData(new ImageData(pixels, width, height), 0, 0);
41
+ return canvas;
42
+ }
24
43
  Release(_nativeBuffer) {
25
44
  // it's a noop on Web
26
45
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_Host","require","JsiSkNativeBufferFactory","Host","constructor","CanvasKit","MakeFromImage","image","info","getImageInfo","uint8ClampedArray","Uint8ClampedArray","readPixels","imageData","ImageData","width","height","canvas","OffscreenCanvas","ctx","getContext","Error","putImageData","Release","_nativeBuffer","exports"],"sources":["JsiSkNativeBufferFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { NativeBuffer, NativeBufferFactory, SkImage } from \"../types\";\n\nimport { Host } from \"./Host\";\n\nexport class JsiSkNativeBufferFactory\n extends Host\n implements NativeBufferFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeFromImage(image: SkImage): NativeBuffer {\n const info = image.getImageInfo();\n const uint8ClampedArray = new Uint8ClampedArray(image.readPixels()!);\n const imageData = new ImageData(uint8ClampedArray, info.width, info.height);\n const canvas = new OffscreenCanvas(info.width, info.height);\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n throw new Error(\"Failed to get 2d context from canvas\");\n }\n ctx.putImageData(imageData, 0, 0);\n return canvas;\n }\n\n Release(_nativeBuffer: NativeBuffer) {\n // it's a noop on Web\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,wBAAwB,SAC3BC,UAAI,CAEd;EACEC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,aAAaA,CAACC,KAAc,EAAgB;IAC1C,MAAMC,IAAI,GAAGD,KAAK,CAACE,YAAY,CAAC,CAAC;IACjC,MAAMC,iBAAiB,GAAG,IAAIC,iBAAiB,CAACJ,KAAK,CAACK,UAAU,CAAC,CAAE,CAAC;IACpE,MAAMC,SAAS,GAAG,IAAIC,SAAS,CAACJ,iBAAiB,EAAEF,IAAI,CAACO,KAAK,EAAEP,IAAI,CAACQ,MAAM,CAAC;IAC3E,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACV,IAAI,CAACO,KAAK,EAAEP,IAAI,CAACQ,MAAM,CAAC;IAC3D,MAAMG,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC;IACnC,IAAI,CAACD,GAAG,EAAE;MACR,MAAM,IAAIE,KAAK,CAAC,sCAAsC,CAAC;IACzD;IACAF,GAAG,CAACG,YAAY,CAACT,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,OAAOI,MAAM;EACf;EAEAM,OAAOA,CAACC,aAA2B,EAAE;IACnC;EAAA;AAEJ;AAACC,OAAA,CAAAvB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Host","require","JsiSkNativeBufferFactory","Host","constructor","CanvasKit","MakeFromImage","image","info","getImageInfo","uint8ClampedArray","Uint8ClampedArray","readPixels","imageData","ImageData","width","height","canvas","OffscreenCanvas","ctx","getContext","Error","putImageData","MakeTestBuffer","pixels","y","x","i","Math","floor","max","Release","_nativeBuffer","exports"],"sources":["JsiSkNativeBufferFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { NativeBuffer, NativeBufferFactory, SkImage } from \"../types\";\n\nimport { Host } from \"./Host\";\n\nexport class JsiSkNativeBufferFactory\n extends Host\n implements NativeBufferFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeFromImage(image: SkImage): NativeBuffer {\n const info = image.getImageInfo();\n const uint8ClampedArray = new Uint8ClampedArray(image.readPixels()!);\n const imageData = new ImageData(uint8ClampedArray, info.width, info.height);\n const canvas = new OffscreenCanvas(info.width, info.height);\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n throw new Error(\"Failed to get 2d context from canvas\");\n }\n ctx.putImageData(imageData, 0, 0);\n return canvas;\n }\n\n MakeTestBuffer(width: number, height: number): NativeBuffer {\n const pixels = new Uint8ClampedArray(width * height * 4);\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const i = (y * width + x) * 4;\n pixels[i + 0] = Math.floor((x * 255) / Math.max(width - 1, 1));\n pixels[i + 1] = Math.floor((y * 255) / Math.max(height - 1, 1));\n pixels[i + 2] = (x + y) & 0x20 ? 220 : 30;\n pixels[i + 3] = 0xff;\n }\n }\n const canvas = new OffscreenCanvas(width, height);\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n throw new Error(\"Failed to get 2d context from canvas\");\n }\n ctx.putImageData(new ImageData(pixels, width, height), 0, 0);\n return canvas;\n }\n\n Release(_nativeBuffer: NativeBuffer) {\n // it's a noop on Web\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,wBAAwB,SAC3BC,UAAI,CAEd;EACEC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,aAAaA,CAACC,KAAc,EAAgB;IAC1C,MAAMC,IAAI,GAAGD,KAAK,CAACE,YAAY,CAAC,CAAC;IACjC,MAAMC,iBAAiB,GAAG,IAAIC,iBAAiB,CAACJ,KAAK,CAACK,UAAU,CAAC,CAAE,CAAC;IACpE,MAAMC,SAAS,GAAG,IAAIC,SAAS,CAACJ,iBAAiB,EAAEF,IAAI,CAACO,KAAK,EAAEP,IAAI,CAACQ,MAAM,CAAC;IAC3E,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACV,IAAI,CAACO,KAAK,EAAEP,IAAI,CAACQ,MAAM,CAAC;IAC3D,MAAMG,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC;IACnC,IAAI,CAACD,GAAG,EAAE;MACR,MAAM,IAAIE,KAAK,CAAC,sCAAsC,CAAC;IACzD;IACAF,GAAG,CAACG,YAAY,CAACT,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,OAAOI,MAAM;EACf;EAEAM,cAAcA,CAACR,KAAa,EAAEC,MAAc,EAAgB;IAC1D,MAAMQ,MAAM,GAAG,IAAIb,iBAAiB,CAACI,KAAK,GAAGC,MAAM,GAAG,CAAC,CAAC;IACxD,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,MAAM,EAAES,CAAC,EAAE,EAAE;MAC/B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,KAAK,EAAEW,CAAC,EAAE,EAAE;QAC9B,MAAMC,CAAC,GAAG,CAACF,CAAC,GAAGV,KAAK,GAAGW,CAAC,IAAI,CAAC;QAC7BF,MAAM,CAACG,CAAC,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAAEH,CAAC,GAAG,GAAG,GAAIE,IAAI,CAACE,GAAG,CAACf,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9DS,MAAM,CAACG,CAAC,GAAG,CAAC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAAEJ,CAAC,GAAG,GAAG,GAAIG,IAAI,CAACE,GAAG,CAACd,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/DQ,MAAM,CAACG,CAAC,GAAG,CAAC,CAAC,GAAID,CAAC,GAAGD,CAAC,GAAI,IAAI,GAAG,GAAG,GAAG,EAAE;QACzCD,MAAM,CAACG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;MACtB;IACF;IACA,MAAMV,MAAM,GAAG,IAAIC,eAAe,CAACH,KAAK,EAAEC,MAAM,CAAC;IACjD,MAAMG,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC;IACnC,IAAI,CAACD,GAAG,EAAE;MACR,MAAM,IAAIE,KAAK,CAAC,sCAAsC,CAAC;IACzD;IACAF,GAAG,CAACG,YAAY,CAAC,IAAIR,SAAS,CAACU,MAAM,EAAET,KAAK,EAAEC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAOC,MAAM;EACf;EAEAc,OAAOA,CAACC,aAA2B,EAAE;IACnC;EAAA;AAEJ;AAACC,OAAA,CAAA/B,wBAAA,GAAAA,wBAAA","ignoreList":[]}