react-native-nitro-ar 2026.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +347 -0
  2. package/app.plugin.js +24 -0
  3. package/ios/Bridge.h +8 -0
  4. package/ios/HybridARAnchor.swift +58 -0
  5. package/ios/HybridARBoundingBoxBuilder.swift +142 -0
  6. package/ios/HybridARDepthData.swift +138 -0
  7. package/ios/HybridARFrame.swift +121 -0
  8. package/ios/HybridARLightEstimate.swift +58 -0
  9. package/ios/HybridARMeasurement.swift +33 -0
  10. package/ios/HybridARMeshAnchor.swift +108 -0
  11. package/ios/HybridARPlaneAnchor.swift +114 -0
  12. package/ios/HybridARRaycastResult.swift +53 -0
  13. package/ios/HybridARSession.swift +505 -0
  14. package/ios/HybridARView.swift +725 -0
  15. package/ios/HybridARVolume.swift +52 -0
  16. package/ios/HybridARWorldMap.swift +55 -0
  17. package/lib/commonjs/index.js +24 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/package.json +3 -0
  20. package/lib/commonjs/specs/ARAnchor.nitro.js +6 -0
  21. package/lib/commonjs/specs/ARAnchor.nitro.js.map +1 -0
  22. package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js +6 -0
  23. package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
  24. package/lib/commonjs/specs/ARDepthData.nitro.js +6 -0
  25. package/lib/commonjs/specs/ARDepthData.nitro.js.map +1 -0
  26. package/lib/commonjs/specs/ARFrame.nitro.js +6 -0
  27. package/lib/commonjs/specs/ARFrame.nitro.js.map +1 -0
  28. package/lib/commonjs/specs/ARLightEstimate.nitro.js +6 -0
  29. package/lib/commonjs/specs/ARLightEstimate.nitro.js.map +1 -0
  30. package/lib/commonjs/specs/ARMeasurement.nitro.js +6 -0
  31. package/lib/commonjs/specs/ARMeasurement.nitro.js.map +1 -0
  32. package/lib/commonjs/specs/ARPlaneAnchor.nitro.js +6 -0
  33. package/lib/commonjs/specs/ARPlaneAnchor.nitro.js.map +1 -0
  34. package/lib/commonjs/specs/ARRaycastResult.nitro.js +6 -0
  35. package/lib/commonjs/specs/ARRaycastResult.nitro.js.map +1 -0
  36. package/lib/commonjs/specs/ARSceneMesh.nitro.js +6 -0
  37. package/lib/commonjs/specs/ARSceneMesh.nitro.js.map +1 -0
  38. package/lib/commonjs/specs/ARSession.nitro.js +6 -0
  39. package/lib/commonjs/specs/ARSession.nitro.js.map +1 -0
  40. package/lib/commonjs/specs/ARView.nitro.js +6 -0
  41. package/lib/commonjs/specs/ARView.nitro.js.map +1 -0
  42. package/lib/commonjs/specs/ARVolume.nitro.js +6 -0
  43. package/lib/commonjs/specs/ARVolume.nitro.js.map +1 -0
  44. package/lib/commonjs/specs/ARWorldMap.nitro.js +6 -0
  45. package/lib/commonjs/specs/ARWorldMap.nitro.js.map +1 -0
  46. package/lib/module/index.js +18 -0
  47. package/lib/module/index.js.map +1 -0
  48. package/lib/module/specs/ARAnchor.nitro.js +4 -0
  49. package/lib/module/specs/ARAnchor.nitro.js.map +1 -0
  50. package/lib/module/specs/ARBoundingBoxBuilder.nitro.js +4 -0
  51. package/lib/module/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
  52. package/lib/module/specs/ARDepthData.nitro.js +4 -0
  53. package/lib/module/specs/ARDepthData.nitro.js.map +1 -0
  54. package/lib/module/specs/ARFrame.nitro.js +4 -0
  55. package/lib/module/specs/ARFrame.nitro.js.map +1 -0
  56. package/lib/module/specs/ARLightEstimate.nitro.js +4 -0
  57. package/lib/module/specs/ARLightEstimate.nitro.js.map +1 -0
  58. package/lib/module/specs/ARMeasurement.nitro.js +4 -0
  59. package/lib/module/specs/ARMeasurement.nitro.js.map +1 -0
  60. package/lib/module/specs/ARPlaneAnchor.nitro.js +4 -0
  61. package/lib/module/specs/ARPlaneAnchor.nitro.js.map +1 -0
  62. package/lib/module/specs/ARRaycastResult.nitro.js +4 -0
  63. package/lib/module/specs/ARRaycastResult.nitro.js.map +1 -0
  64. package/lib/module/specs/ARSceneMesh.nitro.js +4 -0
  65. package/lib/module/specs/ARSceneMesh.nitro.js.map +1 -0
  66. package/lib/module/specs/ARSession.nitro.js +4 -0
  67. package/lib/module/specs/ARSession.nitro.js.map +1 -0
  68. package/lib/module/specs/ARView.nitro.js +4 -0
  69. package/lib/module/specs/ARView.nitro.js.map +1 -0
  70. package/lib/module/specs/ARVolume.nitro.js +4 -0
  71. package/lib/module/specs/ARVolume.nitro.js.map +1 -0
  72. package/lib/module/specs/ARWorldMap.nitro.js +4 -0
  73. package/lib/module/specs/ARWorldMap.nitro.js.map +1 -0
  74. package/lib/typescript/src/index.d.ts +20 -0
  75. package/lib/typescript/src/index.d.ts.map +1 -0
  76. package/lib/typescript/src/specs/ARAnchor.nitro.d.ts +18 -0
  77. package/lib/typescript/src/specs/ARAnchor.nitro.d.ts.map +1 -0
  78. package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts +11 -0
  79. package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts.map +1 -0
  80. package/lib/typescript/src/specs/ARDepthData.nitro.d.ts +26 -0
  81. package/lib/typescript/src/specs/ARDepthData.nitro.d.ts.map +1 -0
  82. package/lib/typescript/src/specs/ARFrame.nitro.d.ts +32 -0
  83. package/lib/typescript/src/specs/ARFrame.nitro.d.ts.map +1 -0
  84. package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts +18 -0
  85. package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts.map +1 -0
  86. package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts +11 -0
  87. package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts.map +1 -0
  88. package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts +32 -0
  89. package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts.map +1 -0
  90. package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts +26 -0
  91. package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts.map +1 -0
  92. package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts +47 -0
  93. package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts.map +1 -0
  94. package/lib/typescript/src/specs/ARSession.nitro.d.ts +75 -0
  95. package/lib/typescript/src/specs/ARSession.nitro.d.ts.map +1 -0
  96. package/lib/typescript/src/specs/ARView.nitro.d.ts +51 -0
  97. package/lib/typescript/src/specs/ARView.nitro.d.ts.map +1 -0
  98. package/lib/typescript/src/specs/ARVolume.nitro.d.ts +14 -0
  99. package/lib/typescript/src/specs/ARVolume.nitro.d.ts.map +1 -0
  100. package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts +17 -0
  101. package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts.map +1 -0
  102. package/nitro.json +23 -0
  103. package/nitrogen/generated/.gitattributes +1 -0
  104. package/nitrogen/generated/ios/NitroAR+autolinking.rb +60 -0
  105. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.cpp +335 -0
  106. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.hpp +934 -0
  107. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Umbrella.hpp +169 -0
  108. package/nitrogen/generated/ios/NitroARAutolinking.mm +49 -0
  109. package/nitrogen/generated/ios/NitroARAutolinking.swift +50 -0
  110. package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.cpp +11 -0
  111. package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.hpp +99 -0
  112. package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.cpp +11 -0
  113. package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.hpp +95 -0
  114. package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.cpp +11 -0
  115. package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.hpp +103 -0
  116. package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.cpp +11 -0
  117. package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.hpp +88 -0
  118. package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.cpp +11 -0
  119. package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.hpp +135 -0
  120. package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.cpp +11 -0
  121. package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.hpp +80 -0
  122. package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.cpp +11 -0
  123. package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.hpp +90 -0
  124. package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.cpp +11 -0
  125. package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.hpp +107 -0
  126. package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.cpp +11 -0
  127. package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.hpp +116 -0
  128. package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.cpp +11 -0
  129. package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.hpp +90 -0
  130. package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.cpp +11 -0
  131. package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.hpp +97 -0
  132. package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.cpp +11 -0
  133. package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.hpp +296 -0
  134. package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.cpp +11 -0
  135. package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.hpp +243 -0
  136. package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.cpp +11 -0
  137. package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.hpp +94 -0
  138. package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.cpp +11 -0
  139. package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.hpp +97 -0
  140. package/nitrogen/generated/ios/c++/views/HybridARViewComponent.mm +152 -0
  141. package/nitrogen/generated/ios/swift/ARSessionConfiguration.swift +189 -0
  142. package/nitrogen/generated/ios/swift/ARViewHitResult.swift +39 -0
  143. package/nitrogen/generated/ios/swift/CameraPose.swift +46 -0
  144. package/nitrogen/generated/ios/swift/EnvironmentTexturing.swift +44 -0
  145. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  146. package/nitrogen/generated/ios/swift/Func_void_TrackingState_TrackingStateReason.swift +46 -0
  147. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  148. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARFrameSpec_.swift +50 -0
  149. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARWorldMapSpec_.swift +50 -0
  150. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__string_.swift +54 -0
  151. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__string_.swift +54 -0
  152. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__string_.swift +54 -0
  153. package/nitrogen/generated/ios/swift/HybridARAnchorSpec.swift +60 -0
  154. package/nitrogen/generated/ios/swift/HybridARAnchorSpec_cxx.swift +192 -0
  155. package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec.swift +56 -0
  156. package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec_cxx.swift +161 -0
  157. package/nitrogen/generated/ios/swift/HybridARDepthDataSpec.swift +59 -0
  158. package/nitrogen/generated/ios/swift/HybridARDepthDataSpec_cxx.swift +188 -0
  159. package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec.swift +57 -0
  160. package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec_cxx.swift +162 -0
  161. package/nitrogen/generated/ios/swift/HybridARFrameSpec.swift +65 -0
  162. package/nitrogen/generated/ios/swift/HybridARFrameSpec_cxx.swift +285 -0
  163. package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec.swift +56 -0
  164. package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec_cxx.swift +140 -0
  165. package/nitrogen/generated/ios/swift/HybridARMeasurementSpec.swift +58 -0
  166. package/nitrogen/generated/ios/swift/HybridARMeasurementSpec_cxx.swift +160 -0
  167. package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec.swift +62 -0
  168. package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec_cxx.swift +212 -0
  169. package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec.swift +62 -0
  170. package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec_cxx.swift +209 -0
  171. package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec.swift +58 -0
  172. package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec_cxx.swift +178 -0
  173. package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec.swift +59 -0
  174. package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec_cxx.swift +179 -0
  175. package/nitrogen/generated/ios/swift/HybridARSessionSpec.swift +78 -0
  176. package/nitrogen/generated/ios/swift/HybridARSessionSpec_cxx.swift +591 -0
  177. package/nitrogen/generated/ios/swift/HybridARViewSpec.swift +78 -0
  178. package/nitrogen/generated/ios/swift/HybridARViewSpec_cxx.swift +561 -0
  179. package/nitrogen/generated/ios/swift/HybridARVolumeSpec.swift +60 -0
  180. package/nitrogen/generated/ios/swift/HybridARVolumeSpec_cxx.swift +180 -0
  181. package/nitrogen/generated/ios/swift/HybridARWorldMapSpec.swift +58 -0
  182. package/nitrogen/generated/ios/swift/HybridARWorldMapSpec_cxx.swift +176 -0
  183. package/nitrogen/generated/ios/swift/LiDARCapabilities.swift +39 -0
  184. package/nitrogen/generated/ios/swift/MeshClassification.swift +64 -0
  185. package/nitrogen/generated/ios/swift/PlaneAlignment.swift +40 -0
  186. package/nitrogen/generated/ios/swift/PlaneClassification.swift +64 -0
  187. package/nitrogen/generated/ios/swift/PlaneDetectionMode.swift +40 -0
  188. package/nitrogen/generated/ios/swift/RaycastAlignment.swift +44 -0
  189. package/nitrogen/generated/ios/swift/RaycastQuery.swift +44 -0
  190. package/nitrogen/generated/ios/swift/RaycastTarget.swift +48 -0
  191. package/nitrogen/generated/ios/swift/SceneReconstructionMode.swift +44 -0
  192. package/nitrogen/generated/ios/swift/TrackingState.swift +44 -0
  193. package/nitrogen/generated/ios/swift/TrackingStateReason.swift +52 -0
  194. package/nitrogen/generated/ios/swift/WorldAlignment.swift +44 -0
  195. package/nitrogen/generated/ios/swift/WorldMappingStatus.swift +48 -0
  196. package/nitrogen/generated/shared/c++/ARSessionConfiguration.hpp +132 -0
  197. package/nitrogen/generated/shared/c++/ARViewHitResult.hpp +91 -0
  198. package/nitrogen/generated/shared/c++/CameraPose.hpp +87 -0
  199. package/nitrogen/generated/shared/c++/EnvironmentTexturing.hpp +80 -0
  200. package/nitrogen/generated/shared/c++/HybridARAnchorSpec.cpp +26 -0
  201. package/nitrogen/generated/shared/c++/HybridARAnchorSpec.hpp +69 -0
  202. package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.cpp +23 -0
  203. package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.hpp +68 -0
  204. package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.cpp +26 -0
  205. package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.hpp +66 -0
  206. package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.cpp +24 -0
  207. package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.hpp +67 -0
  208. package/nitrogen/generated/shared/c++/HybridARFrameSpec.cpp +32 -0
  209. package/nitrogen/generated/shared/c++/HybridARFrameSpec.hpp +83 -0
  210. package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.cpp +22 -0
  211. package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.hpp +63 -0
  212. package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.cpp +24 -0
  213. package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.hpp +67 -0
  214. package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.cpp +28 -0
  215. package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.hpp +72 -0
  216. package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.cpp +28 -0
  217. package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.hpp +79 -0
  218. package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.cpp +24 -0
  219. package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.hpp +65 -0
  220. package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.cpp +25 -0
  221. package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.hpp +70 -0
  222. package/nitrogen/generated/shared/c++/HybridARSessionSpec.cpp +45 -0
  223. package/nitrogen/generated/shared/c++/HybridARSessionSpec.hpp +131 -0
  224. package/nitrogen/generated/shared/c++/HybridARViewSpec.cpp +55 -0
  225. package/nitrogen/generated/shared/c++/HybridARViewSpec.hpp +101 -0
  226. package/nitrogen/generated/shared/c++/HybridARVolumeSpec.cpp +26 -0
  227. package/nitrogen/generated/shared/c++/HybridARVolumeSpec.hpp +67 -0
  228. package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.cpp +25 -0
  229. package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.hpp +66 -0
  230. package/nitrogen/generated/shared/c++/LiDARCapabilities.hpp +91 -0
  231. package/nitrogen/generated/shared/c++/MeshClassification.hpp +100 -0
  232. package/nitrogen/generated/shared/c++/PlaneAlignment.hpp +76 -0
  233. package/nitrogen/generated/shared/c++/PlaneClassification.hpp +100 -0
  234. package/nitrogen/generated/shared/c++/PlaneDetectionMode.hpp +76 -0
  235. package/nitrogen/generated/shared/c++/RaycastAlignment.hpp +80 -0
  236. package/nitrogen/generated/shared/c++/RaycastQuery.hpp +99 -0
  237. package/nitrogen/generated/shared/c++/RaycastTarget.hpp +84 -0
  238. package/nitrogen/generated/shared/c++/SceneReconstructionMode.hpp +80 -0
  239. package/nitrogen/generated/shared/c++/TrackingState.hpp +80 -0
  240. package/nitrogen/generated/shared/c++/TrackingStateReason.hpp +88 -0
  241. package/nitrogen/generated/shared/c++/WorldAlignment.hpp +80 -0
  242. package/nitrogen/generated/shared/c++/WorldMappingStatus.hpp +84 -0
  243. package/nitrogen/generated/shared/c++/views/HybridARViewComponent.cpp +182 -0
  244. package/nitrogen/generated/shared/c++/views/HybridARViewComponent.hpp +120 -0
  245. package/nitrogen/generated/shared/json/ARViewConfig.json +19 -0
  246. package/package.json +98 -0
  247. package/react-native-nitro-ar.podspec +40 -0
  248. package/src/index.ts +60 -0
  249. package/src/specs/ARAnchor.nitro.ts +21 -0
  250. package/src/specs/ARBoundingBoxBuilder.nitro.ts +11 -0
  251. package/src/specs/ARDepthData.nitro.ts +29 -0
  252. package/src/specs/ARFrame.nitro.ts +41 -0
  253. package/src/specs/ARLightEstimate.nitro.ts +20 -0
  254. package/src/specs/ARMeasurement.nitro.ts +10 -0
  255. package/src/specs/ARPlaneAnchor.nitro.ts +46 -0
  256. package/src/specs/ARRaycastResult.nitro.ts +32 -0
  257. package/src/specs/ARSceneMesh.nitro.ts +63 -0
  258. package/src/specs/ARSession.nitro.ts +112 -0
  259. package/src/specs/ARView.nitro.ts +84 -0
  260. package/src/specs/ARVolume.nitro.ts +15 -0
  261. package/src/specs/ARWorldMap.nitro.ts +20 -0
