react-native-wgpu 0.1.2 → 0.1.4

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 (83) hide show
  1. package/android/cpp/AndroidPlatformContext.h +108 -2
  2. package/android/cpp/cpp-adapter.cpp +5 -2
  3. package/android/src/main/java/com/webgpu/WebGPUModule.java +8 -2
  4. package/cpp/rnwgpu/PlatformContext.h +14 -1
  5. package/cpp/rnwgpu/RNWebGPUManager.cpp +6 -9
  6. package/cpp/rnwgpu/RNWebGPUManager.h +0 -3
  7. package/cpp/rnwgpu/api/GPU.cpp +33 -52
  8. package/cpp/rnwgpu/api/GPUAdapter.cpp +92 -92
  9. package/cpp/rnwgpu/api/GPUBuffer.h +1 -1
  10. package/cpp/rnwgpu/api/GPUQueue.cpp +45 -2
  11. package/cpp/rnwgpu/api/ImageBitmap.h +34 -0
  12. package/cpp/rnwgpu/api/RNWebGPU.h +100 -0
  13. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +14 -4
  14. package/ios/IOSPlatformContext.h +3 -0
  15. package/ios/IOSPlatformContext.mm +50 -0
  16. package/ios/SurfaceUtils.mm +0 -1
  17. package/lib/commonjs/Canvas.js +1 -3
  18. package/lib/commonjs/Canvas.js.map +1 -1
  19. package/lib/commonjs/index.js +25 -0
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/utils.js +39 -0
  22. package/lib/commonjs/utils.js.map +1 -0
  23. package/lib/module/Canvas.js +1 -3
  24. package/lib/module/Canvas.js.map +1 -1
  25. package/lib/module/index.js +14 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/utils.js +31 -0
  28. package/lib/module/utils.js.map +1 -0
  29. package/lib/typescript/lib/commonjs/utils.d.ts +5 -0
  30. package/lib/typescript/lib/commonjs/utils.d.ts.map +1 -0
  31. package/lib/typescript/lib/module/Canvas.d.ts.map +1 -1
  32. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -1
  33. package/lib/typescript/lib/module/index.d.ts +1 -0
  34. package/lib/typescript/lib/module/utils.d.ts +3 -0
  35. package/lib/typescript/lib/module/utils.d.ts.map +1 -0
  36. package/lib/typescript/src/Canvas.d.ts +6 -1
  37. package/lib/typescript/src/Canvas.d.ts.map +1 -1
  38. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts +0 -1
  39. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +1 -1
  40. package/lib/typescript/src/index.d.ts +1 -0
  41. package/lib/typescript/src/index.d.ts.map +1 -1
  42. package/lib/typescript/src/utils.d.ts +6 -0
  43. package/lib/typescript/src/utils.d.ts.map +1 -0
  44. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  45. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  46. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  47. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  48. package/libs/ios/arm64_iphoneos/libwebgpu_dawn.a +0 -0
  49. package/libs/ios/arm64_iphonesimulator/libwebgpu_dawn.a +0 -0
  50. package/libs/ios/arm64_xros/libwebgpu_dawn.a +0 -0
  51. package/libs/ios/arm64_xrsimulator/libwebgpu_dawn.a +0 -0
  52. package/libs/ios/libwebgpu_dawn.a +0 -0
  53. package/libs/ios/libwebgpu_dawn.xcframework/Info.plist +36 -5
  54. package/libs/ios/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  55. package/libs/ios/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  56. package/libs/ios/libwebgpu_dawn.xcframework/xros-arm64/libwebgpu_dawn.a +0 -0
  57. package/libs/ios/libwebgpu_dawn.xcframework/xros-arm64_x86_64-simulator/libwebgpu_dawn_visionos.a +0 -0
  58. package/libs/ios/libwebgpu_dawn_visionos.a +0 -0
  59. package/libs/ios/x86_64_iphonesimulator/libwebgpu_dawn.a +0 -0
  60. package/libs/ios/x86_64_xrsimulator/libwebgpu_dawn.a +0 -0
  61. package/package.json +3 -20
  62. package/react-native-wgpu.podspec +1 -1
  63. package/src/Canvas.tsx +8 -3
  64. package/src/index.tsx +19 -0
  65. package/src/utils.ts +40 -0
  66. package/cpp/rnwgpu/api/ImageData.h +0 -50
  67. package/cpp/rnwgpu/api/Navigator.h +0 -46
  68. package/lib/typescript/example/src/Triangle/triangle.d.ts +0 -3
  69. package/lib/typescript/example/src/Triangle/triangle.d.ts.map +0 -1
  70. package/lib/typescript/example/src/Wireframe/Shaders.d.ts +0 -3
  71. package/lib/typescript/example/src/Wireframe/Shaders.d.ts.map +0 -1
  72. package/lib/typescript/example/src/Wireframe/models.d.ts +0 -29
  73. package/lib/typescript/example/src/Wireframe/models.d.ts.map +0 -1
  74. package/lib/typescript/example/src/components/DrawingContext.d.ts +0 -13
  75. package/lib/typescript/example/src/components/DrawingContext.d.ts.map +0 -1
  76. package/lib/typescript/example/src/components/cube.d.ts +0 -7
  77. package/lib/typescript/example/src/components/cube.d.ts.map +0 -1
  78. package/lib/typescript/example/src/components/meshes/sphere.d.ts +0 -12
  79. package/lib/typescript/example/src/components/meshes/sphere.d.ts.map +0 -1
  80. package/lib/typescript/example/src/components/meshes/teapot.d.ts +0 -6
  81. package/lib/typescript/example/src/components/meshes/teapot.d.ts.map +0 -1
  82. package/lib/typescript/example/src/components/meshes/utils.d.ts +0 -10
  83. package/lib/typescript/example/src/components/meshes/utils.d.ts.map +0 -1
