react-native-webgpu 0.5.11
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.
- package/LICENSE +20 -0
- package/README.md +319 -0
- package/android/CMakeLists.txt +108 -0
- package/android/build.gradle +138 -0
- package/android/cpp/AndroidPlatformContext.h +207 -0
- package/android/cpp/cpp-adapter.cpp +71 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/webgpu/WebGPUAHBView.java +298 -0
- package/android/src/main/java/com/webgpu/WebGPUAPI.java +20 -0
- package/android/src/main/java/com/webgpu/WebGPUBaseView.java +61 -0
- package/android/src/main/java/com/webgpu/WebGPUModule.java +50 -0
- package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +41 -0
- package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +79 -0
- package/android/src/main/java/com/webgpu/WebGPUTextureView.java +46 -0
- package/android/src/main/java/com/webgpu/WebGPUView.java +108 -0
- package/android/src/main/java/com/webgpu/WebGPUViewManager.java +38 -0
- package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +50 -0
- package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +24 -0
- package/apple/ApplePlatformContext.h +31 -0
- package/apple/ApplePlatformContext.mm +157 -0
- package/apple/MetalView.h +13 -0
- package/apple/MetalView.mm +50 -0
- package/apple/RNWGUIKit.h +16 -0
- package/apple/WebGPUModule.h +13 -0
- package/apple/WebGPUModule.mm +89 -0
- package/apple/WebGPUView.h +12 -0
- package/apple/WebGPUView.mm +66 -0
- package/cpp/WGPULogger.h +100 -0
- package/cpp/dawn_logging.cpp +119 -0
- package/cpp/jsi/EnumMapper.h +45 -0
- package/cpp/jsi/JSIConverter.h +473 -0
- package/cpp/jsi/NativeObject.h +607 -0
- package/cpp/jsi/Promise.cpp +44 -0
- package/cpp/jsi/Promise.h +35 -0
- package/cpp/jsi/RuntimeAwareCache.cpp +7 -0
- package/cpp/jsi/RuntimeAwareCache.h +100 -0
- package/cpp/jsi/RuntimeLifecycleMonitor.cpp +72 -0
- package/cpp/jsi/RuntimeLifecycleMonitor.h +32 -0
- package/cpp/rnwgpu/ArrayBuffer.h +73 -0
- package/cpp/rnwgpu/PlatformContext.h +46 -0
- package/cpp/rnwgpu/RNWebGPUManager.cpp +225 -0
- package/cpp/rnwgpu/RNWebGPUManager.h +46 -0
- package/cpp/rnwgpu/SurfaceRegistry.h +230 -0
- package/cpp/rnwgpu/api/Canvas.h +57 -0
- package/cpp/rnwgpu/api/Convertors.h +761 -0
- package/cpp/rnwgpu/api/External.h +12 -0
- package/cpp/rnwgpu/api/GPU.cpp +127 -0
- package/cpp/rnwgpu/api/GPU.h +58 -0
- package/cpp/rnwgpu/api/GPUAdapter.cpp +191 -0
- package/cpp/rnwgpu/api/GPUAdapter.h +59 -0
- package/cpp/rnwgpu/api/GPUAdapterInfo.h +57 -0
- package/cpp/rnwgpu/api/GPUBindGroup.cpp +3 -0
- package/cpp/rnwgpu/api/GPUBindGroup.h +51 -0
- package/cpp/rnwgpu/api/GPUBindGroupLayout.h +52 -0
- package/cpp/rnwgpu/api/GPUBuffer.cpp +97 -0
- package/cpp/rnwgpu/api/GPUBuffer.h +87 -0
- package/cpp/rnwgpu/api/GPUCanvasContext.cpp +67 -0
- package/cpp/rnwgpu/api/GPUCanvasContext.h +66 -0
- package/cpp/rnwgpu/api/GPUCommandBuffer.h +45 -0
- package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +179 -0
- package/cpp/rnwgpu/api/GPUCommandEncoder.h +111 -0
- package/cpp/rnwgpu/api/GPUCompilationInfo.h +79 -0
- package/cpp/rnwgpu/api/GPUCompilationMessage.h +36 -0
- package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +60 -0
- package/cpp/rnwgpu/api/GPUComputePassEncoder.h +85 -0
- package/cpp/rnwgpu/api/GPUComputePipeline.cpp +12 -0
- package/cpp/rnwgpu/api/GPUComputePipeline.h +60 -0
- package/cpp/rnwgpu/api/GPUDevice.cpp +492 -0
- package/cpp/rnwgpu/api/GPUDevice.h +259 -0
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +7 -0
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +40 -0
- package/cpp/rnwgpu/api/GPUError.h +35 -0
- package/cpp/rnwgpu/api/GPUExtent3D.h +66 -0
- package/cpp/rnwgpu/api/GPUExternalTexture.h +45 -0
- package/cpp/rnwgpu/api/GPUFeatures.h +203 -0
- package/cpp/rnwgpu/api/GPUInternalError.h +31 -0
- package/cpp/rnwgpu/api/GPUOrigin2D.h +55 -0
- package/cpp/rnwgpu/api/GPUOrigin3D.h +62 -0
- package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +33 -0
- package/cpp/rnwgpu/api/GPUPipelineLayout.h +45 -0
- package/cpp/rnwgpu/api/GPUQuerySet.cpp +11 -0
- package/cpp/rnwgpu/api/GPUQuerySet.h +73 -0
- package/cpp/rnwgpu/api/GPUQueue.cpp +169 -0
- package/cpp/rnwgpu/api/GPUQueue.h +81 -0
- package/cpp/rnwgpu/api/GPURenderBundle.h +44 -0
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +131 -0
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +110 -0
- package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +165 -0
- package/cpp/rnwgpu/api/GPURenderPassEncoder.h +130 -0
- package/cpp/rnwgpu/api/GPURenderPipeline.cpp +13 -0
- package/cpp/rnwgpu/api/GPURenderPipeline.h +61 -0
- package/cpp/rnwgpu/api/GPUSampler.h +44 -0
- package/cpp/rnwgpu/api/GPUShaderModule.cpp +51 -0
- package/cpp/rnwgpu/api/GPUShaderModule.h +66 -0
- package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +129 -0
- package/cpp/rnwgpu/api/GPUSupportedLimits.h +131 -0
- package/cpp/rnwgpu/api/GPUTexture.cpp +47 -0
- package/cpp/rnwgpu/api/GPUTexture.h +162 -0
- package/cpp/rnwgpu/api/GPUTextureView.h +44 -0
- package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +71 -0
- package/cpp/rnwgpu/api/GPUValidationError.h +32 -0
- package/cpp/rnwgpu/api/ImageBitmap.h +40 -0
- package/cpp/rnwgpu/api/RNWebGPU.h +199 -0
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +65 -0
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +78 -0
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +57 -0
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +98 -0
- package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +58 -0
- package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +53 -0
- package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +57 -0
- package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +57 -0
- package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +60 -0
- package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +39 -0
- package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +76 -0
- package/cpp/rnwgpu/api/descriptors/GPUColor.h +67 -0
- package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +59 -0
- package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +29 -0
- package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +46 -0
- package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +46 -0
- package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +57 -0
- package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +59 -0
- package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +68 -0
- package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +104 -0
- package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +100 -0
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +39 -0
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +80 -0
- package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +74 -0
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +63 -0
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +63 -0
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +66 -0
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +82 -0
- package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +55 -0
- package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +22 -0
- package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +55 -0
- package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +58 -0
- package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +70 -0
- package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +62 -0
- package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +56 -0
- package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +44 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +46 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +81 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +82 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +102 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +93 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +59 -0
- package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +104 -0
- package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +52 -0
- package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +46 -0
- package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +111 -0
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +61 -0
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +63 -0
- package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +25 -0
- package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +65 -0
- package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +60 -0
- package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +60 -0
- package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +92 -0
- package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +29 -0
- package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +92 -0
- package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +65 -0
- package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +54 -0
- package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +63 -0
- package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +74 -0
- package/cpp/rnwgpu/api/descriptors/Unions.h +1969 -0
- package/cpp/rnwgpu/async/AsyncDispatcher.h +28 -0
- package/cpp/rnwgpu/async/AsyncRunner.cpp +215 -0
- package/cpp/rnwgpu/async/AsyncRunner.h +53 -0
- package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +181 -0
- package/cpp/rnwgpu/async/AsyncTaskHandle.h +55 -0
- package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +23 -0
- package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +22 -0
- package/cpp/webgpu/webgpu.h +4918 -0
- package/cpp/webgpu/webgpu_cpp.h +10294 -0
- package/cpp/webgpu/webgpu_cpp_chained_struct.h +57 -0
- package/cpp/webgpu/webgpu_cpp_print.h +2755 -0
- package/cpp/webgpu/webgpu_enum_class_bitmasks.h +161 -0
- package/lib/commonjs/Canvas.js +55 -0
- package/lib/commonjs/Canvas.js.map +1 -0
- package/lib/commonjs/NativeWebGPUModule.js +10 -0
- package/lib/commonjs/NativeWebGPUModule.js.map +1 -0
- package/lib/commonjs/Offscreen.js +103 -0
- package/lib/commonjs/Offscreen.js.map +1 -0
- package/lib/commonjs/WebGPUViewNativeComponent.js +10 -0
- package/lib/commonjs/WebGPUViewNativeComponent.js.map +1 -0
- package/lib/commonjs/WebGPUViewNativeComponent.web.js +103 -0
- package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +1 -0
- package/lib/commonjs/WebPolyfillGPUModule.js +40 -0
- package/lib/commonjs/WebPolyfillGPUModule.js.map +1 -0
- package/lib/commonjs/external/ModuleProxy.js +36 -0
- package/lib/commonjs/external/ModuleProxy.js.map +1 -0
- package/lib/commonjs/external/index.js +17 -0
- package/lib/commonjs/external/index.js.map +1 -0
- package/lib/commonjs/external/reanimated/ReanimatedProxy.js +18 -0
- package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +1 -0
- package/lib/commonjs/external/reanimated/index.js +21 -0
- package/lib/commonjs/external/reanimated/index.js.map +1 -0
- package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +49 -0
- package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +1 -0
- package/lib/commonjs/hooks.js +83 -0
- package/lib/commonjs/hooks.js.map +1 -0
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/main/index.js +91 -0
- package/lib/commonjs/main/index.js.map +1 -0
- package/lib/commonjs/main/index.web.js +51 -0
- package/lib/commonjs/main/index.web.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils.js +11 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/Canvas.js +46 -0
- package/lib/module/Canvas.js.map +1 -0
- package/lib/module/NativeWebGPUModule.js +4 -0
- package/lib/module/NativeWebGPUModule.js.map +1 -0
- package/lib/module/Offscreen.js +96 -0
- package/lib/module/Offscreen.js.map +1 -0
- package/lib/module/WebGPUViewNativeComponent.js +4 -0
- package/lib/module/WebGPUViewNativeComponent.js.map +1 -0
- package/lib/module/WebGPUViewNativeComponent.web.js +96 -0
- package/lib/module/WebGPUViewNativeComponent.web.js.map +1 -0
- package/lib/module/WebPolyfillGPUModule.js +38 -0
- package/lib/module/WebPolyfillGPUModule.js.map +1 -0
- package/lib/module/external/ModuleProxy.js +28 -0
- package/lib/module/external/ModuleProxy.js.map +1 -0
- package/lib/module/external/index.js +2 -0
- package/lib/module/external/index.js.map +1 -0
- package/lib/module/external/reanimated/ReanimatedProxy.js +12 -0
- package/lib/module/external/reanimated/ReanimatedProxy.js.map +1 -0
- package/lib/module/external/reanimated/index.js +3 -0
- package/lib/module/external/reanimated/index.js.map +1 -0
- package/lib/module/external/reanimated/registerWebGPUForReanimated.js +42 -0
- package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +1 -0
- package/lib/module/hooks.js +70 -0
- package/lib/module/hooks.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/main/index.js +33 -0
- package/lib/module/main/index.js.map +1 -0
- package/lib/module/main/index.web.js +8 -0
- package/lib/module/main/index.web.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils.js +5 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/typescript/babel.config.d.ts +3 -0
- package/lib/typescript/babel.config.d.ts.map +1 -0
- package/lib/typescript/eslint.config.d.mts +3 -0
- package/lib/typescript/eslint.config.d.mts.map +1 -0
- package/lib/typescript/jest.config.d.ts +9 -0
- package/lib/typescript/jest.config.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Canvas.d.ts +7 -0
- package/lib/typescript/lib/commonjs/Canvas.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +5 -0
- package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/Offscreen.d.ts +26 -0
- package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +5 -0
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +4 -0
- package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +2 -0
- package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +12 -0
- package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/external/index.d.ts +2 -0
- package/lib/typescript/lib/commonjs/external/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +6 -0
- package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +4 -0
- package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +9 -0
- package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks.d.ts +18 -0
- package/lib/typescript/lib/commonjs/hooks.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/index.d.ts +2 -0
- package/lib/typescript/lib/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/main/index.d.ts +3 -0
- package/lib/typescript/lib/commonjs/main/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/main/index.web.d.ts +2 -0
- package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types.d.ts +1 -0
- package/lib/typescript/lib/commonjs/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils.d.ts +3 -0
- package/lib/typescript/lib/commonjs/utils.d.ts.map +1 -0
- package/lib/typescript/lib/module/Canvas.d.ts +8 -0
- package/lib/typescript/lib/module/Canvas.d.ts.map +1 -0
- package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +3 -0
- package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +1 -0
- package/lib/typescript/lib/module/Offscreen.d.ts +25 -0
- package/lib/typescript/lib/module/Offscreen.d.ts.map +1 -0
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +3 -0
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +3 -0
- package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +1 -0
- package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +2 -0
- package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +1 -0
- package/lib/typescript/lib/module/external/ModuleProxy.d.ts +7 -0
- package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +1 -0
- package/lib/typescript/lib/module/external/index.d.ts +2 -0
- package/lib/typescript/lib/module/external/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +5 -0
- package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
- package/lib/typescript/lib/module/external/reanimated/index.d.ts +3 -0
- package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +2 -0
- package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks.d.ts +18 -0
- package/lib/typescript/lib/module/hooks.d.ts.map +1 -0
- package/lib/typescript/lib/module/index.d.ts +2 -0
- package/lib/typescript/lib/module/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/main/index.d.ts +6 -0
- package/lib/typescript/lib/module/main/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/main/index.web.d.ts +5 -0
- package/lib/typescript/lib/module/main/index.web.d.ts.map +1 -0
- package/lib/typescript/lib/module/types.d.ts +1 -0
- package/lib/typescript/lib/module/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils.d.ts +2 -0
- package/lib/typescript/lib/module/utils.d.ts.map +1 -0
- package/lib/typescript/src/Canvas.d.ts +35 -0
- package/lib/typescript/src/Canvas.d.ts.map +1 -0
- package/lib/typescript/src/NativeWebGPUModule.d.ts +7 -0
- package/lib/typescript/src/NativeWebGPUModule.d.ts.map +1 -0
- package/lib/typescript/src/Offscreen.d.ts +30 -0
- package/lib/typescript/src/Offscreen.d.ts.map +1 -0
- package/lib/typescript/src/WebGPUViewNativeComponent.d.ts +9 -0
- package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +9 -0
- package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +1 -0
- package/lib/typescript/src/WebPolyfillGPUModule.d.ts +2 -0
- package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +1 -0
- package/lib/typescript/src/external/ModuleProxy.d.ts +11 -0
- package/lib/typescript/src/external/ModuleProxy.d.ts.map +1 -0
- package/lib/typescript/src/external/index.d.ts +2 -0
- package/lib/typescript/src/external/index.d.ts.map +1 -0
- package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts +4 -0
- package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
- package/lib/typescript/src/external/reanimated/index.d.ts +3 -0
- package/lib/typescript/src/external/reanimated/index.d.ts.map +1 -0
- package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts +8 -0
- package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
- package/lib/typescript/src/hooks.d.ts +27 -0
- package/lib/typescript/src/hooks.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +18 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/main/index.d.ts +6 -0
- package/lib/typescript/src/main/index.d.ts.map +1 -0
- package/lib/typescript/src/main/index.web.d.ts +6 -0
- package/lib/typescript/src/main/index.web.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +19 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils.d.ts +2 -0
- package/lib/typescript/src/utils.d.ts.map +1 -0
- package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
- package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
- package/libs/android/x86/libwebgpu_dawn.so +0 -0
- package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +59 -0
- package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
- package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
- package/package.json +139 -0
- package/react-native-wgpu.podspec +47 -0
- package/src/Canvas.tsx +91 -0
- package/src/NativeWebGPUModule.ts +9 -0
- package/src/Offscreen.ts +113 -0
- package/src/WebGPUViewNativeComponent.ts +11 -0
- package/src/WebGPUViewNativeComponent.web.ts +113 -0
- package/src/WebPolyfillGPUModule.ts +53 -0
- package/src/external/ModuleProxy.ts +30 -0
- package/src/external/index.ts +1 -0
- package/src/external/reanimated/ReanimatedProxy.ts +19 -0
- package/src/external/reanimated/index.ts +2 -0
- package/src/external/reanimated/registerWebGPUForReanimated.ts +43 -0
- package/src/hooks.tsx +93 -0
- package/src/index.tsx +31 -0
- package/src/main/index.tsx +40 -0
- package/src/main/index.web.tsx +8 -0
- package/src/types.ts +20 -0
- package/src/utils.ts +4 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { contextIdToId } from "./utils";
|
|
2
|
+
const fabric = true;
|
|
3
|
+
function getNativeSurface(contextId) {
|
|
4
|
+
const canvas = document.getElementById(contextIdToId(contextId));
|
|
5
|
+
const {
|
|
6
|
+
height,
|
|
7
|
+
width
|
|
8
|
+
} = canvas.getBoundingClientRect();
|
|
9
|
+
return {
|
|
10
|
+
surface: BigInt(contextId),
|
|
11
|
+
height,
|
|
12
|
+
width,
|
|
13
|
+
clientHeight: height,
|
|
14
|
+
clientWidth: width
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function makeWebGPUCanvasContext(contextId, width, height) {
|
|
18
|
+
const canvas = document.getElementById(contextIdToId(contextId));
|
|
19
|
+
const dpr = window.devicePixelRatio || 1;
|
|
20
|
+
const pixelWidth = (width * dpr).toString();
|
|
21
|
+
const pixelHeight = (height * dpr).toString();
|
|
22
|
+
if (canvas.getAttribute("width") !== pixelWidth || canvas.getAttribute("height") !== pixelHeight) {
|
|
23
|
+
canvas.setAttribute("width", pixelWidth);
|
|
24
|
+
canvas.setAttribute("height", pixelHeight);
|
|
25
|
+
}
|
|
26
|
+
const context = canvas.getContext("webgpu");
|
|
27
|
+
return Object.assign(context, {
|
|
28
|
+
present: () => {}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// @ts-expect-error - polyfill for RNWebGPU native module
|
|
33
|
+
window.RNWebGPU = {
|
|
34
|
+
getNativeSurface,
|
|
35
|
+
MakeWebGPUCanvasContext: makeWebGPUCanvasContext,
|
|
36
|
+
fabric
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=WebPolyfillGPUModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["contextIdToId","fabric","getNativeSurface","contextId","canvas","document","getElementById","height","width","getBoundingClientRect","surface","BigInt","clientHeight","clientWidth","makeWebGPUCanvasContext","dpr","window","devicePixelRatio","pixelWidth","toString","pixelHeight","getAttribute","setAttribute","context","getContext","Object","assign","present","RNWebGPU","MakeWebGPUCanvasContext"],"sourceRoot":"../../src","sources":["WebPolyfillGPUModule.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,SAAS;AAEvC,MAAMC,MAAM,GAAG,IAAI;AAEnB,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAC3C,MAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpCN,aAAa,CAACG,SAAS,CACzB,CAAsB;EAEtB,MAAM;IAAEI,MAAM;IAAEC;EAAM,CAAC,GAAGJ,MAAM,CAACK,qBAAqB,CAAC,CAAE;EAEzD,OAAO;IACLC,OAAO,EAAEC,MAAM,CAACR,SAAS,CAAC;IAC1BI,MAAM;IACNC,KAAK;IACLI,YAAY,EAAEL,MAAM;IACpBM,WAAW,EAAEL;EACf,CAAC;AACH;AAEA,SAASM,uBAAuBA,CAC9BX,SAAiB,EACjBK,KAAa,EACbD,MAAc,EACd;EACA,MAAMH,MAAM,GAAGC,QAAQ,CAACC,cAAc,CACpCN,aAAa,CAACG,SAAS,CACzB,CAAsB;EAEtB,MAAMY,GAAG,GAAGC,MAAM,CAACC,gBAAgB,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAG,CAACV,KAAK,GAAGO,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAC3C,MAAMC,WAAW,GAAG,CAACb,MAAM,GAAGQ,GAAG,EAAEI,QAAQ,CAAC,CAAC;EAE7C,IACEf,MAAM,CAACiB,YAAY,CAAC,OAAO,CAAC,KAAKH,UAAU,IAC3Cd,MAAM,CAACiB,YAAY,CAAC,QAAQ,CAAC,KAAKD,WAAW,EAC7C;IACAhB,MAAM,CAACkB,YAAY,CAAC,OAAO,EAAEJ,UAAU,CAAC;IACxCd,MAAM,CAACkB,YAAY,CAAC,QAAQ,EAAEF,WAAW,CAAC;EAC5C;EAEA,MAAMG,OAAO,GAAGnB,MAAM,CAACoB,UAAU,CAAC,QAAQ,CAAE;EAC5C,OAAOC,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;IAC5BI,OAAO,EAAEA,CAAA,KAAM,CAAC;EAClB,CAAC,CAAC;AACJ;;AAEA;AACAX,MAAM,CAACY,QAAQ,GAAG;EAChB1B,gBAAgB;EAChB2B,uBAAuB,EAAEf,uBAAuB;EAChDb;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// https://github.com/mrousavy/react-native-vision-camera/blob/main/package/src/dependencies/ModuleProxy.ts
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create a lazily-imported module proxy.
|
|
5
|
+
* This is useful for lazily requiring optional dependencies.
|
|
6
|
+
*/
|
|
7
|
+
export const createModuleProxy = getModule => {
|
|
8
|
+
const holder = {
|
|
9
|
+
module: undefined
|
|
10
|
+
};
|
|
11
|
+
const proxy = new Proxy(holder, {
|
|
12
|
+
get: (target, property) => {
|
|
13
|
+
if (target.module == null) {
|
|
14
|
+
// lazy initialize module via require()
|
|
15
|
+
// caller needs to make sure the require() call is wrapped in a try/catch
|
|
16
|
+
target.module = getModule();
|
|
17
|
+
}
|
|
18
|
+
return target.module[property];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return proxy;
|
|
22
|
+
};
|
|
23
|
+
export class OptionalDependencyNotInstalledError extends Error {
|
|
24
|
+
constructor(name) {
|
|
25
|
+
super(`${name} is not installed!`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ModuleProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createModuleProxy","getModule","holder","module","undefined","proxy","Proxy","get","target","property","OptionalDependencyNotInstalledError","Error","constructor","name"],"sourceRoot":"../../../src","sources":["external/ModuleProxy.ts"],"mappings":"AAAA;;AAGA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAC5BC,SAA2B,IACf;EACZ,MAAMC,MAAuC,GAAG;IAAEC,MAAM,EAAEC;EAAU,CAAC;EAErE,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAACJ,MAAM,EAAE;IAC9BK,GAAG,EAAEA,CAACC,MAAM,EAAEC,QAAQ,KAAK;MACzB,IAAID,MAAM,CAACL,MAAM,IAAI,IAAI,EAAE;QACzB;QACA;QACAK,MAAM,CAACL,MAAM,GAAGF,SAAS,CAAC,CAAY;MACxC;MACA,OAAOO,MAAM,CAACL,MAAM,CAACM,QAAQ,CAA+B;IAC9D;EACF,CAAC,CAAC;EACF,OAAOJ,KAAK;AACd,CAAC;AAED,OAAO,MAAMK,mCAAmC,SAASC,KAAK,CAAC;EAC7DC,WAAWA,CAACC,IAAY,EAAE;IACxB,KAAK,CAAC,GAAGA,IAAI,oBAAoB,CAAC;EACpC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["external/index.ts"],"mappings":"AAAA,cAAc,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OptionalDependencyNotInstalledError, createModuleProxy } from "../ModuleProxy";
|
|
2
|
+
const Reanimated = createModuleProxy(() => {
|
|
3
|
+
try {
|
|
4
|
+
return require("react-native-reanimated");
|
|
5
|
+
} catch (e) {
|
|
6
|
+
throw new OptionalDependencyNotInstalledError("react-native-reanimated");
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line import/no-default-export
|
|
11
|
+
export default Reanimated;
|
|
12
|
+
//# sourceMappingURL=ReanimatedProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OptionalDependencyNotInstalledError","createModuleProxy","Reanimated","require","e"],"sourceRoot":"../../../../src","sources":["external/reanimated/ReanimatedProxy.ts"],"mappings":"AAEA,SACEA,mCAAmC,EACnCC,iBAAiB,QACZ,gBAAgB;AAIvB,MAAMC,UAAU,GAAGD,iBAAiB,CAAc,MAAM;EACtD,IAAI;IACF,OAAOE,OAAO,CAAC,yBAAyB,CAAC;EAC3C,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,MAAM,IAAIJ,mCAAmC,CAAC,yBAAyB,CAAC;EAC1E;AACF,CAAC,CAAC;;AAEF;AACA,eAAeE,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["registerWebGPUForReanimated","default","Reanimated"],"sourceRoot":"../../../../src","sources":["external/reanimated/index.ts"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,OAAO,IAAIC,UAAU,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Declare global WebGPU worklet helper functions (installed by native module)
|
|
2
|
+
|
|
3
|
+
let isRegistered = false;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Register WebGPU objects for Worklets serialization.
|
|
7
|
+
* This allows GPUDevice, GPUCanvasContext, etc. to be passed to worklets.
|
|
8
|
+
*
|
|
9
|
+
* This is called automatically when the module loads if react-native-worklets is installed.
|
|
10
|
+
*/
|
|
11
|
+
export const registerWebGPUForReanimated = () => {
|
|
12
|
+
if (isRegistered) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
isRegistered = true;
|
|
16
|
+
try {
|
|
17
|
+
const {
|
|
18
|
+
registerCustomSerializable
|
|
19
|
+
} = require("react-native-worklets");
|
|
20
|
+
registerCustomSerializable({
|
|
21
|
+
name: "WebGPU",
|
|
22
|
+
determine: value => {
|
|
23
|
+
"worklet";
|
|
24
|
+
|
|
25
|
+
return __webgpuIsWebGPUObject(value);
|
|
26
|
+
},
|
|
27
|
+
pack: value => {
|
|
28
|
+
"worklet";
|
|
29
|
+
|
|
30
|
+
return __webgpuBox(value);
|
|
31
|
+
},
|
|
32
|
+
unpack: boxed => {
|
|
33
|
+
"worklet";
|
|
34
|
+
|
|
35
|
+
return boxed.unbox();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
} catch {
|
|
39
|
+
// react-native-worklets not installed, skip registration
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=registerWebGPUForReanimated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isRegistered","registerWebGPUForReanimated","registerCustomSerializable","require","name","determine","value","__webgpuIsWebGPUObject","pack","__webgpuBox","unpack","boxed","unbox"],"sourceRoot":"../../../../src","sources":["external/reanimated/registerWebGPUForReanimated.ts"],"mappings":"AAAA;;AAOA,IAAIA,YAAY,GAAG,KAAK;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,IAAID,YAAY,EAAE;IAChB;EACF;EACAA,YAAY,GAAG,IAAI;EAEnB,IAAI;IACF,MAAM;MAAEE;IAA2B,CAAC,GAAGC,OAAO,CAAC,uBAAuB,CAAC;IAEvED,0BAA0B,CAAC;MACzBE,IAAI,EAAE,QAAQ;MACdC,SAAS,EAAGC,KAAa,IAAsB;QAC7C,SAAS;;QACT,OAAOC,sBAAsB,CAACD,KAAK,CAAC;MACtC,CAAC;MACDE,IAAI,EAAGF,KAAa,IAAK;QACvB,SAAS;;QACT,OAAOG,WAAW,CAACH,KAAK,CAAC;MAC3B,CAAC;MACDI,MAAM,EAAGC,KAA8B,IAAK;QAC1C,SAAS;;QACT,OAAOA,KAAK,CAACC,KAAK,CAAC,CAAC;MACtB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React, { createContext, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
2
|
+
export const warnIfNotHardwareAccelerated = adapter => {
|
|
3
|
+
// Check if adapter is a fallback adapter using the new GPUAdapterInfo API
|
|
4
|
+
// Note: isFallbackAdapter was moved from GPUAdapter to GPUAdapterInfo in Chrome 140
|
|
5
|
+
if (adapter.info && adapter.info.isFallbackAdapter) {
|
|
6
|
+
console.warn("GPUAdapter is not hardware accelerated. This is common on Android emulators. Rendering will be slow. Some features may be unavailable.");
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const DeviceContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
export const GPUDeviceProvider = ({
|
|
11
|
+
children,
|
|
12
|
+
adapterOptions,
|
|
13
|
+
deviceDescriptor
|
|
14
|
+
}) => {
|
|
15
|
+
const state = useDevice(adapterOptions, deviceDescriptor);
|
|
16
|
+
if (!state.device) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return /*#__PURE__*/React.createElement(DeviceContext.Provider, {
|
|
20
|
+
value: state
|
|
21
|
+
}, children);
|
|
22
|
+
};
|
|
23
|
+
export const useSurface = () => {
|
|
24
|
+
const ref = useRef(null);
|
|
25
|
+
const [surface, setSurface] = useState(null);
|
|
26
|
+
useLayoutEffect(() => {
|
|
27
|
+
const sur = ref.current.getNativeSurface();
|
|
28
|
+
setSurface(sur);
|
|
29
|
+
}, []);
|
|
30
|
+
return {
|
|
31
|
+
ref,
|
|
32
|
+
surface
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export const useMainDevice = () => {
|
|
36
|
+
const ctx = useContext(DeviceContext);
|
|
37
|
+
if (!ctx) {
|
|
38
|
+
throw new Error("No DeviceContext found.");
|
|
39
|
+
}
|
|
40
|
+
return ctx;
|
|
41
|
+
};
|
|
42
|
+
export const useCanvasRef = () => useRef(null);
|
|
43
|
+
export const useDevice = (adapterOptions, deviceDescriptor) => {
|
|
44
|
+
const [state, setState] = useState(null);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
(async () => {
|
|
47
|
+
if (!state) {
|
|
48
|
+
const adapter = await navigator.gpu.requestAdapter(adapterOptions);
|
|
49
|
+
if (!adapter) {
|
|
50
|
+
throw new Error("No appropriate GPUAdapter found.");
|
|
51
|
+
}
|
|
52
|
+
warnIfNotHardwareAccelerated(adapter);
|
|
53
|
+
const device = await adapter.requestDevice(deviceDescriptor);
|
|
54
|
+
if (!device) {
|
|
55
|
+
throw new Error("No appropriate GPUDevice found.");
|
|
56
|
+
}
|
|
57
|
+
setState({
|
|
58
|
+
adapter,
|
|
59
|
+
device
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
})();
|
|
64
|
+
}, [adapterOptions, deviceDescriptor, state]);
|
|
65
|
+
return {
|
|
66
|
+
adapter: state?.adapter ?? null,
|
|
67
|
+
device: state?.device ?? null
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useEffect","useLayoutEffect","useRef","useState","warnIfNotHardwareAccelerated","adapter","info","isFallbackAdapter","console","warn","DeviceContext","GPUDeviceProvider","children","adapterOptions","deviceDescriptor","state","useDevice","device","createElement","Provider","value","useSurface","ref","surface","setSurface","sur","current","getNativeSurface","useMainDevice","ctx","Error","useCanvasRef","setState","navigator","gpu","requestAdapter","requestDevice"],"sourceRoot":"../../src","sources":["hooks.tsx"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,MAAM,EACNC,QAAQ,QACH,OAAO;AAKd,OAAO,MAAMC,4BAA4B,GAAIC,OAAmB,IAAK;EACnE;EACA;EACA,IAAIA,OAAO,CAACC,IAAI,IAAID,OAAO,CAACC,IAAI,CAACC,iBAAiB,EAAE;IAClDC,OAAO,CAACC,IAAI,CACV,wIACF,CAAC;EACH;AACF,CAAC;AAOD,MAAMC,aAAa,gBAAGZ,aAAa,CAAuB,IAAI,CAAC;AAQ/D,OAAO,MAAMa,iBAAiB,GAAGA,CAAC;EAChCC,QAAQ;EACRC,cAAc;EACdC;AACmB,CAAC,KAAK;EACzB,MAAMC,KAAK,GAAGC,SAAS,CAACH,cAAc,EAAEC,gBAAgB,CAAC;EACzD,IAAI,CAACC,KAAK,CAACE,MAAM,EAAE;IACjB,OAAO,IAAI;EACb;EACA,oBACEpB,KAAA,CAAAqB,aAAA,CAACR,aAAa,CAACS,QAAQ;IAACC,KAAK,EAAEL;EAAM,GAAEH,QAAiC,CAAC;AAE7E,CAAC;AAED,OAAO,MAAMS,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAMC,GAAG,GAAGpB,MAAM,CAAY,IAAI,CAAC;EACnC,MAAM,CAACqB,OAAO,EAAEC,UAAU,CAAC,GAAGrB,QAAQ,CAAsB,IAAI,CAAC;EACjEF,eAAe,CAAC,MAAM;IACpB,MAAMwB,GAAG,GAAGH,GAAG,CAACI,OAAO,CAAEC,gBAAgB,CAAC,CAAC;IAC3CH,UAAU,CAACC,GAAG,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EACN,OAAO;IAAEH,GAAG;IAAEC;EAAQ,CAAC;AACzB,CAAC;AAED,OAAO,MAAMK,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,GAAG,GAAG9B,UAAU,CAACW,aAAa,CAAC;EACrC,IAAI,CAACmB,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA,OAAOD,GAAG;AACZ,CAAC;AAED,OAAO,MAAME,YAAY,GAAGA,CAAA,KAAM7B,MAAM,CAAY,IAAI,CAAC;AAEzD,OAAO,MAAMc,SAAS,GAAGA,CACvBH,cAAyC,EACzCC,gBAAsC,KACnC;EACH,MAAM,CAACC,KAAK,EAAEiB,QAAQ,CAAC,GAAG7B,QAAQ,CAAuB,IAAI,CAAC;EAC9DH,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAI,CAACe,KAAK,EAAE;QACV,MAAMV,OAAO,GAAG,MAAM4B,SAAS,CAACC,GAAG,CAACC,cAAc,CAACtB,cAAc,CAAC;QAClE,IAAI,CAACR,OAAO,EAAE;UACZ,MAAM,IAAIyB,KAAK,CAAC,kCAAkC,CAAC;QACrD;QACA1B,4BAA4B,CAACC,OAAO,CAAC;QACrC,MAAMY,MAAM,GAAG,MAAMZ,OAAO,CAAC+B,aAAa,CAACtB,gBAAgB,CAAC;QAC5D,IAAI,CAACG,MAAM,EAAE;UACX,MAAM,IAAIa,KAAK,CAAC,iCAAiC,CAAC;QACpD;QACAE,QAAQ,CAAC;UAAE3B,OAAO;UAAEY;QAAO,CAAC,CAAC;QAC7B;MACF;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACJ,cAAc,EAAEC,gBAAgB,EAAEC,KAAK,CAAC,CAAC;EAC7C,OAAO;IAAEV,OAAO,EAAEU,KAAK,EAAEV,OAAO,IAAI,IAAI;IAAEY,MAAM,EAAEF,KAAK,EAAEE,MAAM,IAAI;EAAK,CAAC;AAC3E,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;;AAIA,cAAc,QAAQ;AAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { registerWebGPUForReanimated } from "../external";
|
|
2
|
+
import WebGPUModule from "../NativeWebGPUModule";
|
|
3
|
+
export * from "../Canvas";
|
|
4
|
+
export * from "../Offscreen";
|
|
5
|
+
export * from "../WebGPUViewNativeComponent";
|
|
6
|
+
export * from "../hooks";
|
|
7
|
+
export { default as WebGPUModule } from "../NativeWebGPUModule";
|
|
8
|
+
const _installOk = WebGPUModule.install();
|
|
9
|
+
registerWebGPUForReanimated();
|
|
10
|
+
if (typeof RNWebGPU !== "undefined") {
|
|
11
|
+
if (!navigator) {
|
|
12
|
+
// @ts-expect-error Navigation object is more complex than this, setting it to an empty object to add gpu property
|
|
13
|
+
navigator = {
|
|
14
|
+
gpu: RNWebGPU.gpu,
|
|
15
|
+
userAgent: "react-native"
|
|
16
|
+
};
|
|
17
|
+
} else {
|
|
18
|
+
navigator.gpu = RNWebGPU.gpu;
|
|
19
|
+
if (typeof navigator.userAgent !== "string") {
|
|
20
|
+
try {
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
22
|
+
// @ts-ignore - Hermes navigator may not include a userAgent, align with the polyfill if needed
|
|
23
|
+
navigator.userAgent = "react-native";
|
|
24
|
+
} catch {
|
|
25
|
+
// navigator.userAgent can be read-only; ignore if assignment fails
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
global.createImageBitmap = global.createImageBitmap ?? RNWebGPU.createImageBitmap.bind(RNWebGPU);
|
|
30
|
+
} else {
|
|
31
|
+
console.warn(`[react-native-wgpu] install() returned ${_installOk} but RNWebGPU global is not available`);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["registerWebGPUForReanimated","WebGPUModule","default","_installOk","install","RNWebGPU","navigator","gpu","userAgent","global","createImageBitmap","bind","console","warn"],"sourceRoot":"../../../src","sources":["main/index.tsx"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,aAAa;AACzD,OAAOC,YAAY,MAAM,uBAAuB;AAEhD,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;AAExB,SAASC,OAAO,IAAID,YAAY,QAAQ,uBAAuB;AAE/D,MAAME,UAAU,GAAGF,YAAY,CAACG,OAAO,CAAC,CAAC;AAEzCJ,2BAA2B,CAAC,CAAC;AAE7B,IAAI,OAAOK,QAAQ,KAAK,WAAW,EAAE;EACnC,IAAI,CAACC,SAAS,EAAE;IACd;IACAA,SAAS,GAAG;MACVC,GAAG,EAAEF,QAAQ,CAACE,GAAG;MACjBC,SAAS,EAAE;IACb,CAAC;EACH,CAAC,MAAM;IACLF,SAAS,CAACC,GAAG,GAAGF,QAAQ,CAACE,GAAG;IAC5B,IAAI,OAAOD,SAAS,CAACE,SAAS,KAAK,QAAQ,EAAE;MAC3C,IAAI;QACF;QACA;QACAF,SAAS,CAACE,SAAS,GAAG,cAAc;MACtC,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;EACAC,MAAM,CAACC,iBAAiB,GACtBD,MAAM,CAACC,iBAAiB,IAAIL,QAAQ,CAACK,iBAAiB,CAACC,IAAI,CAACN,QAAQ,CAAC;AACzE,CAAC,MAAM;EACLO,OAAO,CAACC,IAAI,CACV,0CAA0CV,UAAU,uCACtD,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../WebPolyfillGPUModule";
|
|
2
|
+
export * from "../Canvas";
|
|
3
|
+
export * from "../Offscreen";
|
|
4
|
+
export * from "../WebGPUViewNativeComponent";
|
|
5
|
+
export * from "../hooks";
|
|
6
|
+
|
|
7
|
+
// We don't need to set all global properties on web, webgpu is already available globally
|
|
8
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["main/index.web.tsx"],"mappings":"AAAA,OAAO,yBAAyB;AAEhC,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,8BAA8B;AAC5C,cAAc,UAAU;;AAExB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["contextIdToId","contextId"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA;AACA,OAAO,SAASA,aAAaA,CAACC,SAAiB,EAAE;EAC/C,OAAO,gBAAgB,GAAGA,SAAS;AACrC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"babel.config.d.ts","sourceRoot":"","sources":["../../babel.config.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint.config.d.mts","sourceRoot":"","sources":["../../eslint.config.mjs"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export let preset: string;
|
|
2
|
+
export let modulePathIgnorePatterns: string[];
|
|
3
|
+
export let globalSetup: string;
|
|
4
|
+
export let globalTeardown: string;
|
|
5
|
+
export let transform: {
|
|
6
|
+
'^.+\\.(js|jsx|ts|tsx)$': string;
|
|
7
|
+
};
|
|
8
|
+
export let transformIgnorePatterns: string[];
|
|
9
|
+
//# sourceMappingURL=jest.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.config.d.ts","sourceRoot":"","sources":["../../jest.config.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../commonjs/Canvas.js"],"names":[],"mappings":";AAgBA;;;;QAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeWebGPUModule.d.ts","sourceRoot":"","sources":["../../../commonjs/NativeWebGPUModule.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const __esModule: boolean;
|
|
2
|
+
export class GPUOffscreenCanvas {
|
|
3
|
+
constructor(width: any, height: any);
|
|
4
|
+
width: any;
|
|
5
|
+
height: any;
|
|
6
|
+
context: GPUOffscreenCanvasContext;
|
|
7
|
+
getContext(contextId: any): GPUOffscreenCanvasContext | null;
|
|
8
|
+
getImageData(): any;
|
|
9
|
+
}
|
|
10
|
+
declare class GPUOffscreenCanvasContext {
|
|
11
|
+
constructor(canvas: any);
|
|
12
|
+
__brand: string;
|
|
13
|
+
texture: null;
|
|
14
|
+
device: null;
|
|
15
|
+
canvas: any;
|
|
16
|
+
textureFormat: GPUTextureFormat;
|
|
17
|
+
getConfiguration(): void;
|
|
18
|
+
present(): void;
|
|
19
|
+
getDevice(): never;
|
|
20
|
+
getTexture(): never;
|
|
21
|
+
configure(config: any): undefined;
|
|
22
|
+
unconfigure(): undefined;
|
|
23
|
+
getCurrentTexture(): never;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=Offscreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Offscreen.d.ts","sourceRoot":"","sources":["../../../commonjs/Offscreen.js"],"names":[],"mappings":";AAMA;IACE,qCAIC;IAHC,WAAkB;IAClB,YAAoB;IACpB,mCAAkD;IAEpD,6DAMC;IACD,oBA4BC;CACF;AAED;IAME,yBAGC;IARD,gBAA6B;IAC7B,cAAe;IACf,aAAc;IAIZ,YAAoB;IACpB,gCAA6D;IAE/D,yBAEC;IACD,gBAEC;IACD,mBAKC;IACD,oBAKC;IACD,kCASC;IACD,yBAMC;IACD,2BAKC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGPUViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../commonjs/WebGPUViewNativeComponent.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGPUViewNativeComponent.web.d.ts","sourceRoot":"","sources":["../../../commonjs/WebGPUViewNativeComponent.web.js"],"names":[],"mappings":";;AA4CA,4DAiCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebPolyfillGPUModule.d.ts","sourceRoot":"","sources":["../../../commonjs/WebPolyfillGPUModule.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const __esModule: boolean;
|
|
2
|
+
/**
|
|
3
|
+
* Create a lazily-imported module proxy.
|
|
4
|
+
* This is useful for lazily requiring optional dependencies.
|
|
5
|
+
*/
|
|
6
|
+
export function createModuleProxy(getModule: any): {
|
|
7
|
+
module: undefined;
|
|
8
|
+
};
|
|
9
|
+
export class OptionalDependencyNotInstalledError extends Error {
|
|
10
|
+
constructor(name: any);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ModuleProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleProxy.d.ts","sourceRoot":"","sources":["../../../../commonjs/external/ModuleProxy.js"],"names":[],"mappings":";AAQA;;;GAGG;AACH;;EAeC;AAED;IACE,uBAEC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/external/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReanimatedProxy.d.ts","sourceRoot":"","sources":["../../../../../commonjs/external/reanimated/ReanimatedProxy.js"],"names":[],"mappings":";;AAOA;;EAMG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../commonjs/external/reanimated/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const __esModule: boolean;
|
|
2
|
+
/**
|
|
3
|
+
* Register WebGPU objects for Worklets serialization.
|
|
4
|
+
* This allows GPUDevice, GPUCanvasContext, etc. to be passed to worklets.
|
|
5
|
+
*
|
|
6
|
+
* This is called automatically when the module loads if react-native-worklets is installed.
|
|
7
|
+
*/
|
|
8
|
+
export function registerWebGPUForReanimated(): void;
|
|
9
|
+
//# sourceMappingURL=registerWebGPUForReanimated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerWebGPUForReanimated.d.ts","sourceRoot":"","sources":["../../../../../commonjs/external/reanimated/registerWebGPUForReanimated.js"],"names":[],"mappings":";AAUA;;;;;GAKG;AACH,oDA8BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const __esModule: boolean;
|
|
2
|
+
export function warnIfNotHardwareAccelerated(adapter: any): void;
|
|
3
|
+
export function GPUDeviceProvider({ children, adapterOptions, deviceDescriptor }: {
|
|
4
|
+
children: any;
|
|
5
|
+
adapterOptions: any;
|
|
6
|
+
deviceDescriptor: any;
|
|
7
|
+
}): any;
|
|
8
|
+
export function useSurface(): {
|
|
9
|
+
ref: any;
|
|
10
|
+
surface: any;
|
|
11
|
+
};
|
|
12
|
+
export function useMainDevice(): any;
|
|
13
|
+
export function useCanvasRef(): any;
|
|
14
|
+
export function useDevice(adapterOptions: any, deviceDescriptor: any): {
|
|
15
|
+
adapter: any;
|
|
16
|
+
device: any;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../commonjs/hooks.js"],"names":[],"mappings":";AAQA,iEAMC;AAGD;;;;QAYC;AAED;;;EAWC;AAED,qCAMC;AAED,oCAAmD;AAEnD;;;EA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../commonjs/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/main/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../commonjs/main/index.web.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../commonjs/types.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../commonjs/utils.js"],"names":[],"mappings":";AAOA,sDAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function Canvas({ transparent, ref, ...props }: {
|
|
2
|
+
[x: string]: any;
|
|
3
|
+
transparent: any;
|
|
4
|
+
ref: any;
|
|
5
|
+
}): React.CElement<import("react-native").ViewProps, View>;
|
|
6
|
+
import { View } from "react-native";
|
|
7
|
+
import React from "react";
|
|
8
|
+
//# sourceMappingURL=Canvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../module/Canvas.js"],"names":[],"mappings":"AAQO;;;;2DAoCN;qBA1CoB,cAAc;kBAD0B,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeWebGPUModule.d.ts","sourceRoot":"","sources":["../../../module/NativeWebGPUModule.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class GPUOffscreenCanvas {
|
|
2
|
+
constructor(width: any, height: any);
|
|
3
|
+
width: any;
|
|
4
|
+
height: any;
|
|
5
|
+
context: GPUOffscreenCanvasContext;
|
|
6
|
+
getContext(contextId: any): GPUOffscreenCanvasContext | null;
|
|
7
|
+
getImageData(): any;
|
|
8
|
+
}
|
|
9
|
+
declare class GPUOffscreenCanvasContext {
|
|
10
|
+
constructor(canvas: any);
|
|
11
|
+
__brand: string;
|
|
12
|
+
texture: null;
|
|
13
|
+
device: null;
|
|
14
|
+
canvas: any;
|
|
15
|
+
textureFormat: GPUTextureFormat;
|
|
16
|
+
getConfiguration(): void;
|
|
17
|
+
present(): void;
|
|
18
|
+
getDevice(): never;
|
|
19
|
+
getTexture(): never;
|
|
20
|
+
configure(config: any): undefined;
|
|
21
|
+
unconfigure(): undefined;
|
|
22
|
+
getCurrentTexture(): never;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=Offscreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Offscreen.d.ts","sourceRoot":"","sources":["../../../module/Offscreen.js"],"names":[],"mappings":"AAAA;IACE,qCAIC;IAHC,WAAkB;IAClB,YAAoB;IACpB,mCAAkD;IAEpD,6DAMC;IACD,oBA4BC;CACF;AACD;IAME,yBAGC;IARD,gBAA6B;IAC7B,cAAe;IACf,aAAc;IAIZ,YAAoB;IACpB,gCAA6D;IAE/D,yBAEC;IACD,gBAEC;IACD,mBAKC;IACD,oBAKC;IACD,kCASC;IACD,yBAMC;IACD,2BAKC;CACF"}
|