react-native-wgpu 0.5.11 → 0.5.14

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 (397) hide show
  1. package/README.md +13 -302
  2. package/lib/commonjs/index.js +7 -4
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/module/index.js +4 -4
  5. package/lib/module/index.js.map +1 -1
  6. package/lib/typescript/{src → webgpu/src}/Canvas.d.ts +0 -10
  7. package/lib/typescript/webgpu/src/Canvas.d.ts.map +1 -0
  8. package/lib/typescript/webgpu/src/NativeWebGPUModule.d.ts.map +1 -0
  9. package/lib/typescript/webgpu/src/Offscreen.d.ts.map +1 -0
  10. package/lib/typescript/webgpu/src/WebGPUViewNativeComponent.d.ts.map +1 -0
  11. package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
  12. package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
  13. package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
  14. package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
  15. package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
  16. package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
  17. package/lib/typescript/webgpu/src/index.d.ts +37 -0
  18. package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
  19. package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
  20. package/lib/typescript/webgpu/src/types.d.ts +50 -0
  21. package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
  22. package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
  23. package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
  24. package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
  25. package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
  26. package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
  27. package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
  28. package/package.json +13 -82
  29. package/src/index.ts +9 -0
  30. package/LICENSE +0 -20
  31. package/android/CMakeLists.txt +0 -108
  32. package/android/build.gradle +0 -138
  33. package/android/cpp/AndroidPlatformContext.h +0 -207
  34. package/android/cpp/cpp-adapter.cpp +0 -71
  35. package/android/src/main/AndroidManifest.xml +0 -3
  36. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
  37. package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
  38. package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
  39. package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
  40. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
  41. package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
  42. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
  43. package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
  44. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
  45. package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
  46. package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
  47. package/apple/ApplePlatformContext.h +0 -31
  48. package/apple/ApplePlatformContext.mm +0 -157
  49. package/apple/MetalView.h +0 -13
  50. package/apple/MetalView.mm +0 -50
  51. package/apple/RNWGUIKit.h +0 -16
  52. package/apple/WebGPUModule.h +0 -13
  53. package/apple/WebGPUModule.mm +0 -89
  54. package/apple/WebGPUView.h +0 -12
  55. package/apple/WebGPUView.mm +0 -66
  56. package/cpp/WGPULogger.h +0 -100
  57. package/cpp/dawn_logging.cpp +0 -119
  58. package/cpp/jsi/EnumMapper.h +0 -45
  59. package/cpp/jsi/JSIConverter.h +0 -473
  60. package/cpp/jsi/NativeObject.h +0 -607
  61. package/cpp/jsi/Promise.cpp +0 -44
  62. package/cpp/jsi/Promise.h +0 -35
  63. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  64. package/cpp/jsi/RuntimeAwareCache.h +0 -100
  65. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  66. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  67. package/cpp/rnwgpu/ArrayBuffer.h +0 -73
  68. package/cpp/rnwgpu/PlatformContext.h +0 -46
  69. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -225
  70. package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
  71. package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
  72. package/cpp/rnwgpu/api/Canvas.h +0 -57
  73. package/cpp/rnwgpu/api/Convertors.h +0 -761
  74. package/cpp/rnwgpu/api/External.h +0 -12
  75. package/cpp/rnwgpu/api/GPU.cpp +0 -127
  76. package/cpp/rnwgpu/api/GPU.h +0 -58
  77. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -191
  78. package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
  79. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  80. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  81. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  82. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  83. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
  84. package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
  85. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
  86. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
  87. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  88. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  89. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  90. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  91. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  92. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  93. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  94. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  95. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  96. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -492
  97. package/cpp/rnwgpu/api/GPUDevice.h +0 -259
  98. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  99. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  100. package/cpp/rnwgpu/api/GPUError.h +0 -35
  101. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  102. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -45
  103. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  104. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  105. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  106. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  107. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  108. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  109. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  110. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  111. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -169
  112. package/cpp/rnwgpu/api/GPUQueue.h +0 -81
  113. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  114. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  115. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  116. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  117. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  118. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  119. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  120. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  121. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -51
  122. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  123. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  124. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  125. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  126. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  127. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  128. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
  129. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  130. package/cpp/rnwgpu/api/ImageBitmap.h +0 -40
  131. package/cpp/rnwgpu/api/RNWebGPU.h +0 -199
  132. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
  133. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  134. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
  135. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
  136. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
  137. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
  138. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
  139. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
  140. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
  141. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  142. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  143. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
  144. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
  145. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  146. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
  147. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
  148. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
  149. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
  150. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
  151. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
  152. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -100
  153. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
  154. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -80
  155. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
  156. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
  157. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  158. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
  159. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
  160. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
  161. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  162. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
  163. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
  164. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
  165. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
  166. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
  167. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
  168. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
  169. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
  170. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
  171. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
  172. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
  173. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
  174. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
  175. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
  176. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
  177. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
  178. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
  179. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
  180. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  181. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
  182. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
  183. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
  184. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
  185. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  186. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
  187. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
  188. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
  189. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
  190. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
  191. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  192. package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
  193. package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
  194. package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
  195. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
  196. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
  197. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
  198. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
  199. package/cpp/webgpu/webgpu.h +0 -4918
  200. package/cpp/webgpu/webgpu_cpp.h +0 -10294
  201. package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
  202. package/cpp/webgpu/webgpu_cpp_print.h +0 -2755
  203. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  204. package/lib/commonjs/Canvas.js +0 -55
  205. package/lib/commonjs/Canvas.js.map +0 -1
  206. package/lib/commonjs/NativeWebGPUModule.js +0 -10
  207. package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
  208. package/lib/commonjs/Offscreen.js +0 -103
  209. package/lib/commonjs/Offscreen.js.map +0 -1
  210. package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
  211. package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
  212. package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
  213. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
  214. package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
  215. package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
  216. package/lib/commonjs/external/ModuleProxy.js +0 -36
  217. package/lib/commonjs/external/ModuleProxy.js.map +0 -1
  218. package/lib/commonjs/external/index.js +0 -17
  219. package/lib/commonjs/external/index.js.map +0 -1
  220. package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
  221. package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
  222. package/lib/commonjs/external/reanimated/index.js +0 -21
  223. package/lib/commonjs/external/reanimated/index.js.map +0 -1
  224. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
  225. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  226. package/lib/commonjs/hooks.js +0 -83
  227. package/lib/commonjs/hooks.js.map +0 -1
  228. package/lib/commonjs/main/index.js +0 -91
  229. package/lib/commonjs/main/index.js.map +0 -1
  230. package/lib/commonjs/main/index.web.js +0 -51
  231. package/lib/commonjs/main/index.web.js.map +0 -1
  232. package/lib/commonjs/types.js +0 -2
  233. package/lib/commonjs/types.js.map +0 -1
  234. package/lib/commonjs/utils.js +0 -11
  235. package/lib/commonjs/utils.js.map +0 -1
  236. package/lib/module/Canvas.js +0 -46
  237. package/lib/module/Canvas.js.map +0 -1
  238. package/lib/module/NativeWebGPUModule.js +0 -4
  239. package/lib/module/NativeWebGPUModule.js.map +0 -1
  240. package/lib/module/Offscreen.js +0 -96
  241. package/lib/module/Offscreen.js.map +0 -1
  242. package/lib/module/WebGPUViewNativeComponent.js +0 -4
  243. package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
  244. package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
  245. package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
  246. package/lib/module/WebPolyfillGPUModule.js +0 -38
  247. package/lib/module/WebPolyfillGPUModule.js.map +0 -1
  248. package/lib/module/external/ModuleProxy.js +0 -28
  249. package/lib/module/external/ModuleProxy.js.map +0 -1
  250. package/lib/module/external/index.js +0 -2
  251. package/lib/module/external/index.js.map +0 -1
  252. package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
  253. package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
  254. package/lib/module/external/reanimated/index.js +0 -3
  255. package/lib/module/external/reanimated/index.js.map +0 -1
  256. package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
  257. package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  258. package/lib/module/hooks.js +0 -70
  259. package/lib/module/hooks.js.map +0 -1
  260. package/lib/module/main/index.js +0 -33
  261. package/lib/module/main/index.js.map +0 -1
  262. package/lib/module/main/index.web.js +0 -8
  263. package/lib/module/main/index.web.js.map +0 -1
  264. package/lib/module/types.js +0 -2
  265. package/lib/module/types.js.map +0 -1
  266. package/lib/module/utils.js +0 -5
  267. package/lib/module/utils.js.map +0 -1
  268. package/lib/typescript/babel.config.d.ts +0 -3
  269. package/lib/typescript/babel.config.d.ts.map +0 -1
  270. package/lib/typescript/jest.config.d.ts +0 -9
  271. package/lib/typescript/jest.config.d.ts.map +0 -1
  272. package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
  273. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
  274. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
  275. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
  276. package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
  277. package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
  278. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
  279. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
  280. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
  281. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  282. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
  283. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
  284. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
  285. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
  286. package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
  287. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
  288. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  289. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
  290. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
  291. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
  292. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  293. package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
  294. package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
  295. package/lib/typescript/lib/commonjs/index.d.ts +0 -2
  296. package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
  297. package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
  298. package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
  299. package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
  300. package/lib/typescript/lib/commonjs/types.d.ts +0 -1
  301. package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
  302. package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
  303. package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
  304. package/lib/typescript/lib/module/Canvas.d.ts +0 -8
  305. package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
  306. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
  307. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
  308. package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
  309. package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
  310. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
  311. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
  312. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
  313. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  314. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
  315. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
  316. package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
  317. package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
  318. package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
  319. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
  320. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  321. package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
  322. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
  323. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  324. package/lib/typescript/lib/module/hooks.d.ts +0 -18
  325. package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
  326. package/lib/typescript/lib/module/index.d.ts +0 -2
  327. package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
  328. package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
  329. package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
  330. package/lib/typescript/lib/module/types.d.ts +0 -1
  331. package/lib/typescript/lib/module/types.d.ts.map +0 -1
  332. package/lib/typescript/lib/module/utils.d.ts +0 -2
  333. package/lib/typescript/lib/module/utils.d.ts.map +0 -1
  334. package/lib/typescript/src/Canvas.d.ts.map +0 -1
  335. package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
  336. package/lib/typescript/src/Offscreen.d.ts.map +0 -1
  337. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
  338. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
  339. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  340. package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
  341. package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
  342. package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
  343. package/lib/typescript/src/external/index.d.ts +0 -2
  344. package/lib/typescript/src/external/index.d.ts.map +0 -1
  345. package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  346. package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
  347. package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
  348. package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  349. package/lib/typescript/src/hooks.d.ts.map +0 -1
  350. package/lib/typescript/src/index.d.ts +0 -18
  351. package/lib/typescript/src/index.d.ts.map +0 -1
  352. package/lib/typescript/src/main/index.d.ts +0 -6
  353. package/lib/typescript/src/main/index.d.ts.map +0 -1
  354. package/lib/typescript/src/main/index.web.d.ts +0 -6
  355. package/lib/typescript/src/main/index.web.d.ts.map +0 -1
  356. package/lib/typescript/src/types.d.ts +0 -19
  357. package/lib/typescript/src/types.d.ts.map +0 -1
  358. package/lib/typescript/src/utils.d.ts +0 -2
  359. package/lib/typescript/src/utils.d.ts.map +0 -1
  360. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  361. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  362. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  363. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  364. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
  365. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  366. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  367. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  368. package/react-native-wgpu.podspec +0 -47
  369. package/src/Canvas.tsx +0 -91
  370. package/src/NativeWebGPUModule.ts +0 -9
  371. package/src/Offscreen.ts +0 -113
  372. package/src/WebGPUViewNativeComponent.ts +0 -11
  373. package/src/WebGPUViewNativeComponent.web.ts +0 -113
  374. package/src/WebPolyfillGPUModule.ts +0 -53
  375. package/src/external/ModuleProxy.ts +0 -30
  376. package/src/external/index.ts +0 -1
  377. package/src/external/reanimated/ReanimatedProxy.ts +0 -19
  378. package/src/external/reanimated/index.ts +0 -2
  379. package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
  380. package/src/hooks.tsx +0 -93
  381. package/src/index.tsx +0 -31
  382. package/src/main/index.tsx +0 -40
  383. package/src/main/index.web.tsx +0 -8
  384. package/src/types.ts +0 -20
  385. package/src/utils.ts +0 -4
  386. /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
  387. /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
  388. /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
  389. /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
  390. /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
  391. /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
  392. /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
  393. /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
  394. /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
  395. /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
  396. /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
  397. /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