@@ -0,0 +1,100 @@
1
+ #pragma once
2
+
3
+ #include <memory>
4
+ #include <string>
5
+
6
+ #include "GPU.h"
7
+ #include "GPUCanvasContext.h"
8
+ #include "ImageBitmap.h"
9
+ #include "PlatformContext.h"
10
+
11
+ namespace rnwgpu {
12
+
13
+ namespace m = margelo;
14
+
15
+ struct Blob {
16
+ std::string blobId;
17
+ double size;
18
+ double offset;
19
+ std::string type;
20
+ std::string name;
21
+ };
22
+
23
+ class RNWebGPU : public m::HybridObject {
24
+ public:
25
+ explicit RNWebGPU(std::shared_ptr<GPU> gpu,
26
+ std::shared_ptr<PlatformContext> platformContext)
27
+ : HybridObject("RNWebGPU"), _gpu(gpu), _platformContext(platformContext) {
28
+ }
29
+
30
+ std::shared_ptr<GPU> getGPU() { return _gpu; }
31
+
32
+ std::shared_ptr<GPUCanvasContext>
33
+ MakeWebGPUCanvasContext(std::shared_ptr<Canvas> canvas) {
34
+ auto nativeSurface = canvas->getSurface();
35
+ auto width = canvas->getWidth();
36
+ auto height = canvas->getHeight();
37
+ auto surface = _platformContext->makeSurface(
38
+ _gpu->get(), reinterpret_cast<void *>(nativeSurface), width, height);
39
+ if (surface == nullptr) {
40
+ throw std::runtime_error("null surface");
41
+ }
42
+ auto ctx = std::make_shared<GPUCanvasContext>(surface, canvas);
43
+ return ctx;
44
+ }
45
+
46
+ std::shared_ptr<ImageBitmap> createImageBitmap(std::shared_ptr<Blob> blob) {
47
+ auto imageData = _platformContext->createImageBitmap(
48
+ blob->blobId, blob->offset, blob->size);
49
+ auto imageBitmap = std::make_shared<ImageBitmap>(imageData);
50
+ return imageBitmap;
51
+ }
52
+
53
+ void loadHybridMethods() override {
54
+ registerHybridGetter("gpu", &RNWebGPU::getGPU, this);
55
+ registerHybridMethod("createImageBitmap", &RNWebGPU::createImageBitmap,
56
+ this);
57
+ registerHybridMethod("MakeWebGPUCanvasContext",
58
+ &RNWebGPU::MakeWebGPUCanvasContext, this);
59
+ }
60
+
61
+ private:
62
+ std::shared_ptr<GPU> _gpu;
63
+ std::shared_ptr<PlatformContext> _platformContext;
64
+ };
65
+
66
+ } // namespace rnwgpu
67
+
68
+ namespace margelo {
69
+
70
+ template <> struct JSIConverter<std::shared_ptr<rnwgpu::Blob>> {
71
+ static std::shared_ptr<rnwgpu::Blob>
72
+ fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
73
+ if (!outOfBounds && arg.isObject()) {
74
+ auto result = std::make_unique<rnwgpu::Blob>();
75
+ auto val = arg.asObject(runtime);
76
+ if (val.hasProperty(runtime, "_data")) {
77
+ auto value = val.getPropertyAsObject(runtime, "_data");
78
+ result->blobId = JSIConverter<std::string>::fromJSI(
79
+ runtime, value.getProperty(runtime, "blobId"), false);
80
+ // result->type = JSIConverter<std::string>::fromJSI(
81
+ // runtime, value.getProperty(runtime, "type"), false);
82
+ // result->name = JSIConverter<std::string>::fromJSI(
83
+ // runtime, value.getProperty(runtime, "name"), false);
84
+ result->size = JSIConverter<double>::fromJSI(
85
+ runtime, value.getProperty(runtime, "size"), false);
86
+ result->offset = JSIConverter<double>::fromJSI(
87
+ runtime, value.getProperty(runtime, "offset"), false);
88
+ }
89
+ return result;
90
+ } else {
91
+ throw std::runtime_error("Invalid Blob::fromJSI()");
92
+ }
93
+ }
94
+ static jsi::Value toJSI(jsi::Runtime &runtime,
95
+ std::shared_ptr<rnwgpu::Blob> arg) {
96
+ throw std::runtime_error("Invalid Blob::toJSI()");
97
+ }
98
+ };
99
+
100
+ } // namespace margelo
@@ -12,7 +12,7 @@
12
12
  #include "RNFJSIConverter.h"
13
13
 
14
14
  #include "GPUOrigin2D.h"
15
- #include "ImageData.h"
15
+ #include "ImageBitmap.h"
16
16
 
17
17
  namespace jsi = facebook::jsi;
18
18
  namespace m = margelo;