@@ -0,0 +1,40 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "react-native-nitro-ar"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ # Swift module name must match nitrogen's iosModuleName
14
+ s.module_name = "NitroAR"
15
+
16
+ s.platforms = { :ios => '16.0', :visionos => 1.0 }
17
+ s.source = { :git => "https://github.com/vineyardbovines/react-native-nitro-ar.git", :tag => "#{s.version}" }
18
+
19
+ s.source_files = [
20
+ # Implementation (Swift)
21
+ "ios/**/*.{swift}",
22
+ # Autolinking/Registration (Objective-C++)
23
+ "ios/**/*.{m,mm}",
24
+ # Implementation (C++ objects)
25
+ "cpp/**/*.{hpp,cpp}",
26
+ ]
27
+
28
+ s.frameworks = [
29
+ 'ARKit',
30
+ 'SceneKit',
31
+ 'UIKit',
32
+ ]
33
+
34
+ load 'nitrogen/generated/ios/NitroAR+autolinking.rb'
35
+ add_nitrogen_files(s)
36
+
37
+ s.dependency 'React-jsi'
38
+ s.dependency 'React-callinvoker'
39
+ install_modules_dependencies(s)
40
+ end
package/src/index.ts ADDED
@@ -0,0 +1,60 @@
1
+ import { getHostComponent, NitroModules } from "react-native-nitro-modules";
2
+ import ARViewConfig from "../nitrogen/generated/shared/json/ARViewConfig.json";
3
+ import type { ARBoundingBoxBuilder } from "./specs/ARBoundingBoxBuilder.nitro";
4
+ import type { ARSession } from "./specs/ARSession.nitro";
5
+ import type { ARViewMethods, ARViewProps } from "./specs/ARView.nitro";
6
+
7
+ export type { ARAnchor } from "./specs/ARAnchor.nitro";
8
+ export type { ARBoundingBoxBuilder } from "./specs/ARBoundingBoxBuilder.nitro";
9
+ export type { ARDepthData } from "./specs/ARDepthData.nitro";
10
+ export type { ARFrame } from "./specs/ARFrame.nitro";
11
+ export type {
12
+ ARDirectionalLightEstimate,
13
+ ARLightEstimate,
14
+ } from "./specs/ARLightEstimate.nitro";
15
+ export type { ARMeasurement } from "./specs/ARMeasurement.nitro";
16
+
17
+ export type {
18
+ ARPlaneAnchor,
19
+ ARPlaneGeometry,
20
+ PlaneAlignment,
21
+ PlaneClassification,
22
+ } from "./specs/ARPlaneAnchor.nitro";
23
+ export type {
24
+ ARRaycastResult,
25
+ RaycastAlignment,
26
+ RaycastQuery,
27
+ RaycastTarget,
28
+ } from "./specs/ARRaycastResult.nitro";
29
+ export type {
30
+ ARMeshAnchor,
31
+ LiDARCapabilities,
32
+ MeshClassification,
33
+ SceneReconstructionMode,
34
+ } from "./specs/ARSceneMesh.nitro";
35
+ // Re-export all types
36
+ export type {
37
+ ARSession,
38
+ ARSessionConfiguration,
39
+ CameraPose,
40
+ EnvironmentTexturing,
41
+ PlaneDetectionMode,
42
+ TrackingState,
43
+ TrackingStateReason,
44
+ WorldAlignment,
45
+ } from "./specs/ARSession.nitro";
46
+ export type { ARViewHitResult, ARViewMethods, ARViewProps } from "./specs/ARView.nitro";
47
+ export type { ARVolume } from "./specs/ARVolume.nitro";
48
+ export type { ARWorldMap, WorldMappingStatus } from "./specs/ARWorldMap.nitro";
49
+
50
+ // ARView Component
51
+ export const ARView = getHostComponent<ARViewProps, ARViewMethods>("ARView", () => ARViewConfig);
52
+
53
+ // Factory functions
54
+ export function createARSession(): ARSession {
55
+ return NitroModules.createHybridObject<ARSession>("ARSession");
56
+ }
57
+
58
+ export function createARBoundingBoxBuilder(): ARBoundingBoxBuilder {
59
+ return NitroModules.createHybridObject<ARBoundingBoxBuilder>("ARBoundingBoxBuilder");
60
+ }
@@ -0,0 +1,21 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export interface ARAnchor extends HybridObject<{ ios: "swift" }> {
4
+ /** Unique identifier */
5
+ readonly identifier: string;
6
+
7
+ /** Position in world coordinates [x, y, z] */
8
+ readonly position: number[];
9
+
10
+ /** Rotation as quaternion [x, y, z, w] */
11
+ readonly rotation: number[];
12
+
13
+ /** Full 4x4 transform matrix (column-major, 16 values) */
14
+ readonly transform: number[];
15
+
16
+ /** Whether anchor is currently being tracked */
17
+ readonly isTracked: boolean;
18
+
19
+ /** Optional label for user-created anchors */
20
+ readonly label: string | undefined;
21
+ }
@@ -0,0 +1,11 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ import type { ARAnchor } from "./ARAnchor.nitro";
3
+ import type { ARVolume } from "./ARVolume.nitro";
4
+
5
+ export interface ARBoundingBoxBuilder extends HybridObject<{ ios: "swift" }> {
6
+ addBaseAnchor(anchor: ARAnchor): void;
7
+
8
+ readonly canBuild: boolean;
9
+
10
+ build(): ARVolume;
11
+ }
@@ -0,0 +1,29 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export interface ARDepthData extends HybridObject<{ ios: "swift" }> {
4
+ /** Width of the depth map in pixels */
5
+ readonly width: number;
6
+
7
+ /** Height of the depth map in pixels */
8
+ readonly height: number;
9
+
10
+ /**
11
+ * Depth values in meters (row-major, width * height floats).
12
+ * Values are distance from camera plane.
13
+ */
14
+ readonly depthMap: number[];
15
+
16
+ /**
17
+ * Confidence values (0-2):
18
+ * 0 = low confidence
19
+ * 1 = medium confidence
20
+ * 2 = high confidence
21
+ */
22
+ readonly confidenceMap: number[];
23
+
24
+ /** Get depth at normalized screen coordinate (0-1) */
25
+ getDepthAt(x: number, y: number): number;
26
+
27
+ /** Get confidence at normalized screen coordinate (0-1) */
28
+ getConfidenceAt(x: number, y: number): number;
29
+ }
@@ -0,0 +1,41 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ import type { ARDepthData } from "./ARDepthData.nitro";
3
+ import type { ARDirectionalLightEstimate, ARLightEstimate } from "./ARLightEstimate.nitro";
4
+
5
+ export interface ARFrame extends HybridObject<{ ios: "swift" }> {
6
+ /** Timestamp of this frame in seconds */
7
+ readonly timestamp: number;
8
+
9
+ /** Camera position in world space [x, y, z] */
10
+ readonly cameraPosition: number[];
11
+
12
+ /** Camera rotation as quaternion [x, y, z, w] */
13
+ readonly cameraRotation: number[];
14
+
15
+ /** Camera projection matrix (4x4, column-major, 16 values) */
16
+ readonly projectionMatrix: number[];
17
+
18
+ /** Camera view matrix (4x4, column-major, 16 values) */
19
+ readonly viewMatrix: number[];
20
+
21
+ /** Camera intrinsics [fx, fy, cx, cy] */
22
+ readonly cameraIntrinsics: number[];
23
+
24
+ /** Image resolution [width, height] */
25
+ readonly imageResolution: number[];
26
+
27
+ /** Light estimate if available */
28
+ readonly lightEstimate: ARLightEstimate | undefined;
29
+
30
+ /** Directional light estimate (face tracking only) */
31
+ readonly directionalLightEstimate: ARDirectionalLightEstimate | undefined;
32
+
33
+ /** Scene depth data if available (requires LiDAR) */
34
+ readonly sceneDepth: ARDepthData | undefined;
35
+
36
+ /** Smoothed scene depth if available */
37
+ readonly smoothedSceneDepth: ARDepthData | undefined;
38
+
39
+ /** Captured image as base64 JPEG (quality 0-1) */
40
+ getCapturedImage(quality: number): string;
41
+ }
@@ -0,0 +1,20 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export interface ARLightEstimate extends HybridObject<{ ios: "swift" }> {
4
+ /** Ambient light intensity in lumens (0-2000 typical) */
5
+ readonly ambientIntensity: number;
6
+
7
+ /** Color temperature in Kelvin (6500 = neutral daylight) */
8
+ readonly ambientColorTemperature: number;
9
+ }
10
+
11
+ export interface ARDirectionalLightEstimate extends ARLightEstimate {
12
+ /** Primary light direction as normalized vector [x, y, z] */
13
+ readonly primaryLightDirection: number[];
14
+
15
+ /** Primary light intensity in lumens */
16
+ readonly primaryLightIntensity: number;
17
+
18
+ /** Spherical harmonics coefficients for advanced lighting (27 values: 9 RGB triplets) */
19
+ readonly sphericalHarmonicsCoefficients: number[];
20
+ }
@@ -0,0 +1,10 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ import type { ARAnchor } from "./ARAnchor.nitro";
3
+
4
+ export interface ARMeasurement extends HybridObject<{ ios: "swift" }> {
5
+ readonly start: ARAnchor;
6
+ readonly end: ARAnchor;
7
+
8
+ readonly length: number;
9
+ readonly isValid: boolean;
10
+ }
@@ -0,0 +1,46 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export type PlaneAlignment = "horizontal" | "vertical";
4
+ export type PlaneClassification =
5
+ | "none"
6
+ | "wall"
7
+ | "floor"
8
+ | "ceiling"
9
+ | "table"
10
+ | "seat"
11
+ | "window"
12
+ | "door";
13
+
14
+ export interface ARPlaneGeometry extends HybridObject<{ ios: "swift" }> {
15
+ /** Vertices of the plane mesh (flattened [x,y,z, x,y,z, ...]) */
16
+ readonly vertices: number[];
17
+
18
+ /** Texture coordinates (flattened [u,v, u,v, ...]) */
19
+ readonly textureCoordinates: number[];
20
+
21
+ /** Triangle indices */
22
+ readonly triangleIndices: number[];
23
+
24
+ /** Boundary polygon vertices (flattened [x,z, x,z, ...] in local plane space) */
25
+ readonly boundaryVertices: number[];
26
+ }
27
+
28
+ export interface ARPlaneAnchor extends HybridObject<{ ios: "swift" }> {
29
+ readonly identifier: string;
30
+
31
+ /** Position [x, y, z] */
32
+ readonly position: number[];
33
+ /** Rotation as quaternion [x, y, z, w] */
34
+ readonly rotation: number[];
35
+
36
+ readonly alignment: PlaneAlignment;
37
+ readonly classification: PlaneClassification;
38
+
39
+ /** Plane extent in meters [width, height] */
40
+ readonly extent: number[];
41
+
42
+ /** Center offset from anchor position [x, y, z] */
43
+ readonly center: number[];
44
+
45
+ readonly geometry: ARPlaneGeometry;
46
+ }
@@ -0,0 +1,32 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export type RaycastTarget =
4
+ | "existingPlaneGeometry"
5
+ | "existingPlaneInfinite"
6
+ | "estimatedPlane"
7
+ | "any";
8
+
9
+ export type RaycastAlignment = "horizontal" | "vertical" | "any";
10
+
11
+ export interface RaycastQuery {
12
+ /** Screen X coordinate (0-1 normalized or pixel) */
13
+ x: number;
14
+ /** Screen Y coordinate (0-1 normalized or pixel) */
15
+ y: number;
16
+ /** What surfaces to hit */
17
+ target: RaycastTarget;
18
+ /** Plane alignment filter */
19
+ alignment: RaycastAlignment;
20
+ }
21
+
22
+ export interface ARRaycastResult extends HybridObject<{ ios: "swift" }> {
23
+ /** Position [x, y, z] */
24
+ readonly position: number[];
25
+ /** Rotation as quaternion [x, y, z, w] */
26
+ readonly rotation: number[];
27
+ readonly distance: number;
28
+ readonly target: RaycastTarget;
29
+
30
+ /** Anchor identifier if hit an existing plane */
31
+ readonly anchorId: string | undefined;
32
+ }
@@ -0,0 +1,63 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ /** Classification of mesh faces */
4
+ export type MeshClassification =
5
+ | "none"
6
+ | "wall"
7
+ | "floor"
8
+ | "ceiling"
9
+ | "table"
10
+ | "seat"
11
+ | "window"
12
+ | "door";
13
+
14
+ /** A single mesh anchor from scene reconstruction */
15
+ export interface ARMeshAnchor extends HybridObject<{ ios: "swift" }> {
16
+ /** Unique identifier */
17
+ readonly identifier: string;
18
+
19
+ /** Transform matrix (4x4, column-major) */
20
+ readonly transform: number[];
21
+
22
+ /** Number of vertices */
23
+ readonly vertexCount: number;
24
+
25
+ /** Number of faces (triangles) */
26
+ readonly faceCount: number;
27
+
28
+ /**
29
+ * Vertex positions as flat array [x1,y1,z1, x2,y2,z2, ...]
30
+ * Positions are in local anchor space
31
+ */
32
+ readonly vertices: number[];
33
+
34
+ /**
35
+ * Face indices as flat array [a1,b1,c1, a2,b2,c2, ...]
36
+ * Each triplet defines a triangle
37
+ */
38
+ readonly faces: number[];
39
+
40
+ /**
41
+ * Vertex normals as flat array [nx1,ny1,nz1, ...]
42
+ */
43
+ readonly normals: number[];
44
+
45
+ /**
46
+ * Classification for each face (if available)
47
+ * Only populated when sceneReconstruction includes classification
48
+ */
49
+ readonly classifications: MeshClassification[];
50
+ }
51
+
52
+ /** Scene reconstruction mode */
53
+ export type SceneReconstructionMode = "none" | "mesh" | "meshWithClassification";
54
+
55
+ /** LiDAR capabilities info */
56
+ export interface LiDARCapabilities {
57
+ /** Device has LiDAR sensor */
58
+ readonly isAvailable: boolean;
59
+ /** Scene reconstruction is supported */
60
+ readonly supportsSceneReconstruction: boolean;
61
+ /** Scene depth is supported */
62
+ readonly supportsSceneDepth: boolean;
63
+ }
@@ -0,0 +1,112 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ import type { ARAnchor } from "./ARAnchor.nitro";
3
+ import type { ARFrame } from "./ARFrame.nitro";
4
+ import type { ARMeasurement } from "./ARMeasurement.nitro";
5
+ import type { ARPlaneAnchor } from "./ARPlaneAnchor.nitro";
6
+ import type { ARRaycastResult, RaycastQuery } from "./ARRaycastResult.nitro";
7
+ import type { ARMeshAnchor, LiDARCapabilities, SceneReconstructionMode } from "./ARSceneMesh.nitro";
8
+ import type { ARWorldMap, WorldMappingStatus } from "./ARWorldMap.nitro";
9
+
10
+ export interface CameraPose {
11
+ /** Position [x, y, z] */
12
+ position: number[];
13
+ /** Rotation as quaternion [x, y, z, w] */
14
+ rotation: number[];
15
+ }
16
+
17
+ export type TrackingState = "notAvailable" | "limited" | "normal";
18
+
19
+ export type TrackingStateReason =
20
+ | "none"
21
+ | "initializing"
22
+ | "excessiveMotion"
23
+ | "insufficientFeatures"
24
+ | "relocalizing";
25
+
26
+ export type PlaneDetectionMode = "horizontal" | "vertical";
27
+ export type EnvironmentTexturing = "none" | "manual" | "automatic";
28
+ export type WorldAlignment = "gravity" | "gravityAndHeading" | "camera";
29
+
30
+ export interface ARSessionConfiguration {
31
+ /** Enable plane detection */
32
+ planeDetection?: PlaneDetectionMode[];
33
+ /** Enable light estimation */
34
+ lightEstimation?: boolean;
35
+ /** Enable scene depth (requires LiDAR) */
36
+ sceneDepth?: boolean;
37
+ /** Enable smoothed scene depth */
38
+ smoothedSceneDepth?: boolean;
39
+ /** Enable environment texturing */
40
+ environmentTexturing?: EnvironmentTexturing;
41
+ /** Enable world map for relocalization */
42
+ worldAlignment?: WorldAlignment;
43
+ /** Initial world map data (base64) for relocalization */
44
+ initialWorldMap?: string;
45
+ /** Enable scene reconstruction/mesh (requires LiDAR) */
46
+ sceneReconstruction?: SceneReconstructionMode;
47
+ /** Enable people occlusion */
48
+ peopleOcclusion?: boolean;
49
+ /** Enable object occlusion (requires LiDAR scene reconstruction) */
50
+ objectOcclusion?: boolean;
51
+ }
52
+
53
+ export interface ARSession extends HybridObject<{ ios: "swift" }> {
54
+ // Lifecycle
55
+ start(config?: ARSessionConfiguration): void;
56
+ pause(): void;
57
+ reset(): void;
58
+
59
+ // State
60
+ readonly trackingState: TrackingState;
61
+ readonly trackingStateReason: TrackingStateReason;
62
+ readonly worldMappingStatus: WorldMappingStatus;
63
+ readonly isRunning: boolean;
64
+
65
+ // Camera
66
+ getCameraPose(): CameraPose;
67
+ readonly currentFrame: ARFrame | undefined;
68
+
69
+ // Raycasting
70
+ raycast(x: number, y: number): ARRaycastResult | undefined;
71
+ raycastWithQuery(query: RaycastQuery): ARRaycastResult[];
72
+
73
+ // Anchors
74
+ createAnchor(hit: ARRaycastResult): ARAnchor;
75
+ /** Create anchor at position [x,y,z] with optional rotation quaternion [x,y,z,w] */
76
+ createAnchorAtPosition(position: number[], rotation?: number[]): ARAnchor;
77
+ removeAnchor(anchor: ARAnchor): void;
78
+ readonly anchors: ARAnchor[];
79
+
80
+ // Planes
81
+ readonly planeAnchors: ARPlaneAnchor[];
82
+
83
+ // Measurements
84
+ createMeasurement(start: ARAnchor, end: ARAnchor): ARMeasurement;
85
+
86
+ // World Map Persistence
87
+ getCurrentWorldMap(): Promise<ARWorldMap>;
88
+
89
+ // Callbacks
90
+ onFrameUpdate(callback: (frame: ARFrame) => void): () => void;
91
+ onTrackingStateChanged(
92
+ callback: (state: TrackingState, reason: TrackingStateReason) => void
93
+ ): () => void;
94
+ onAnchorsUpdated(
95
+ callback: (added: ARAnchor[], updated: ARAnchor[], removed: string[]) => void
96
+ ): () => void;
97
+ onPlanesUpdated(
98
+ callback: (added: ARPlaneAnchor[], updated: ARPlaneAnchor[], removed: string[]) => void
99
+ ): () => void;
100
+
101
+ // LiDAR / Scene Mesh
102
+ /** Check LiDAR capabilities on this device */
103
+ getLiDARCapabilities(): LiDARCapabilities;
104
+
105
+ /** Get current mesh anchors (requires sceneReconstruction enabled) */
106
+ readonly meshAnchors: ARMeshAnchor[];
107
+
108
+ /** Callback when mesh anchors are updated */
109
+ onMeshUpdated(
110
+ callback: (added: ARMeshAnchor[], updated: ARMeshAnchor[], removed: string[]) => void
111
+ ): () => void;
112
+ }
@@ -0,0 +1,84 @@
1
+ import type { HybridView, HybridViewMethods, HybridViewProps } from "react-native-nitro-modules";
2
+ import type { SceneReconstructionMode } from "./ARSceneMesh.nitro";
3
+
4
+ export interface ARViewHitResult {
5
+ x: number;
6
+ y: number;
7
+ z: number;
8
+ }
9
+
10
+ export interface ARViewProps extends HybridViewProps {
11
+ /** Enable debug visualization (feature points, world origin) */
12
+ showDebugOptions?: boolean;
13
+ /** Enable plane detection visualization */
14
+ showPlanes?: boolean;
15
+ /** Enable feature point visualization */
16
+ showFeaturePoints?: boolean;
17
+ /** Enable world origin visualization */
18
+ showWorldOrigin?: boolean;
19
+ /** Enable automatic lighting */
20
+ autoenablesDefaultLighting?: boolean;
21
+
22
+ // LiDAR Features
23
+ /** Enable scene mesh reconstruction (requires LiDAR) */
24
+ sceneReconstruction?: SceneReconstructionMode;
25
+ /** Show the scene mesh wireframe for debugging */
26
+ showSceneMesh?: boolean;
27
+ /** Enable scene depth (requires LiDAR) */
28
+ sceneDepth?: boolean;
29
+ /** Enable object occlusion using scene mesh */
30
+ objectOcclusion?: boolean;
31
+ /** Enable people occlusion */
32
+ peopleOcclusion?: boolean;
33
+ }
34
+
35
+ export interface ARViewMethods extends HybridViewMethods {
36
+ // Measurement visualization
37
+ addMeasurementPoint(id: string, x: number, y: number, z: number, color?: string): void;
38
+ removeMeasurementPoint(id: string): void;
39
+ updateMeasurementPoint(id: string, x: number, y: number, z: number): void;
40
+
41
+ // Line visualization
42
+ addLine(
43
+ id: string,
44
+ fromX: number,
45
+ fromY: number,
46
+ fromZ: number,
47
+ toX: number,
48
+ toY: number,
49
+ toZ: number,
50
+ color?: string
51
+ ): void;
52
+ updateLine(
53
+ id: string,
54
+ fromX: number,
55
+ fromY: number,
56
+ fromZ: number,
57
+ toX: number,
58
+ toY: number,
59
+ toZ: number
60
+ ): void;
61
+ removeLine(id: string): void;
62
+
63
+ // Label visualization
64
+ addDistanceLabel(id: string, x: number, y: number, z: number, distance: number): void;
65
+ updateDistanceLabel(id: string, x: number, y: number, z: number, distance: number): void;
66
+ removeDistanceLabel(id: string): void;
67
+
68
+ // Clear all visuals
69
+ clearAllVisuals(): void;
70
+
71
+ // Raycast from screen point (normalized 0-1)
72
+ raycast(x: number, y: number): ARViewHitResult | undefined;
73
+
74
+ // Session control (the view manages its own session)
75
+ startSession(): void;
76
+ pauseSession(): void;
77
+ resetSession(): void;
78
+
79
+ // LiDAR
80
+ /** Check if LiDAR is available on this device */
81
+ isLiDARAvailable(): boolean;
82
+ }
83
+
84
+ export type ARView = HybridView<ARViewProps, ARViewMethods, { ios: "swift" }>;
@@ -0,0 +1,15 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export interface ARVolume extends HybridObject<{ ios: "swift" }> {
4
+ /** Center position [x, y, z] */
5
+ readonly center: number[];
6
+
7
+ readonly width: number;
8
+ readonly height: number;
9
+ readonly depth: number;
10
+
11
+ /** Rotation as quaternion [x, y, z, w] */
12
+ readonly rotation: number[];
13
+
14
+ readonly isStable: boolean;
15
+ }
@@ -0,0 +1,20 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+
3
+ export type WorldMappingStatus = "notAvailable" | "limited" | "extending" | "mapped";
4
+
5
+ export interface ARWorldMap extends HybridObject<{ ios: "swift" }> {
6
+ /** Unique identifier for this world map */
7
+ readonly identifier: string;
8
+
9
+ /** Center of the mapped area in world coordinates [x, y, z] */
10
+ readonly center: number[];
11
+
12
+ /** Approximate extent/radius of the mapped area in meters [x, y, z] */
13
+ readonly extent: number[];
14
+
15
+ /** Number of anchors stored in this world map */
16
+ readonly anchorCount: number;
17
+
18
+ /** Serialized world map data as base64 string */
19
+ getData(): string;
20
+ }