package/README.md CHANGED
@@ -1,319 +1,30 @@
1
- # React Native WebGPU
1
+ # react-native-wgpu
2
2
 
3
- React Native implementation of WebGPU using [Dawn](https://dawn.googlesource.com/dawn).
3
+ This package is a thin shim that re-exports [`react-native-webgpu`](https://www.npmjs.com/package/react-native-webgpu) under its previous npm name.
4
4
 
5
- React Native WebGPU requires React Native 0.81 or newer. It doesn't support the legacy architecture.
5
+ It exists so that projects that depended on the older `react-native-wgpu` name keep working without an immediate code change. New projects should depend on `react-native-webgpu` directly.
6
6
 
7
7
  ## Installation
8
8
 
9
- Please note that the package name is `react-native-wgpu`.
10
-
11
9
  ```
12
10
  npm install react-native-wgpu
13
11
  ```
14
12
 
15
- ## With Expo
16
-
17
- Expo provides a React Native WebGPU template that works with React Three Fiber.
18
- The works on iOS, Android, and Web.
19
-
20
- ```
21
- npx create-expo-app@latest -e with-webgpu
22
- ```
23
-
24
- https://github.com/user-attachments/assets/efbd05f8-4ce0-46c2-919c-03e1095bc8ac
25
-
26
- Below are some examples from the [example app](/apps/example/).
27
-
28
- https://github.com/user-attachments/assets/116a41b2-2cf8-49f1-9f16-a5c83637c198
29
-
30
- Starting from `r168`, Three.js runs out of the box with React Native WebGPU.
31
- You need to have a slight modification of [the metro config](/apps/example/metro.config.js) to resolve Three.js to the WebGPU build.
32
- We also support [react-three-fiber](/apps/example/src/ThreeJS/Fiber.tsx); to make it work, patch `node_modules/@react-three/fiber/package.json` (for instance via `patch-package`) so that it resolves to the WebGPU entry point instead of the React Native bundle:
33
-
34
- ```diff
35
- diff --git a/node_modules/@react-three/fiber/package.json b/node_modules/@react-three/fiber/package.json
36
- @@
37
- - "react-native": "native/dist/react-three-fiber-native.cjs.js",
38
- + "react-native": "dist/react-three-fiber.cjs.js",
39
- ```
40
-
41
- For model loading, we also need [the following polyfill](/apps/example/src/App.tsx#29).
42
-
43
- https://github.com/user-attachments/assets/5b49ef63-0a3c-4679-aeb5-e4b4dddfcc1d
44
-
45
- We also provide prebuilt binaries for visionOS and macOS.
46
-
47
- https://github.com/user-attachments/assets/2d5c618e-5b15-4cef-8558-d4ddf8c70667
48
-
49
- ## Usage
50
-
51
- Usage is identical to Web.
52
-
53
- ```tsx
54
- import React from "react";
55
- import { StyleSheet, View, PixelRatio } from "react-native";
56
- import { Canvas, CanvasRef } from "react-native-wgpu";
57
-
58
- import { redFragWGSL, triangleVertWGSL } from "./triangle";
59
-
60
- export function HelloTriangle() {
61
- const ref = useRef<CanvasRef>(null);
62
- useEffect(() => {
63
- const helloTriangle = async () => {
64
- const adapter = await navigator.gpu.requestAdapter();
65
- if (!adapter) {
66
- throw new Error("No adapter");
67
- }
68
- const device = await adapter.requestDevice();
69
- const presentationFormat = navigator.gpu.getPreferredCanvasFormat();
70
-
71
- const context = ref.current!.getContext("webgpu")!;
72
- const canvas = context.canvas as HTMLCanvasElement;
73
- canvas.width = canvas.clientWidth * PixelRatio.get();
74
- canvas.height = canvas.clientHeight * PixelRatio.get();
75
-
76
- if (!context) {
77
- throw new Error("No context");
78
- }
79
-
80
- context.configure({
81
- device,
82
- format: presentationFormat,
83
- alphaMode: "opaque",
84
- });
85
-
86
- const pipeline = device.createRenderPipeline({
87
- layout: "auto",
88
- vertex: {
89
- module: device.createShaderModule({
90
- code: triangleVertWGSL,
91
- }),
92
- entryPoint: "main",
93
- },
94
- fragment: {
95
- module: device.createShaderModule({
96
- code: redFragWGSL,
97
- }),
98
- entryPoint: "main",
99
- targets: [
100
- {
101
- format: presentationFormat,
102
- },
103
- ],
104
- },
105
- primitive: {
106
- topology: "triangle-list",
107
- },
108
- });
109
-
110
- const commandEncoder = device.createCommandEncoder();
111
-
112
- const textureView = context.getCurrentTexture().createView();
113
-
114
- const renderPassDescriptor: GPURenderPassDescriptor = {
115
- colorAttachments: [
116
- {
117
- view: textureView,
118
- clearValue: [0, 0, 0, 1],
119
- loadOp: "clear",
120
- storeOp: "store",
121
- },
122
- ],
123
- };
124
-
125
- const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
126
- passEncoder.setPipeline(pipeline);
127
- passEncoder.draw(3);
128
- passEncoder.end();
129
-
130
- device.queue.submit([commandEncoder.finish()]);
131
-
132
- context.present();
133
- };
134
- helloTriangle();
135
- }, [ref]);
136
-
137
- return (
138
- <View style={style.container}>
139
- <Canvas ref={ref} style={style.webgpu} />
140
- </View>
141
- );
142
- }
143
-
144
- const style = StyleSheet.create({
145
- container: {
146
- flex: 1,
147
- },
148
- webgpu: {
149
- flex: 1,
150
- },
151
- });
152
- ```
153
-
154
- ## Example App
155
-
156
- To run the example app you first need to [install Dawn](#installing-dawn).
157
-
158
- From there you will be able to run the example app properly.
159
-
160
- ## Similarities and Differences with the Web
161
-
162
- The API has been designed to be completely symmetric with the Web.
163
- For instance, you can access the WebGPU context synchronously, as well as the canvas size.
164
- Pixel density and canvas resizing are handled exactly like on the Web as well.
165
-
166
- ```tsx
167
- // The default canvas size is not scaled to the device pixel ratio
168
- // When resizing the canvas, the clientWidth and clientHeight are updated automatically
169
- // This behaviour is symmetric to the Web
170
- const ctx = canvas.current.getContext("webgpu")!;
171
- ctx.canvas.width = ctx.canvas.clientWidth * PixelRatio.get();
172
- ctx.canvas.height = ctx.canvas.clientHeight * PixelRatio.get();
173
- ```
174
-
175
- ### Frame Scheduling
176
-
177
- In React Native, we want to keep frame presentation as a manual operation as we plan to provide more advanced rendering options that are React Native specific.
178
- This means that when you are ready to present a frame, you need to call `present` on the context.
179
-
180
- ```tsx
181
- // draw
182
- // submit to the queue
183
- device.queue.submit([commandEncoder.finish()]);
184
- // This method is React Native only
185
- context.present();
186
- ```
13
+ This installs `react-native-webgpu` as a dependency. All imports are forwarded:
187
14
 
188
- ### Canvas Transparency
189
-
190
- On Android, the `alphaMode` property is ignored when configuring the canvas.
191
- To have a transparent canvas by default, use the `transparent` property.
192
-
193
- ```tsx
194
- return (
195
- <View style={style.container}>
196
- <Canvas ref={ref} style={style.webgpu} transparent />
197
- </View>
198
- );
199
- ```
200
-
201
- ### External Textures
202
-
203
- This module provides a `createImageBitmap` function that you can use in `copyExternalImageToTexture`.
204
-
205
- ```tsx
206
- const url = Image.resolveAssetSource(require("./assets/image.png")).uri;
207
- const response = await fetch(url);
208
- const imageBitmap = await createImageBitmap(await response.blob());
209
-
210
- const texture = device.createTexture({
211
- size: [imageBitmap.width, imageBitmap.height, 1],
212
- format: "rgba8unorm",
213
- usage:
214
- GPUTextureUsage.TEXTURE_BINDING |
215
- GPUTextureUsage.COPY_DST |
216
- GPUTextureUsage.RENDER_ATTACHMENT,
217
- });
218
- device.queue.copyExternalImageToTexture(
219
- { source: imageBitmap },
220
- { texture },
221
- [imageBitmap.width, imageBitmap.height],
222
- );
223
- ```
224
-
225
- ### Reanimated Integration
226
-
227
- React Native WebGPU supports running WebGPU rendering on the UI thread using [React Native Reanimated](https://docs.swmansion.com/react-native-reanimated/) and [React Native Worklets](https://github.com/margelo/react-native-worklets).
228
-
229
- First, install the optional peer dependencies:
230
-
231
- ```sh
232
- npm install react-native-reanimated react-native-worklets
233
- ```
234
-
235
- WebGPU objects are automatically registered for Worklets serialization when the module loads. You can pass WebGPU objects like `GPUDevice` and `GPUCanvasContext` directly to worklets:
236
-
237
- ```tsx
15
+ ```ts
238
16
  import { Canvas } from "react-native-wgpu";
239
- import { runOnUI } from "react-native-reanimated";
240
-
241
- const renderFrame = (device: GPUDevice, context: GPUCanvasContext) => {
242
- "worklet";
243
- // WebGPU rendering code runs on the UI thread
244
- const commandEncoder = device.createCommandEncoder();
245
- // ... render ...
246
- device.queue.submit([commandEncoder.finish()]);
247
- context.present();
248
- };
249
-
250
- // Initialize WebGPU on main thread, then run on UI thread
251
- const device = await adapter.requestDevice();
252
- const context = canvasRef.current.getContext("webgpu");
253
- runOnUI(renderFrame)(device, context);
254
- ```
255
-
256
- ## Troubleshooting
257
-
258
- ### iOS
259
-
260
- To run the React Native WebGPU project on the iOS simulator, you need to disable the Metal validation API.
261
- In "Edit Scheme," uncheck "Metal Validation". Learn more [here](https://developer.apple.com/documentation/xcode/validating-your-apps-metal-api-usage/).
262
-
263
- <img width="1052" alt="Uncheck 'Metal Validation'" src="https://github.com/user-attachments/assets/2676e5cc-e351-4a97-bdc8-22cbd7df2ef2">
264
-
265
- ## Library Development
266
-
267
- Make sure to check out the submodules:
268
-
269
- ```
270
- git submodule update --init
271
- ```
272
-
273
- Make sure you have all the tools required for building the Skia libraries (Android Studio, XCode, Ninja, CMake, Android NDK/build tools).
274
-
275
- ### Installing Dawn
276
-
277
- There is an alternative way which is to install the prebuilt binaries from GitHub.
278
-
279
- ```sh
280
- $ yarn
281
- $ cd packages/webgpu
282
- $ yarn install-dawn
283
- ```
284
-
285
- ### Building Dawn
286
-
287
- Alternatively, you can build Dawn locally.
288
-
289
- ```sh
290
- yarn
291
- cd packages/webgpu
292
- yarn build-dawn
17
+ // equivalent to
18
+ import { Canvas } from "react-native-webgpu";
293
19
  ```
294
20
 
295
- ### Upgrading
296
-
297
- 1. `git submodule update --remote`
298
- 2. `yarn clean-dawn`
299
- 3. `yarn build-dawn`
300
-
301
- ### Codegen
302
-
303
- * `cd packages/webgpu && yarn codegen`
304
-
305
- ### Testing
21
+ ## Migrating
306
22
 
307
- In the `package` folder, to run the test against Chrome for reference:
23
+ Replace the dependency in your `package.json`:
308
24
 
25
+ ```diff
26
+ - "react-native-wgpu": "^0.5.11"
27
+ + "react-native-webgpu": "^0.5.11"
309
28
  ```
310
- yarn test:ref
311
- ```
312
-
313
- To run the e2e test, open the example app on the e2e screen.
314
- By default, it will try to connect to a localhost test server.
315
- If you want to run the test suite on a physical device, you can modify the address [here](/apps/example/src/useClient.ts#L4).
316
29
 
317
- ```
318
- yarn test
319
- ```
30
+ and update your imports from `"react-native-wgpu"` to `"react-native-webgpu"`.
@@ -3,15 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _main = require("./main");
7
- Object.keys(_main).forEach(function (key) {
6
+ var _reactNativeWebgpu = require("react-native-webgpu");
7
+ Object.keys(_reactNativeWebgpu).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _main[key]) return;
9
+ if (key in exports && exports[key] === _reactNativeWebgpu[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _main[key];
13
+ return _reactNativeWebgpu[key];
14
14
  }
15
15
  });
16
16
  });
17
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
18
+ console.warn("[react-native-wgpu] This package has been renamed to 'react-native-webgpu'. " + "The 'react-native-wgpu' shim is deprecated and will be removed in a future release. " + "Please install 'react-native-webgpu' and update your imports.");
19
+ }
17
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_main","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeWebgpu","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","__DEV__","console","warn"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAQA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AARA,IAAI,OAAOK,OAAO,KAAK,WAAW,IAAIA,OAAO,EAAE;EAC7CC,OAAO,CAACC,IAAI,CACV,8EAA8E,GAC5E,sFAAsF,GACtF,+DACJ,CAAC;AACH","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- /// <reference types="@webgpu/types" />
2
-
3
- export * from "./main";
4
- export {};
1
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
2
+ console.warn("[react-native-wgpu] This package has been renamed to 'react-native-webgpu'. " + "The 'react-native-wgpu' shim is deprecated and will be removed in a future release. " + "Please install 'react-native-webgpu' and update your imports.");
3
+ }
4
+ export * from "react-native-webgpu";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;;AAIA,cAAc,QAAQ;AAAC","ignoreList":[]}
1
+ {"version":3,"names":["__DEV__","console","warn"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,IAAI,OAAOA,OAAO,KAAK,WAAW,IAAIA,OAAO,EAAE;EAC7CC,OAAO,CAACC,IAAI,CACV,8EAA8E,GAC5E,sFAAsF,GACtF,+DACJ,CAAC;AACH;AAEA,cAAc,qBAAqB","ignoreList":[]}
@@ -1,15 +1,5 @@
1
1
  import React from "react";
2
2
  import type { ViewProps } from "react-native";
3
- declare global {
4
- var RNWebGPU: {
5
- gpu: GPU;
6
- fabric: boolean;
7
- getNativeSurface: (contextId: number) => NativeCanvas;
8
- MakeWebGPUCanvasContext: (contextId: number, width: number, height: number) => RNCanvasContext;
9
- DecodeToUTF8: (buffer: NodeJS.ArrayBufferView | ArrayBuffer) => string;
10
- createImageBitmap: typeof createImageBitmap;
11
- };
12
- }
13
3
  type SurfacePointer = bigint;
14
4
  export interface NativeCanvas {
15
5
  surface: SurfacePointer;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC;IAC1D,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACtC;AAED,UAAU,WAAY,SAAQ,SAAS;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,MAAM,GAAI,gCAAgC,WAAW,sBAuCjE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeWebGPUModule.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/NativeWebGPUModule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;;AAGD,wBAAsE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Offscreen.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/Offscreen.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,OAAO,CAA4B;gBAE/B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzC,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,yBAAyB,GAAG,IAAI;IAQjE,YAAY;;;;;;CA6Bb;AAED,cAAM,yBAA0B,YAAW,gBAAgB;aAQ7B,MAAM,EAAE,GAAG;IAPvC,OAAO,EAAG,kBAAkB,CAAU;IAEtC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAA0B;gBAGZ,MAAM,EAAE,GAAG;IAGvC,gBAAgB,IAAI,yBAAyB,GAAG,IAAI;IAIpD,OAAO;IAIP,SAAS;IAOT,UAAU;IAOV,SAAS,CAAC,MAAM,EAAE,sBAAsB;IAcxC,WAAW;IAQX,iBAAiB,IAAI,UAAU;CAMhC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebGPUViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/WebGPUViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;;AAGD,wBAAiE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleProxy.d.ts","sourceRoot":"","sources":["../../../../../../webgpu/src/external/ModuleProxy.ts"],"names":[],"mappings":"AACA,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,EACvC,WAAW,MAAM,UAAU,KAC1B,OAcF,CAAC;AAEF,qBAAa,mCAAoC,SAAQ,KAAK;gBAChD,IAAI,EAAE,MAAM;CAGzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../webgpu/src/external/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReanimatedProxy.d.ts","sourceRoot":"","sources":["../../../../../../../webgpu/src/external/reanimated/ReanimatedProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAS5D,QAAA,MAAM,UAAU,oBAMd,CAAC;AAGH,eAAe,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../webgpu/src/external/reanimated/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerWebGPUForReanimated.d.ts","sourceRoot":"","sources":["../../../../../../../webgpu/src/external/reanimated/registerWebGPUForReanimated.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,YA2BvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,4BAA4B,GAAI,SAAS,UAAU,SAQ/D,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAED,QAAA,MAAM,aAAa,qCAA4C,CAAC;AAEhE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED,eAAO,MAAM,iBAAiB,GAAI,iDAI/B,mBAAmB,6BAQrB,CAAC;AAEF,eAAO,MAAM,UAAU;;;CAQtB,CAAC;AAEF,eAAO,MAAM,aAAa,qBAMzB,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAgC,CAAC;AAE1D,eAAO,MAAM,SAAS,GACpB,iBAAiB,wBAAwB,EACzC,mBAAmB,mBAAmB;;;CAqBvC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { GPUDawnTogglesDescriptor, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, NativeCanvas, RNCanvasContext, VideoPlayer, NativeVideoFrame, NativeVideoPixelFormat } from "./types";
2
+ export * from "./main";
3
+ export type { NativeVideoFrame, VideoPlayer, NativeVideoPixelFormat, CreateVideoPlayerOptions, GPUSharedTextureMemory, GPUSharedTextureMemoryDescriptor, GPUDawnTogglesDescriptor, } from "./types";
4
+ declare global {
5
+ interface Navigator {
6
+ gpu: GPU;
7
+ }
8
+ var navigator: Navigator;
9
+ var RNWebGPU: {
10
+ gpu: GPU;
11
+ fabric: boolean;
12
+ getNativeSurface: (contextId: number) => NativeCanvas;
13
+ MakeWebGPUCanvasContext: (contextId: number, width: number, height: number) => RNCanvasContext;
14
+ DecodeToUTF8: (buffer: NodeJS.ArrayBufferView | ArrayBuffer) => string;
15
+ createImageBitmap: typeof createImageBitmap;
16
+ loadVideoFrame: (path: string) => NativeVideoFrame;
17
+ createTestVideoFrame: (width: number, height: number) => NativeVideoFrame;
18
+ createVideoFrameFromNativeBuffer: (pointer: bigint) => NativeVideoFrame;
19
+ createVideoPlayer: (path: string, pixelFormat?: NativeVideoPixelFormat) => VideoPlayer;
20
+ writeTestVideoFile: () => string;
21
+ };
22
+ interface GPUDevice {
23
+ importSharedTextureMemory(descriptor: GPUSharedTextureMemoryDescriptor): GPUSharedTextureMemory;
24
+ }
25
+ interface GPUDeviceDescriptor {
26
+ dawnToggles?: GPUDawnTogglesDescriptor;
27
+ }
28
+ interface GPUExternalTextureDescriptor {
29
+ rotation?: 0 | 90 | 180 | 270;
30
+ mirrored?: boolean;
31
+ }
32
+ interface GPUExternalTexture {
33
+ destroy(): void;
34
+ }
35
+ function createImageBitmap(image: ArrayBuffer | ArrayBufferView): Promise<ImageBitmap>;
36
+ }
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,YAAY,EACZ,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,cAAc,QAAQ,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,SAAS;QACjB,GAAG,EAAE,GAAG,CAAC;KACV;IAED,IAAI,SAAS,EAAE,SAAS,CAAC;IAEzB,IAAI,QAAQ,EAAE;QACZ,GAAG,EAAE,GAAG,CAAC;QACT,MAAM,EAAE,OAAO,CAAC;QAChB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC;QACtD,uBAAuB,EAAE,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,KACX,eAAe,CAAC;QACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,GAAG,WAAW,KAAK,MAAM,CAAC;QACvE,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;QAC5C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAC;QACnD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,gBAAgB,CAAC;QAI1E,gCAAgC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,CAAC;QACxE,iBAAiB,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,sBAAsB,KACjC,WAAW,CAAC;QACjB,kBAAkB,EAAE,MAAM,MAAM,CAAC;KAClC,CAAC;IAEF,UAAU,SAAS;QACjB,yBAAyB,CACvB,UAAU,EAAE,gCAAgC,GAC3C,sBAAsB,CAAC;KAC3B;IAID,UAAU,mBAAmB;QAC3B,WAAW,CAAC,EAAE,wBAAwB,CAAC;KACxC;IAMD,UAAU,4BAA4B;QACpC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;QAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IASD,UAAU,kBAAkB;QAC1B,OAAO,IAAI,IAAI,CAAC;KACjB;IAGD,SAAS,iBAAiB,CACxB,KAAK,EAAE,WAAW,GAAG,eAAe,GACnC,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../webgpu/src/main/index.tsx"],"names":[],"mappings":"AAGA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,50 @@
1
+ type SurfacePointer = bigint;
2
+ export interface NativeCanvas {
3
+ surface: SurfacePointer;
4
+ width: number;
5
+ height: number;
6
+ clientWidth: number;
7
+ clientHeight: number;
8
+ }
9
+ export type RNCanvasContext = GPUCanvasContext & {
10
+ present: () => void;
11
+ };
12
+ export interface CanvasRef {
13
+ getContextId: () => number;
14
+ getContext(contextName: "webgpu"): RNCanvasContext | null;
15
+ getNativeSurface: () => NativeCanvas;
16
+ }
17
+ export type NativeVideoPixelFormat = "bgra8" | "nv12";
18
+ export interface NativeVideoFrame {
19
+ readonly handle: bigint;
20
+ readonly width: number;
21
+ readonly height: number;
22
+ readonly pixelFormat: NativeVideoPixelFormat;
23
+ release(): void;
24
+ }
25
+ export interface VideoPlayer {
26
+ copyLatestFrame(): NativeVideoFrame | null;
27
+ play(): void;
28
+ pause(): void;
29
+ release(): void;
30
+ }
31
+ export interface CreateVideoPlayerOptions {
32
+ pixelFormat?: NativeVideoPixelFormat;
33
+ }
34
+ export interface GPUSharedTextureMemoryDescriptor {
35
+ handle: bigint;
36
+ label?: string;
37
+ }
38
+ export interface GPUDawnTogglesDescriptor {
39
+ enabledToggles?: string[];
40
+ disabledToggles?: string[];
41
+ }
42
+ export interface GPUSharedTextureMemory {
43
+ readonly __brand: "GPUSharedTextureMemory";
44
+ label: string;
45
+ createTexture(descriptor?: GPUTextureDescriptor): GPUTexture;
46
+ beginAccess(texture: GPUTexture, initialized: boolean): boolean;
47
+ endAccess(texture: GPUTexture): boolean;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../webgpu/src/types.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC;IAC1D,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACtC;AAKD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,CAAC;AAkBtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC;CACjB;AAKD,MAAM,WAAW,WAAW;IAC1B,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IAKvC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,gCAAgC;IAM/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAMD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,UAAU,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC;IAI7D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC;IAChE,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC;CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.d.mts","sourceRoot":"","sources":["../../eslint.config.mjs"],"names":[],"mappings":""}
1
+ {"version":3,"file":"eslint.config.d.mts","sourceRoot":"","sources":["../../../eslint.config.mjs"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../commonjs/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "react-native-webgpu";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../module/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../module/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "react-native-webgpu";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,qBAAqB,CAAC"}