@@ -20,7 +20,7 @@ namespace m = margelo;
20
20
  namespace rnwgpu {
21
21
 
22
22
  struct GPUImageCopyExternalImage {
23
- std::shared_ptr<ImageData> source; // GPUImageCopyExternalImageSource
23
+ std::shared_ptr<ImageBitmap> source; // GPUImageCopyExternalImageSource
24
24
  std::optional<std::shared_ptr<GPUOrigin2D>> origin; // GPUOrigin2DStrict
25
25
  std::optional<bool> flipY; // boolean
26
26
  };
@@ -40,9 +40,19 @@ struct JSIConverter<std::shared_ptr<rnwgpu::GPUImageCopyExternalImage>> {
40
40
  auto obj = arg.getObject(runtime);
41
41
  if (obj.hasProperty(runtime, "source")) {
42
42
  auto prop = obj.getProperty(runtime, "source");
43
- result->source = JSIConverter<std::shared_ptr<ImageData>>::fromJSI(
43
+ result->source = JSIConverter<std::shared_ptr<ImageBitmap>>::fromJSI(
44
44
  runtime, prop, false);
45
45
  }
46
+ if (obj.hasProperty(runtime, "origin")) {
47
+ auto prop = obj.getProperty(runtime, "origin");
48
+ result->origin = JSIConverter<std::shared_ptr<GPUOrigin2D>>::fromJSI(
49
+ runtime, prop, false);
50
+ }
51
+
52
+ if (obj.hasProperty(runtime, "flipY")) {
53
+ auto prop = obj.getProperty(runtime, "flipY");
54
+ result->flipY = JSIConverter<bool>::fromJSI(runtime, prop, false);
55
+ }
46
56
  }
47
57
 
48
58
  return result;
@@ -54,4 +64,4 @@ struct JSIConverter<std::shared_ptr<rnwgpu::GPUImageCopyExternalImage>> {
54
64
  }
55
65
  };
56
66
 
57
- } // namespace margelo
67
+ } // namespace margelo
@@ -11,6 +11,9 @@ public:
11
11
 
12
12
  wgpu::Surface makeSurface(wgpu::Instance instance, void *surface, int width,
13
13
  int height) override;
14
+
15
+ ImageData createImageBitmap(std::string blobId, double offset,
16
+ double size) override;
14
17
  };
15
18
 
16
19
  } // namespace rnwgpu
@@ -1,5 +1,9 @@
1
1
  #include "IOSPlatformContext.h"
2
2
 
3
+ #import <React/RCTBlobManager.h>
4
+ #import <React/RCTBridge+Private.h>
5
+ #import <ReactCommon/RCTTurboModule.h>
6
+
3
7
  #include "RNWebGPUManager.h"
4
8
  #include "WebGPUModule.h"
5
9
 
@@ -15,4 +19,50 @@ wgpu::Surface IOSPlatformContext::makeSurface(wgpu::Instance instance,
15
19
  return instance.CreateSurface(&surfaceDescriptor);
16
20
  }
17
21
 
22
+ ImageData IOSPlatformContext::createImageBitmap(std::string blobId,
23
+ double offset, double size) {
24
+ RCTBlobManager *blobManager =
25
+ [[RCTBridge currentBridge] moduleForClass:RCTBlobManager.class];
26
+ NSData *blobData =
27
+ [blobManager resolve:[NSString stringWithUTF8String:blobId.c_str()]
28
+ offset:(long)offset
29
+ size:(long)size];
30
+
31
+ if (!blobData) {
32
+ throw std::runtime_error("Couldn't retrive blob data");
33
+ }
34
+
35
+ UIImage *image = [UIImage imageWithData:blobData];
36
+ if (!image) {
37
+ throw std::runtime_error("Couldn't decode image");
38
+ }
39
+
40
+ CGImageRef cgImage = image.CGImage;
41
+ size_t width = CGImageGetWidth(cgImage);
42
+ size_t height = CGImageGetHeight(cgImage);
43
+ size_t bitsPerComponent = 8;
44
+ size_t bytesPerRow = width * 4;
45
+ std::vector<uint8_t> imageData(height * bytesPerRow);
46
+
47
+ CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
48
+ CGContextRef context = CGBitmapContextCreate(
49
+ imageData.data(), width, height, bitsPerComponent, bytesPerRow,
50
+ colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
51
+
52
+ CGContextDrawImage(context, CGRectMake(0, 0, width, height), cgImage);
53
+
54
+ // Now imageData contains a copy of the bitmap data
55
+
56
+ CGContextRelease(context);
57
+ CGColorSpaceRelease(colorSpace);
58
+
59
+ // Use the copied data
60
+ ImageData result;
61
+ result.width = static_cast<int>(width);
62
+ result.height = static_cast<int>(height);
63
+ result.data = imageData;
64
+ result.format = wgpu::TextureFormat::RGBA8Unorm;
65
+ return result;
66
+ }
67
+
18
68
  } // namespace rnwgpu
@@ -10,7 +10,6 @@
10
10
  size:(CGSize)size
11
11
  contextId:(int)contextId {
12
12
  std::shared_ptr<rnwgpu::RNWebGPUManager> manager = [WebGPUModule getManager];
13
- CGFloat scaleFactor = [UIScreen mainScreen].scale;
14
13
  void *nativeSurface = (__bridge void *)layer;
15
14
  manager->surfacesRegistry.addSurface(contextId, nativeSurface, size.width,
16
15
  size.height);
@@ -31,9 +31,7 @@ const Canvas = exports.Canvas = /*#__PURE__*/(0, _react.forwardRef)((props, ref)
31
31
  if (!nativeSurface) {
32
32
  return null;
33
33
  }
34
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
- // @ts-expect-error
36
- const ctx = navigator.MakeWebGPUCanvasContext(nativeSurface);
34
+ const ctx = RNWebGPU.MakeWebGPUCanvasContext(nativeSurface);
37
35
  return ctx;
38
36
  }
39
37
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_WebGPUViewNativeComponent","_interopRequireDefault","_NativeWebGPUModule","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CONTEXT_COUNTER","generateContextId","global","__WebGPUContextRegistry","WebGPUContextRegistry","Canvas","exports","forwardRef","props","ref","contextId","_","useState","useImperativeHandle","getNativeSurface","WebGPUNativeModule","createSurfaceContext","getContext","contextName","Error","nativeSurface","ctx","navigator","MakeWebGPUCanvasContext","useEffect","React","createElement"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,0BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAsD,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAEtD,IAAIO,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;AAeAE,MAAM,CAACC,uBAAuB,GAAG,CAAC,CAAC;AACnC,MAAMC,qBAAqB,GAAGF,MAAM,CAACC,uBAAuB;AAWrD,MAAME,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAG,IAAAE,iBAAU,EAAuB,CAACC,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM,CAACC,SAAS,EAAEC,CAAC,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMX,iBAAiB,CAAC,CAAC,CAAC;EAE1D,IAAAY,0BAAmB,EAACJ,GAAG,EAAE,OAAO;IAC9BK,gBAAgB,EAAEA,CAAA,KAAM;MACtBC,2BAAkB,CAACC,oBAAoB,CAACN,SAAS,CAAC;MAClD,OAAON,qBAAqB,CAACM,SAAS,CAAC;IACzC,CAAC;IACDO,UAAUA,CAACC,WAAqB,EAAwB;MACtD,IAAIA,WAAW,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,iCAAiCD,WAAW,EAAE,CAAC;MACjE;MACAH,2BAAkB,CAACC,oBAAoB,CAACN,SAAS,CAAC;MAClD,MAAMU,aAAa,GAAGhB,qBAAqB,CAACM,SAAS,CAAC;MACtD,IAAI,CAACU,aAAa,EAAE;QAClB,OAAO,IAAI;MACb;MACA;MACA;MACA,MAAMC,GAAG,GAAGC,SAAS,CAACC,uBAAuB,CAACH,aAAa,CAAC;MAC5D,OAAOC,GAAG;IACZ;EACF,CAAC,CAAC,CAAC;EAEH,IAAAG,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX,OAAOpB,qBAAqB,CAACM,SAAS,CAAC;IACzC,CAAC;EACH,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBAAOe,KAAA,CAAAC,aAAA,CAAC5C,0BAAA,CAAAK,OAAgB,EAAAC,QAAA,KAAKoB,KAAK;IAAEE,SAAS,EAAEA;EAAU,EAAE,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_WebGPUViewNativeComponent","_interopRequireDefault","_NativeWebGPUModule","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CONTEXT_COUNTER","generateContextId","global","__WebGPUContextRegistry","WebGPUContextRegistry","Canvas","exports","forwardRef","props","ref","contextId","_","useState","useImperativeHandle","getNativeSurface","WebGPUNativeModule","createSurfaceContext","getContext","contextName","Error","nativeSurface","ctx","RNWebGPU","MakeWebGPUCanvasContext","useEffect","React","createElement"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,0BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAsD,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAEtD,IAAIO,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;AAsBAE,MAAM,CAACC,uBAAuB,GAAG,CAAC,CAAC;AACnC,MAAMC,qBAAqB,GAAGF,MAAM,CAACC,uBAAuB;AAWrD,MAAME,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAG,IAAAE,iBAAU,EAAuB,CAACC,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM,CAACC,SAAS,EAAEC,CAAC,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMX,iBAAiB,CAAC,CAAC,CAAC;EAE1D,IAAAY,0BAAmB,EAACJ,GAAG,EAAE,OAAO;IAC9BK,gBAAgB,EAAEA,CAAA,KAAM;MACtBC,2BAAkB,CAACC,oBAAoB,CAACN,SAAS,CAAC;MAClD,OAAON,qBAAqB,CAACM,SAAS,CAAC;IACzC,CAAC;IACDO,UAAUA,CAACC,WAAqB,EAAwB;MACtD,IAAIA,WAAW,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,iCAAiCD,WAAW,EAAE,CAAC;MACjE;MACAH,2BAAkB,CAACC,oBAAoB,CAACN,SAAS,CAAC;MAClD,MAAMU,aAAa,GAAGhB,qBAAqB,CAACM,SAAS,CAAC;MACtD,IAAI,CAACU,aAAa,EAAE;QAClB,OAAO,IAAI;MACb;MACA,MAAMC,GAAG,GAAGC,QAAQ,CAACC,uBAAuB,CAACH,aAAa,CAAC;MAC3D,OAAOC,GAAG;IACZ;EACF,CAAC,CAAC,CAAC;EAEH,IAAAG,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX,OAAOpB,qBAAqB,CAACM,SAAS,CAAC;IACzC,CAAC;EACH,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBAAOe,KAAA,CAAAC,aAAA,CAAC5C,0BAAA,CAAAK,OAAgB,EAAAC,QAAA,KAAKoB,KAAK;IAAEE,SAAS,EAAEA;EAAU,EAAE,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
@@ -37,6 +37,18 @@ Object.keys(_WebGPUViewNativeComponent).forEach(function (key) {
37
37
  }
38
38
  });
39
39
  });
40
+ var _utils = require("./utils");
41
+ Object.keys(_utils).forEach(function (key) {
42
+ if (key === "default" || key === "__esModule") return;
43
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
44
+ if (key in exports && exports[key] === _utils[key]) return;
45
+ Object.defineProperty(exports, key, {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _utils[key];
49
+ }
50
+ });
51
+ });
40
52
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
41
53
  /* eslint-disable @typescript-eslint/no-explicit-any */
42
54
 
@@ -181,4 +193,17 @@ global.GPUShaderModule = GPUShaderModule;
181
193
  global.GPUTexture = GPUTexture;
182
194
  global.GPUTextureView = GPUTextureView;
183
195
  _NativeWebGPUModule.default.install();
196
+ if (!navigator) {
197
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
198
+ // @ts-expect-error
199
+ navigator = {};
200
+ }
201
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
202
+ // @ts-expect-error
203
+ navigator.gpu = RNWebGPU.gpu;
204
+
205
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
206
+ // @ts-ignore
207
+ navigator.userAgent = "react-native";
208
+ global.createImageBitmap = global.createImageBitmap ?? ((...params) => new Promise(resolve => resolve(RNWebGPU.createImageBitmap(...params))));
184
209
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeWebGPUModule","_interopRequireDefault","require","_Canvas","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_WebGPUViewNativeComponent","e","__esModule","default","GPU","Symbol","hasInstance","instance","__brand","GPUAdapter","GPUAdapterInfo","GPUBindGroup","GPUBindGroupLayout","GPUBuffer","GPUCanvasContext","GPUCommandBuffer","GPUCommandEncoder","GPUCompilationInfo","GPUCompilationMessage","GPUComputePassEncoder","GPUComputePipeline","GPUDevice","GPUDeviceLostInfo","GPUError","GPUExternalTexture","GPUPipelineLayout","GPUQuerySet","GPUQueue","GPURenderBundle","GPURenderBundleEncoder","GPURenderPassEncoder","GPURenderPipeline","GPUSampler","GPUShaderModule","GPUTexture","GPUTextureView","global","WebGPUNativeModule","install"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NativeWebGPUModule","_interopRequireDefault","require","_Canvas","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_WebGPUViewNativeComponent","_utils","e","__esModule","default","GPU","Symbol","hasInstance","instance","__brand","GPUAdapter","GPUAdapterInfo","GPUBindGroup","GPUBindGroupLayout","GPUBuffer","GPUCanvasContext","GPUCommandBuffer","GPUCommandEncoder","GPUCompilationInfo","GPUCompilationMessage","GPUComputePassEncoder","GPUComputePipeline","GPUDevice","GPUDeviceLostInfo","GPUError","GPUExternalTexture","GPUPipelineLayout","GPUQuerySet","GPUQueue","GPURenderBundle","GPURenderBundleEncoder","GPURenderPassEncoder","GPURenderPipeline","GPUSampler","GPUShaderModule","GPUTexture","GPUTextureView","global","WebGPUNativeModule","install","navigator","gpu","RNWebGPU","userAgent","createImageBitmap","params","Promise","resolve"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.warnIfNotHardwareAccelerated = exports.useCanvasEffect = void 0;
7
+ var _react = require("react");
8
+ const warnIfNotHardwareAccelerated = adapter => {
9
+ if (adapter.info.architecture === "swiftshader") {
10
+ console.warn("GPUAdapter is not hardware accelerated. This is common on Android emulators. Rendering will be slow.");
11
+ }
12
+ };
13
+ exports.warnIfNotHardwareAccelerated = warnIfNotHardwareAccelerated;
14
+ const useCanvasEffect = effect => {
15
+ const ref = (0, _react.useRef)(null);
16
+ const unsubscribe = (0, _react.useRef)();
17
+ (0, _react.useEffect)(() => {
18
+ requestAnimationFrame(async () => {
19
+ // const adapter = await navigator.gpu.requestAdapter();
20
+ // if (!adapter) {
21
+ // return;
22
+ // }
23
+ // const device = await adapter.requestDevice();
24
+ const unsub = await effect();
25
+ if (unsub) {
26
+ unsubscribe.current = unsub;
27
+ }
28
+ });
29
+ return () => {
30
+ if (unsubscribe.current) {
31
+ unsubscribe.current();
32
+ }
33
+ };
34
+ // eslint-disable-next-line react-hooks/exhaustive-deps
35
+ }, []);
36
+ return ref;
37
+ };
38
+ exports.useCanvasEffect = useCanvasEffect;
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","warnIfNotHardwareAccelerated","adapter","info","architecture","console","warn","exports","useCanvasEffect","effect","ref","useRef","unsubscribe","useEffect","requestAnimationFrame","unsub","current"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMO,MAAMC,4BAA4B,GAAIC,OAAmB,IAAK;EACnE,IAAIA,OAAO,CAACC,IAAI,CAACC,YAAY,KAAK,aAAa,EAAE;IAC/CC,OAAO,CAACC,IAAI,CACV,sGACF,CAAC;EACH;AACF,CAAC;AAACC,OAAA,CAAAN,4BAAA,GAAAA,4BAAA;AAEK,MAAMO,eAAe,GAC1BC,MAA8D,IAC3D;EACH,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACnC,MAAMC,WAAW,GAAG,IAAAD,aAAM,EAAc,CAAC;EACzC,IAAAE,gBAAS,EAAC,MAAM;IACdC,qBAAqB,CAAC,YAAY;MAChC;MACA;MACA;MACA;MACA;MACA,MAAMC,KAAK,GAAG,MAAMN,MAAM,CAAC,CAAC;MAC5B,IAAIM,KAAK,EAAE;QACTH,WAAW,CAACI,OAAO,GAAGD,KAAK;MAC7B;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACX,IAAIH,WAAW,CAACI,OAAO,EAAE;QACvBJ,WAAW,CAACI,OAAO,CAAC,CAAC;MACvB;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EACN,OAAON,GAAG;AACZ,CAAC;AAACH,OAAA,CAAAC,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -24,9 +24,7 @@ export const Canvas = /*#__PURE__*/forwardRef((props, ref) => {
24
24
  if (!nativeSurface) {
25
25
  return null;
26
26
  }
27
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
28
- // @ts-expect-error
29
- const ctx = navigator.MakeWebGPUCanvasContext(nativeSurface);
27
+ const ctx = RNWebGPU.MakeWebGPUCanvasContext(nativeSurface);
30
28
  return ctx;
31
29
  }
32
30
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useState","WebGPUNativeView","WebGPUNativeModule","CONTEXT_COUNTER","generateContextId","global","__WebGPUContextRegistry","WebGPUContextRegistry","Canvas","props","ref","contextId","_","getNativeSurface","createSurfaceContext","getContext","contextName","Error","nativeSurface","ctx","navigator","MakeWebGPUCanvasContext","React","createElement","_extends"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";AACA,SAASA,UAAU,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,QAAQ,QAAQ,OAAO;AAE5E,OAAOC,gBAAgB,MAAM,6BAA6B;AAC1D,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,IAAIC,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;AAeAE,MAAM,CAACC,uBAAuB,GAAG,CAAC,CAAC;AACnC,MAAMC,qBAAqB,GAAGF,MAAM,CAACC,uBAAuB;AAW5D,OAAO,MAAME,MAAM,gBAAGX,UAAU,CAAuB,CAACY,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM,CAACC,SAAS,EAAEC,CAAC,CAAC,GAAGZ,QAAQ,CAAC,MAAMI,iBAAiB,CAAC,CAAC,CAAC;EAE1DL,mBAAmB,CAACW,GAAG,EAAE,OAAO;IAC9BG,gBAAgB,EAAEA,CAAA,KAAM;MACtBX,kBAAkB,CAACY,oBAAoB,CAACH,SAAS,CAAC;MAClD,OAAOJ,qBAAqB,CAACI,SAAS,CAAC;IACzC,CAAC;IACDI,UAAUA,CAACC,WAAqB,EAAwB;MACtD,IAAIA,WAAW,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,iCAAiCD,WAAW,EAAE,CAAC;MACjE;MACAd,kBAAkB,CAACY,oBAAoB,CAACH,SAAS,CAAC;MAClD,MAAMO,aAAa,GAAGX,qBAAqB,CAACI,SAAS,CAAC;MACtD,IAAI,CAACO,aAAa,EAAE;QAClB,OAAO,IAAI;MACb;MACA;MACA;MACA,MAAMC,GAAG,GAAGC,SAAS,CAACC,uBAAuB,CAACH,aAAa,CAAC;MAC5D,OAAOC,GAAG;IACZ;EACF,CAAC,CAAC,CAAC;EAEHrB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,OAAOS,qBAAqB,CAACI,SAAS,CAAC;IACzC,CAAC;EACH,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBAAOW,KAAA,CAAAC,aAAA,CAACtB,gBAAgB,EAAAuB,QAAA,KAAKf,KAAK;IAAEE,SAAS,EAAEA;EAAU,EAAE,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useState","WebGPUNativeView","WebGPUNativeModule","CONTEXT_COUNTER","generateContextId","global","__WebGPUContextRegistry","WebGPUContextRegistry","Canvas","props","ref","contextId","_","getNativeSurface","createSurfaceContext","getContext","contextName","Error","nativeSurface","ctx","RNWebGPU","MakeWebGPUCanvasContext","React","createElement","_extends"],"sourceRoot":"../../src","sources":["Canvas.tsx"],"mappings":";AACA,SAASA,UAAU,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,QAAQ,QAAQ,OAAO;AAE5E,OAAOC,gBAAgB,MAAM,6BAA6B;AAC1D,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,IAAIC,eAAe,GAAG,CAAC;AACvB,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,OAAOD,eAAe,EAAE;AAC1B;AAsBAE,MAAM,CAACC,uBAAuB,GAAG,CAAC,CAAC;AACnC,MAAMC,qBAAqB,GAAGF,MAAM,CAACC,uBAAuB;AAW5D,OAAO,MAAME,MAAM,gBAAGX,UAAU,CAAuB,CAACY,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM,CAACC,SAAS,EAAEC,CAAC,CAAC,GAAGZ,QAAQ,CAAC,MAAMI,iBAAiB,CAAC,CAAC,CAAC;EAE1DL,mBAAmB,CAACW,GAAG,EAAE,OAAO;IAC9BG,gBAAgB,EAAEA,CAAA,KAAM;MACtBX,kBAAkB,CAACY,oBAAoB,CAACH,SAAS,CAAC;MAClD,OAAOJ,qBAAqB,CAACI,SAAS,CAAC;IACzC,CAAC;IACDI,UAAUA,CAACC,WAAqB,EAAwB;MACtD,IAAIA,WAAW,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,iCAAiCD,WAAW,EAAE,CAAC;MACjE;MACAd,kBAAkB,CAACY,oBAAoB,CAACH,SAAS,CAAC;MAClD,MAAMO,aAAa,GAAGX,qBAAqB,CAACI,SAAS,CAAC;MACtD,IAAI,CAACO,aAAa,EAAE;QAClB,OAAO,IAAI;MACb;MACA,MAAMC,GAAG,GAAGC,QAAQ,CAACC,uBAAuB,CAACH,aAAa,CAAC;MAC3D,OAAOC,GAAG;IACZ;EACF,CAAC,CAAC,CAAC;EAEHrB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,OAAOS,qBAAqB,CAACI,SAAS,CAAC;IACzC,CAAC;EACH,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBAAOW,KAAA,CAAAC,aAAA,CAACtB,gBAAgB,EAAAuB,QAAA,KAAKf,KAAK;IAAEE,SAAS,EAAEA;EAAU,EAAE,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
  import WebGPUNativeModule from "./NativeWebGPUModule";
3
3
  export * from "./Canvas";
4
4
  export * from "./WebGPUViewNativeComponent";
5
+ export * from "./utils";
5
6
  export { default as WebGPUModule } from "./NativeWebGPUModule";
6
7
  const GPU = {};
7
8
  GPU[Symbol.hasInstance] = function (instance) {
@@ -144,4 +145,17 @@ global.GPUShaderModule = GPUShaderModule;
144
145
  global.GPUTexture = GPUTexture;
145
146
  global.GPUTextureView = GPUTextureView;
146
147
  WebGPUNativeModule.install();
148
+ if (!navigator) {
149
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
150
+ // @ts-expect-error
151
+ navigator = {};
152
+ }
153
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
154
+ // @ts-expect-error
155
+ navigator.gpu = RNWebGPU.gpu;
156
+
157
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
158
+ // @ts-ignore
159
+ navigator.userAgent = "react-native";
160
+ global.createImageBitmap = global.createImageBitmap ?? ((...params) => new Promise(resolve => resolve(RNWebGPU.createImageBitmap(...params))));
147
161
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebGPUNativeModule","default","WebGPUModule","GPU","Symbol","hasInstance","instance","__brand","GPUAdapter","GPUAdapterInfo","GPUBindGroup","GPUBindGroupLayout","GPUBuffer","GPUCanvasContext","GPUCommandBuffer","GPUCommandEncoder","GPUCompilationInfo","GPUCompilationMessage","GPUComputePassEncoder","GPUComputePipeline","GPUDevice","GPUDeviceLostInfo","GPUError","GPUExternalTexture","GPUPipelineLayout","GPUQuerySet","GPUQueue","GPURenderBundle","GPURenderBundleEncoder","GPURenderPassEncoder","GPURenderPipeline","GPUSampler","GPUShaderModule","GPUTexture","GPUTextureView","global","install"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebGPUNativeModule","default","WebGPUModule","GPU","Symbol","hasInstance","instance","__brand","GPUAdapter","GPUAdapterInfo","GPUBindGroup","GPUBindGroupLayout","GPUBuffer","GPUCanvasContext","GPUCommandBuffer","GPUCommandEncoder","GPUCompilationInfo","GPUCompilationMessage","GPUComputePassEncoder","GPUComputePipeline","GPUDevice","GPUDeviceLostInfo","GPUError","GPUExternalTexture","GPUPipelineLayout","GPUQuerySet","GPUQueue","GPURenderBundle","GPURenderBundleEncoder","GPURenderPassEncoder","GPURenderPipeline","GPUSampler","GPUShaderModule","GPUTexture","GPUTextureView","global","install","navigator","gpu","RNWebGPU","userAgent","createImageBitmap","params","Promise","resolve"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { useEffect, useRef } from "react";
2
+ export const warnIfNotHardwareAccelerated = adapter => {
3
+ if (adapter.info.architecture === "swiftshader") {
4
+ console.warn("GPUAdapter is not hardware accelerated. This is common on Android emulators. Rendering will be slow.");
5
+ }
6
+ };
7
+ export const useCanvasEffect = effect => {
8
+ const ref = useRef(null);
9
+ const unsubscribe = useRef();
10
+ useEffect(() => {
11
+ requestAnimationFrame(async () => {
12
+ // const adapter = await navigator.gpu.requestAdapter();
13
+ // if (!adapter) {
14
+ // return;
15
+ // }
16
+ // const device = await adapter.requestDevice();
17
+ const unsub = await effect();
18
+ if (unsub) {
19
+ unsubscribe.current = unsub;
20
+ }
21
+ });
22
+ return () => {
23
+ if (unsubscribe.current) {
24
+ unsubscribe.current();
25
+ }
26
+ };
27
+ // eslint-disable-next-line react-hooks/exhaustive-deps
28
+ }, []);
29
+ return ref;
30
+ };
31
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","warnIfNotHardwareAccelerated","adapter","info","architecture","console","warn","useCanvasEffect","effect","ref","unsubscribe","requestAnimationFrame","unsub","current"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAMzC,OAAO,MAAMC,4BAA4B,GAAIC,OAAmB,IAAK;EACnE,IAAIA,OAAO,CAACC,IAAI,CAACC,YAAY,KAAK,aAAa,EAAE;IAC/CC,OAAO,CAACC,IAAI,CACV,sGACF,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMC,eAAe,GAC1BC,MAA8D,IAC3D;EACH,MAAMC,GAAG,GAAGT,MAAM,CAAY,IAAI,CAAC;EACnC,MAAMU,WAAW,GAAGV,MAAM,CAAc,CAAC;EACzCD,SAAS,CAAC,MAAM;IACdY,qBAAqB,CAAC,YAAY;MAChC;MACA;MACA;MACA;MACA;MACA,MAAMC,KAAK,GAAG,MAAMJ,MAAM,CAAC,CAAC;MAC5B,IAAII,KAAK,EAAE;QACTF,WAAW,CAACG,OAAO,GAAGD,KAAK;MAC7B;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACX,IAAIF,WAAW,CAACG,OAAO,EAAE;QACvBH,WAAW,CAACG,OAAO,CAAC,CAAC;MACvB;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EACN,OAAOJ,GAAG;AACZ,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export const __esModule: boolean;
2
+ export function warnIfNotHardwareAccelerated(adapter: any): void;
3
+ export function useCanvasEffect(effect: any): _react.MutableRefObject<null>;
4
+ import _react = require("react");
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../commonjs/utils.js"],"names":[],"mappings":";AAOA,iEAIC;AAED,4EAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../module/Canvas.js"],"names":[],"mappings":"AAUA,mGA8BG"}
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../module/Canvas.js"],"names":[],"mappings":"AAUA,mGA4BG"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react-native/types/modules/Codegen" />
2
1
  declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<object>;
3
2
  export default _default;
4
3
  //# sourceMappingURL=WebGPUViewNativeComponent.d.ts.map
@@ -1,4 +1,5 @@
1
1
  export * from "./Canvas";
2
2
  export * from "./WebGPUViewNativeComponent";
3
+ export * from "./utils";
3
4
  export { default as WebGPUModule } from "./NativeWebGPUModule";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export function warnIfNotHardwareAccelerated(adapter: any): void;
2
+ export function useCanvasEffect(effect: any): import("react").MutableRefObject<null>;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../module/utils.js"],"names":[],"mappings":"AACO,iEAIN;AACM,qFAuBN"}
@@ -1,7 +1,12 @@
1
- /// <reference types="@webgpu/types" />
2
1
  import type { ViewProps } from "react-native";
3
2
  declare global {
4
3
  var __WebGPUContextRegistry: Record<number, NativeCanvas>;
4
+ var RNWebGPU: {
5
+ gpu: GPU;
6
+ MakeWebGPUCanvasContext: (nativeCanvas: NativeCanvas) => CanvasContext;
7
+ DecodeToUTF8: (buffer: NodeJS.ArrayBufferView | ArrayBuffer) => string;
8
+ createImageBitmap: typeof createImageBitmap;
9
+ };
5
10
  }
6
11
  export interface NativeCanvas {
7
12
  surface: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAW9C,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,KAAK,aAAa,GAAG,gBAAgB,GAAG;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,WAAW,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,MAAM,iGA+BjB,CAAC"}
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../src/Canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAW9C,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE1D,IAAI,QAAQ,EAAE;QACZ,GAAG,EAAE,GAAG,CAAC;QACT,uBAAuB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,aAAa,CAAC;QACvE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,GAAG,WAAW,KAAK,MAAM,CAAC;QACvE,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;KAC7C,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,KAAK,aAAa,GAAG,gBAAgB,GAAG;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,YAAY,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,WAAW,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,MAAM,iGA6BjB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react-native/types/modules/Codegen" />
2
1
  import type { ViewProps } from "react-native";
3
2
  import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
4
3
  interface NativeProps extends ViewProps {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGPUViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/WebGPUViewNativeComponent.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAEvE,UAAU,WAAY,SAAQ,SAAS;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;;AAGD,wBAAiE"}
1
+ {"version":3,"file":"WebGPUViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/WebGPUViewNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAEvE,UAAU,WAAY,SAAQ,SAAS;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;;AAGD,wBAAiE"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Canvas";
2
2
  export * from "./WebGPUViewNativeComponent";
3
+ export * from "./utils";
3
4
  export { default as WebGPUModule } from "./NativeWebGPUModule";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CanvasRef } from "./Canvas";
2
+ type Unsubscribe = () => void;
3
+ export declare const warnIfNotHardwareAccelerated: (adapter: GPUAdapter) => void;
4
+ export declare const useCanvasEffect: (effect: () => void | Unsubscribe | Promise<void | Unsubscribe>) => import("react").RefObject<CanvasRef>;
5
+ export {};
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAE9B,eAAO,MAAM,4BAA4B,YAAa,UAAU,SAM/D,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,MAAM,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,yCAwB/D,CAAC"}
Binary file
Binary file