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.
- package/README.md +347 -0
- package/app.plugin.js +24 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridARAnchor.swift +58 -0
- package/ios/HybridARBoundingBoxBuilder.swift +142 -0
- package/ios/HybridARDepthData.swift +138 -0
- package/ios/HybridARFrame.swift +121 -0
- package/ios/HybridARLightEstimate.swift +58 -0
- package/ios/HybridARMeasurement.swift +33 -0
- package/ios/HybridARMeshAnchor.swift +108 -0
- package/ios/HybridARPlaneAnchor.swift +114 -0
- package/ios/HybridARRaycastResult.swift +53 -0
- package/ios/HybridARSession.swift +505 -0
- package/ios/HybridARView.swift +725 -0
- package/ios/HybridARVolume.swift +52 -0
- package/ios/HybridARWorldMap.swift +55 -0
- package/lib/commonjs/index.js +24 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +3 -0
- package/lib/commonjs/specs/ARAnchor.nitro.js +6 -0
- package/lib/commonjs/specs/ARAnchor.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js +6 -0
- package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARDepthData.nitro.js +6 -0
- package/lib/commonjs/specs/ARDepthData.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARFrame.nitro.js +6 -0
- package/lib/commonjs/specs/ARFrame.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARLightEstimate.nitro.js +6 -0
- package/lib/commonjs/specs/ARLightEstimate.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARMeasurement.nitro.js +6 -0
- package/lib/commonjs/specs/ARMeasurement.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARPlaneAnchor.nitro.js +6 -0
- package/lib/commonjs/specs/ARPlaneAnchor.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARRaycastResult.nitro.js +6 -0
- package/lib/commonjs/specs/ARRaycastResult.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARSceneMesh.nitro.js +6 -0
- package/lib/commonjs/specs/ARSceneMesh.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARSession.nitro.js +6 -0
- package/lib/commonjs/specs/ARSession.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARView.nitro.js +6 -0
- package/lib/commonjs/specs/ARView.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARVolume.nitro.js +6 -0
- package/lib/commonjs/specs/ARVolume.nitro.js.map +1 -0
- package/lib/commonjs/specs/ARWorldMap.nitro.js +6 -0
- package/lib/commonjs/specs/ARWorldMap.nitro.js.map +1 -0
- package/lib/module/index.js +18 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/specs/ARAnchor.nitro.js +4 -0
- package/lib/module/specs/ARAnchor.nitro.js.map +1 -0
- package/lib/module/specs/ARBoundingBoxBuilder.nitro.js +4 -0
- package/lib/module/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
- package/lib/module/specs/ARDepthData.nitro.js +4 -0
- package/lib/module/specs/ARDepthData.nitro.js.map +1 -0
- package/lib/module/specs/ARFrame.nitro.js +4 -0
- package/lib/module/specs/ARFrame.nitro.js.map +1 -0
- package/lib/module/specs/ARLightEstimate.nitro.js +4 -0
- package/lib/module/specs/ARLightEstimate.nitro.js.map +1 -0
- package/lib/module/specs/ARMeasurement.nitro.js +4 -0
- package/lib/module/specs/ARMeasurement.nitro.js.map +1 -0
- package/lib/module/specs/ARPlaneAnchor.nitro.js +4 -0
- package/lib/module/specs/ARPlaneAnchor.nitro.js.map +1 -0
- package/lib/module/specs/ARRaycastResult.nitro.js +4 -0
- package/lib/module/specs/ARRaycastResult.nitro.js.map +1 -0
- package/lib/module/specs/ARSceneMesh.nitro.js +4 -0
- package/lib/module/specs/ARSceneMesh.nitro.js.map +1 -0
- package/lib/module/specs/ARSession.nitro.js +4 -0
- package/lib/module/specs/ARSession.nitro.js.map +1 -0
- package/lib/module/specs/ARView.nitro.js +4 -0
- package/lib/module/specs/ARView.nitro.js.map +1 -0
- package/lib/module/specs/ARVolume.nitro.js +4 -0
- package/lib/module/specs/ARVolume.nitro.js.map +1 -0
- package/lib/module/specs/ARWorldMap.nitro.js +4 -0
- package/lib/module/specs/ARWorldMap.nitro.js.map +1 -0
- package/lib/typescript/src/index.d.ts +20 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARAnchor.nitro.d.ts +18 -0
- package/lib/typescript/src/specs/ARAnchor.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts +11 -0
- package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARDepthData.nitro.d.ts +26 -0
- package/lib/typescript/src/specs/ARDepthData.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARFrame.nitro.d.ts +32 -0
- package/lib/typescript/src/specs/ARFrame.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts +18 -0
- package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts +11 -0
- package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts +32 -0
- package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts +26 -0
- package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts +47 -0
- package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARSession.nitro.d.ts +75 -0
- package/lib/typescript/src/specs/ARSession.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARView.nitro.d.ts +51 -0
- package/lib/typescript/src/specs/ARView.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARVolume.nitro.d.ts +14 -0
- package/lib/typescript/src/specs/ARVolume.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts +17 -0
- package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/ios/NitroAR+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.cpp +335 -0
- package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.hpp +934 -0
- package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Umbrella.hpp +169 -0
- package/nitrogen/generated/ios/NitroARAutolinking.mm +49 -0
- package/nitrogen/generated/ios/NitroARAutolinking.swift +50 -0
- package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.hpp +99 -0
- package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.hpp +95 -0
- package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.hpp +103 -0
- package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.hpp +88 -0
- package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.hpp +135 -0
- package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.hpp +80 -0
- package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.hpp +90 -0
- package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.hpp +107 -0
- package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.hpp +116 -0
- package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.hpp +90 -0
- package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.hpp +97 -0
- package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.hpp +296 -0
- package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.hpp +243 -0
- package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.hpp +94 -0
- package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.hpp +97 -0
- package/nitrogen/generated/ios/c++/views/HybridARViewComponent.mm +152 -0
- package/nitrogen/generated/ios/swift/ARSessionConfiguration.swift +189 -0
- package/nitrogen/generated/ios/swift/ARViewHitResult.swift +39 -0
- package/nitrogen/generated/ios/swift/CameraPose.swift +46 -0
- package/nitrogen/generated/ios/swift/EnvironmentTexturing.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_TrackingState_TrackingStateReason.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARFrameSpec_.swift +50 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARWorldMapSpec_.swift +50 -0
- 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
- 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
- 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
- package/nitrogen/generated/ios/swift/HybridARAnchorSpec.swift +60 -0
- package/nitrogen/generated/ios/swift/HybridARAnchorSpec_cxx.swift +192 -0
- package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec_cxx.swift +161 -0
- package/nitrogen/generated/ios/swift/HybridARDepthDataSpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridARDepthDataSpec_cxx.swift +188 -0
- package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec.swift +57 -0
- package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec_cxx.swift +162 -0
- package/nitrogen/generated/ios/swift/HybridARFrameSpec.swift +65 -0
- package/nitrogen/generated/ios/swift/HybridARFrameSpec_cxx.swift +285 -0
- package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec_cxx.swift +140 -0
- package/nitrogen/generated/ios/swift/HybridARMeasurementSpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridARMeasurementSpec_cxx.swift +160 -0
- package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec.swift +62 -0
- package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec_cxx.swift +212 -0
- package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec.swift +62 -0
- package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec_cxx.swift +209 -0
- package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec_cxx.swift +178 -0
- package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec_cxx.swift +179 -0
- package/nitrogen/generated/ios/swift/HybridARSessionSpec.swift +78 -0
- package/nitrogen/generated/ios/swift/HybridARSessionSpec_cxx.swift +591 -0
- package/nitrogen/generated/ios/swift/HybridARViewSpec.swift +78 -0
- package/nitrogen/generated/ios/swift/HybridARViewSpec_cxx.swift +561 -0
- package/nitrogen/generated/ios/swift/HybridARVolumeSpec.swift +60 -0
- package/nitrogen/generated/ios/swift/HybridARVolumeSpec_cxx.swift +180 -0
- package/nitrogen/generated/ios/swift/HybridARWorldMapSpec.swift +58 -0
- package/nitrogen/generated/ios/swift/HybridARWorldMapSpec_cxx.swift +176 -0
- package/nitrogen/generated/ios/swift/LiDARCapabilities.swift +39 -0
- package/nitrogen/generated/ios/swift/MeshClassification.swift +64 -0
- package/nitrogen/generated/ios/swift/PlaneAlignment.swift +40 -0
- package/nitrogen/generated/ios/swift/PlaneClassification.swift +64 -0
- package/nitrogen/generated/ios/swift/PlaneDetectionMode.swift +40 -0
- package/nitrogen/generated/ios/swift/RaycastAlignment.swift +44 -0
- package/nitrogen/generated/ios/swift/RaycastQuery.swift +44 -0
- package/nitrogen/generated/ios/swift/RaycastTarget.swift +48 -0
- package/nitrogen/generated/ios/swift/SceneReconstructionMode.swift +44 -0
- package/nitrogen/generated/ios/swift/TrackingState.swift +44 -0
- package/nitrogen/generated/ios/swift/TrackingStateReason.swift +52 -0
- package/nitrogen/generated/ios/swift/WorldAlignment.swift +44 -0
- package/nitrogen/generated/ios/swift/WorldMappingStatus.swift +48 -0
- package/nitrogen/generated/shared/c++/ARSessionConfiguration.hpp +132 -0
- package/nitrogen/generated/shared/c++/ARViewHitResult.hpp +91 -0
- package/nitrogen/generated/shared/c++/CameraPose.hpp +87 -0
- package/nitrogen/generated/shared/c++/EnvironmentTexturing.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridARAnchorSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridARAnchorSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridARFrameSpec.cpp +32 -0
- package/nitrogen/generated/shared/c++/HybridARFrameSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.hpp +63 -0
- package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.hpp +79 -0
- package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.hpp +70 -0
- package/nitrogen/generated/shared/c++/HybridARSessionSpec.cpp +45 -0
- package/nitrogen/generated/shared/c++/HybridARSessionSpec.hpp +131 -0
- package/nitrogen/generated/shared/c++/HybridARViewSpec.cpp +55 -0
- package/nitrogen/generated/shared/c++/HybridARViewSpec.hpp +101 -0
- package/nitrogen/generated/shared/c++/HybridARVolumeSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridARVolumeSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/LiDARCapabilities.hpp +91 -0
- package/nitrogen/generated/shared/c++/MeshClassification.hpp +100 -0
- package/nitrogen/generated/shared/c++/PlaneAlignment.hpp +76 -0
- package/nitrogen/generated/shared/c++/PlaneClassification.hpp +100 -0
- package/nitrogen/generated/shared/c++/PlaneDetectionMode.hpp +76 -0
- package/nitrogen/generated/shared/c++/RaycastAlignment.hpp +80 -0
- package/nitrogen/generated/shared/c++/RaycastQuery.hpp +99 -0
- package/nitrogen/generated/shared/c++/RaycastTarget.hpp +84 -0
- package/nitrogen/generated/shared/c++/SceneReconstructionMode.hpp +80 -0
- package/nitrogen/generated/shared/c++/TrackingState.hpp +80 -0
- package/nitrogen/generated/shared/c++/TrackingStateReason.hpp +88 -0
- package/nitrogen/generated/shared/c++/WorldAlignment.hpp +80 -0
- package/nitrogen/generated/shared/c++/WorldMappingStatus.hpp +84 -0
- package/nitrogen/generated/shared/c++/views/HybridARViewComponent.cpp +182 -0
- package/nitrogen/generated/shared/c++/views/HybridARViewComponent.hpp +120 -0
- package/nitrogen/generated/shared/json/ARViewConfig.json +19 -0
- package/package.json +98 -0
- package/react-native-nitro-ar.podspec +40 -0
- package/src/index.ts +60 -0
- package/src/specs/ARAnchor.nitro.ts +21 -0
- package/src/specs/ARBoundingBoxBuilder.nitro.ts +11 -0
- package/src/specs/ARDepthData.nitro.ts +29 -0
- package/src/specs/ARFrame.nitro.ts +41 -0
- package/src/specs/ARLightEstimate.nitro.ts +20 -0
- package/src/specs/ARMeasurement.nitro.ts +10 -0
- package/src/specs/ARPlaneAnchor.nitro.ts +46 -0
- package/src/specs/ARRaycastResult.nitro.ts +32 -0
- package/src/specs/ARSceneMesh.nitro.ts +63 -0
- package/src/specs/ARSession.nitro.ts +112 -0
- package/src/specs/ARView.nitro.ts +84 -0
- package/src/specs/ARVolume.nitro.ts +15 -0
- package/src/specs/ARWorldMap.nitro.ts +20 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
2
|
+
export type PlaneAlignment = "horizontal" | "vertical";
|
|
3
|
+
export type PlaneClassification = "none" | "wall" | "floor" | "ceiling" | "table" | "seat" | "window" | "door";
|
|
4
|
+
export interface ARPlaneGeometry extends HybridObject<{
|
|
5
|
+
ios: "swift";
|
|
6
|
+
}> {
|
|
7
|
+
/** Vertices of the plane mesh (flattened [x,y,z, x,y,z, ...]) */
|
|
8
|
+
readonly vertices: number[];
|
|
9
|
+
/** Texture coordinates (flattened [u,v, u,v, ...]) */
|
|
10
|
+
readonly textureCoordinates: number[];
|
|
11
|
+
/** Triangle indices */
|
|
12
|
+
readonly triangleIndices: number[];
|
|
13
|
+
/** Boundary polygon vertices (flattened [x,z, x,z, ...] in local plane space) */
|
|
14
|
+
readonly boundaryVertices: number[];
|
|
15
|
+
}
|
|
16
|
+
export interface ARPlaneAnchor extends HybridObject<{
|
|
17
|
+
ios: "swift";
|
|
18
|
+
}> {
|
|
19
|
+
readonly identifier: string;
|
|
20
|
+
/** Position [x, y, z] */
|
|
21
|
+
readonly position: number[];
|
|
22
|
+
/** Rotation as quaternion [x, y, z, w] */
|
|
23
|
+
readonly rotation: number[];
|
|
24
|
+
readonly alignment: PlaneAlignment;
|
|
25
|
+
readonly classification: PlaneClassification;
|
|
26
|
+
/** Plane extent in meters [width, height] */
|
|
27
|
+
readonly extent: number[];
|
|
28
|
+
/** Center offset from anchor position [x, y, z] */
|
|
29
|
+
readonly center: number[];
|
|
30
|
+
readonly geometry: ARPlaneGeometry;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ARPlaneAnchor.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARPlaneAnchor.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARPlaneAnchor.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IACrE,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAEtC,uBAAuB;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAEnC,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE5B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAE7C,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
2
|
+
export type RaycastTarget = "existingPlaneGeometry" | "existingPlaneInfinite" | "estimatedPlane" | "any";
|
|
3
|
+
export type RaycastAlignment = "horizontal" | "vertical" | "any";
|
|
4
|
+
export interface RaycastQuery {
|
|
5
|
+
/** Screen X coordinate (0-1 normalized or pixel) */
|
|
6
|
+
x: number;
|
|
7
|
+
/** Screen Y coordinate (0-1 normalized or pixel) */
|
|
8
|
+
y: number;
|
|
9
|
+
/** What surfaces to hit */
|
|
10
|
+
target: RaycastTarget;
|
|
11
|
+
/** Plane alignment filter */
|
|
12
|
+
alignment: RaycastAlignment;
|
|
13
|
+
}
|
|
14
|
+
export interface ARRaycastResult extends HybridObject<{
|
|
15
|
+
ios: "swift";
|
|
16
|
+
}> {
|
|
17
|
+
/** Position [x, y, z] */
|
|
18
|
+
readonly position: number[];
|
|
19
|
+
/** Rotation as quaternion [x, y, z, w] */
|
|
20
|
+
readonly rotation: number[];
|
|
21
|
+
readonly distance: number;
|
|
22
|
+
readonly target: RaycastTarget;
|
|
23
|
+
/** Anchor identifier if hit an existing plane */
|
|
24
|
+
readonly anchorId: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ARRaycastResult.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARRaycastResult.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARRaycastResult.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,aAAa,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,gBAAgB,GAChB,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,KAAK,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,CAAC,EAAE,MAAM,CAAC;IACV,oDAAoD;IACpD,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IACrE,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
2
|
+
/** Classification of mesh faces */
|
|
3
|
+
export type MeshClassification = "none" | "wall" | "floor" | "ceiling" | "table" | "seat" | "window" | "door";
|
|
4
|
+
/** A single mesh anchor from scene reconstruction */
|
|
5
|
+
export interface ARMeshAnchor extends HybridObject<{
|
|
6
|
+
ios: "swift";
|
|
7
|
+
}> {
|
|
8
|
+
/** Unique identifier */
|
|
9
|
+
readonly identifier: string;
|
|
10
|
+
/** Transform matrix (4x4, column-major) */
|
|
11
|
+
readonly transform: number[];
|
|
12
|
+
/** Number of vertices */
|
|
13
|
+
readonly vertexCount: number;
|
|
14
|
+
/** Number of faces (triangles) */
|
|
15
|
+
readonly faceCount: number;
|
|
16
|
+
/**
|
|
17
|
+
* Vertex positions as flat array [x1,y1,z1, x2,y2,z2, ...]
|
|
18
|
+
* Positions are in local anchor space
|
|
19
|
+
*/
|
|
20
|
+
readonly vertices: number[];
|
|
21
|
+
/**
|
|
22
|
+
* Face indices as flat array [a1,b1,c1, a2,b2,c2, ...]
|
|
23
|
+
* Each triplet defines a triangle
|
|
24
|
+
*/
|
|
25
|
+
readonly faces: number[];
|
|
26
|
+
/**
|
|
27
|
+
* Vertex normals as flat array [nx1,ny1,nz1, ...]
|
|
28
|
+
*/
|
|
29
|
+
readonly normals: number[];
|
|
30
|
+
/**
|
|
31
|
+
* Classification for each face (if available)
|
|
32
|
+
* Only populated when sceneReconstruction includes classification
|
|
33
|
+
*/
|
|
34
|
+
readonly classifications: MeshClassification[];
|
|
35
|
+
}
|
|
36
|
+
/** Scene reconstruction mode */
|
|
37
|
+
export type SceneReconstructionMode = "none" | "mesh" | "meshWithClassification";
|
|
38
|
+
/** LiDAR capabilities info */
|
|
39
|
+
export interface LiDARCapabilities {
|
|
40
|
+
/** Device has LiDAR sensor */
|
|
41
|
+
readonly isAvailable: boolean;
|
|
42
|
+
/** Scene reconstruction is supported */
|
|
43
|
+
readonly supportsSceneReconstruction: boolean;
|
|
44
|
+
/** Scene depth is supported */
|
|
45
|
+
readonly supportsSceneDepth: boolean;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ARSceneMesh.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARSceneMesh.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARSceneMesh.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,mCAAmC;AACnC,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,CAAC;AAEX,qDAAqD;AACrD,MAAM,WAAW,YAAa,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IAClE,wBAAwB;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAE7B,yBAAyB;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAC;CAChD;AAED,gCAAgC;AAChC,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,wBAAwB,CAAC;AAEjF,8BAA8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,+BAA+B;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
export interface CameraPose {
|
|
10
|
+
/** Position [x, y, z] */
|
|
11
|
+
position: number[];
|
|
12
|
+
/** Rotation as quaternion [x, y, z, w] */
|
|
13
|
+
rotation: number[];
|
|
14
|
+
}
|
|
15
|
+
export type TrackingState = "notAvailable" | "limited" | "normal";
|
|
16
|
+
export type TrackingStateReason = "none" | "initializing" | "excessiveMotion" | "insufficientFeatures" | "relocalizing";
|
|
17
|
+
export type PlaneDetectionMode = "horizontal" | "vertical";
|
|
18
|
+
export type EnvironmentTexturing = "none" | "manual" | "automatic";
|
|
19
|
+
export type WorldAlignment = "gravity" | "gravityAndHeading" | "camera";
|
|
20
|
+
export interface ARSessionConfiguration {
|
|
21
|
+
/** Enable plane detection */
|
|
22
|
+
planeDetection?: PlaneDetectionMode[];
|
|
23
|
+
/** Enable light estimation */
|
|
24
|
+
lightEstimation?: boolean;
|
|
25
|
+
/** Enable scene depth (requires LiDAR) */
|
|
26
|
+
sceneDepth?: boolean;
|
|
27
|
+
/** Enable smoothed scene depth */
|
|
28
|
+
smoothedSceneDepth?: boolean;
|
|
29
|
+
/** Enable environment texturing */
|
|
30
|
+
environmentTexturing?: EnvironmentTexturing;
|
|
31
|
+
/** Enable world map for relocalization */
|
|
32
|
+
worldAlignment?: WorldAlignment;
|
|
33
|
+
/** Initial world map data (base64) for relocalization */
|
|
34
|
+
initialWorldMap?: string;
|
|
35
|
+
/** Enable scene reconstruction/mesh (requires LiDAR) */
|
|
36
|
+
sceneReconstruction?: SceneReconstructionMode;
|
|
37
|
+
/** Enable people occlusion */
|
|
38
|
+
peopleOcclusion?: boolean;
|
|
39
|
+
/** Enable object occlusion (requires LiDAR scene reconstruction) */
|
|
40
|
+
objectOcclusion?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface ARSession extends HybridObject<{
|
|
43
|
+
ios: "swift";
|
|
44
|
+
}> {
|
|
45
|
+
start(config?: ARSessionConfiguration): void;
|
|
46
|
+
pause(): void;
|
|
47
|
+
reset(): void;
|
|
48
|
+
readonly trackingState: TrackingState;
|
|
49
|
+
readonly trackingStateReason: TrackingStateReason;
|
|
50
|
+
readonly worldMappingStatus: WorldMappingStatus;
|
|
51
|
+
readonly isRunning: boolean;
|
|
52
|
+
getCameraPose(): CameraPose;
|
|
53
|
+
readonly currentFrame: ARFrame | undefined;
|
|
54
|
+
raycast(x: number, y: number): ARRaycastResult | undefined;
|
|
55
|
+
raycastWithQuery(query: RaycastQuery): ARRaycastResult[];
|
|
56
|
+
createAnchor(hit: ARRaycastResult): ARAnchor;
|
|
57
|
+
/** Create anchor at position [x,y,z] with optional rotation quaternion [x,y,z,w] */
|
|
58
|
+
createAnchorAtPosition(position: number[], rotation?: number[]): ARAnchor;
|
|
59
|
+
removeAnchor(anchor: ARAnchor): void;
|
|
60
|
+
readonly anchors: ARAnchor[];
|
|
61
|
+
readonly planeAnchors: ARPlaneAnchor[];
|
|
62
|
+
createMeasurement(start: ARAnchor, end: ARAnchor): ARMeasurement;
|
|
63
|
+
getCurrentWorldMap(): Promise<ARWorldMap>;
|
|
64
|
+
onFrameUpdate(callback: (frame: ARFrame) => void): () => void;
|
|
65
|
+
onTrackingStateChanged(callback: (state: TrackingState, reason: TrackingStateReason) => void): () => void;
|
|
66
|
+
onAnchorsUpdated(callback: (added: ARAnchor[], updated: ARAnchor[], removed: string[]) => void): () => void;
|
|
67
|
+
onPlanesUpdated(callback: (added: ARPlaneAnchor[], updated: ARPlaneAnchor[], removed: string[]) => void): () => void;
|
|
68
|
+
/** Check LiDAR capabilities on this device */
|
|
69
|
+
getLiDARCapabilities(): LiDARCapabilities;
|
|
70
|
+
/** Get current mesh anchors (requires sceneReconstruction enabled) */
|
|
71
|
+
readonly meshAnchors: ARMeshAnchor[];
|
|
72
|
+
/** Callback when mesh anchors are updated */
|
|
73
|
+
onMeshUpdated(callback: (added: ARMeshAnchor[], updated: ARMeshAnchor[], removed: string[]) => void): () => void;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ARSession.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARSession.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARSession.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { HybridView, HybridViewMethods, HybridViewProps } from "react-native-nitro-modules";
|
|
2
|
+
import type { SceneReconstructionMode } from "./ARSceneMesh.nitro";
|
|
3
|
+
export interface ARViewHitResult {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
z: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ARViewProps extends HybridViewProps {
|
|
9
|
+
/** Enable debug visualization (feature points, world origin) */
|
|
10
|
+
showDebugOptions?: boolean;
|
|
11
|
+
/** Enable plane detection visualization */
|
|
12
|
+
showPlanes?: boolean;
|
|
13
|
+
/** Enable feature point visualization */
|
|
14
|
+
showFeaturePoints?: boolean;
|
|
15
|
+
/** Enable world origin visualization */
|
|
16
|
+
showWorldOrigin?: boolean;
|
|
17
|
+
/** Enable automatic lighting */
|
|
18
|
+
autoenablesDefaultLighting?: boolean;
|
|
19
|
+
/** Enable scene mesh reconstruction (requires LiDAR) */
|
|
20
|
+
sceneReconstruction?: SceneReconstructionMode;
|
|
21
|
+
/** Show the scene mesh wireframe for debugging */
|
|
22
|
+
showSceneMesh?: boolean;
|
|
23
|
+
/** Enable scene depth (requires LiDAR) */
|
|
24
|
+
sceneDepth?: boolean;
|
|
25
|
+
/** Enable object occlusion using scene mesh */
|
|
26
|
+
objectOcclusion?: boolean;
|
|
27
|
+
/** Enable people occlusion */
|
|
28
|
+
peopleOcclusion?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ARViewMethods extends HybridViewMethods {
|
|
31
|
+
addMeasurementPoint(id: string, x: number, y: number, z: number, color?: string): void;
|
|
32
|
+
removeMeasurementPoint(id: string): void;
|
|
33
|
+
updateMeasurementPoint(id: string, x: number, y: number, z: number): void;
|
|
34
|
+
addLine(id: string, fromX: number, fromY: number, fromZ: number, toX: number, toY: number, toZ: number, color?: string): void;
|
|
35
|
+
updateLine(id: string, fromX: number, fromY: number, fromZ: number, toX: number, toY: number, toZ: number): void;
|
|
36
|
+
removeLine(id: string): void;
|
|
37
|
+
addDistanceLabel(id: string, x: number, y: number, z: number, distance: number): void;
|
|
38
|
+
updateDistanceLabel(id: string, x: number, y: number, z: number, distance: number): void;
|
|
39
|
+
removeDistanceLabel(id: string): void;
|
|
40
|
+
clearAllVisuals(): void;
|
|
41
|
+
raycast(x: number, y: number): ARViewHitResult | undefined;
|
|
42
|
+
startSession(): void;
|
|
43
|
+
pauseSession(): void;
|
|
44
|
+
resetSession(): void;
|
|
45
|
+
/** Check if LiDAR is available on this device */
|
|
46
|
+
isLiDARAvailable(): boolean;
|
|
47
|
+
}
|
|
48
|
+
export type ARView = HybridView<ARViewProps, ARViewMethods, {
|
|
49
|
+
ios: "swift";
|
|
50
|
+
}>;
|
|
51
|
+
//# sourceMappingURL=ARView.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARView.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARView.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
2
|
+
export interface ARVolume extends HybridObject<{
|
|
3
|
+
ios: "swift";
|
|
4
|
+
}> {
|
|
5
|
+
/** Center position [x, y, z] */
|
|
6
|
+
readonly center: number[];
|
|
7
|
+
readonly width: number;
|
|
8
|
+
readonly height: number;
|
|
9
|
+
readonly depth: number;
|
|
10
|
+
/** Rotation as quaternion [x, y, z, w] */
|
|
11
|
+
readonly rotation: number[];
|
|
12
|
+
readonly isStable: boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ARVolume.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARVolume.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARVolume.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,QAAS,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IAC9D,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HybridObject } from "react-native-nitro-modules";
|
|
2
|
+
export type WorldMappingStatus = "notAvailable" | "limited" | "extending" | "mapped";
|
|
3
|
+
export interface ARWorldMap extends HybridObject<{
|
|
4
|
+
ios: "swift";
|
|
5
|
+
}> {
|
|
6
|
+
/** Unique identifier for this world map */
|
|
7
|
+
readonly identifier: string;
|
|
8
|
+
/** Center of the mapped area in world coordinates [x, y, z] */
|
|
9
|
+
readonly center: number[];
|
|
10
|
+
/** Approximate extent/radius of the mapped area in meters [x, y, z] */
|
|
11
|
+
readonly extent: number[];
|
|
12
|
+
/** Number of anchors stored in this world map */
|
|
13
|
+
readonly anchorCount: number;
|
|
14
|
+
/** Serialized world map data as base64 string */
|
|
15
|
+
getData(): string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ARWorldMap.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARWorldMap.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ARWorldMap.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,UAAW,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IAChE,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,iDAAiD;IACjD,OAAO,IAAI,MAAM,CAAC;CACnB"}
|
package/nitro.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://nitro.margelo.com/nitro.schema.json",
|
|
3
|
+
"cxxNamespace": ["ar"],
|
|
4
|
+
"ios": {
|
|
5
|
+
"iosModuleName": "NitroAR"
|
|
6
|
+
},
|
|
7
|
+
"android": {
|
|
8
|
+
"androidNamespace": ["ar"],
|
|
9
|
+
"androidCxxLibName": "NitroAR"
|
|
10
|
+
},
|
|
11
|
+
"autolinking": {
|
|
12
|
+
"ARSession": {
|
|
13
|
+
"swift": "HybridARSession"
|
|
14
|
+
},
|
|
15
|
+
"ARBoundingBoxBuilder": {
|
|
16
|
+
"swift": "HybridARBoundingBoxBuilder"
|
|
17
|
+
},
|
|
18
|
+
"ARView": {
|
|
19
|
+
"swift": "HybridARView"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"ignorePaths": ["**/node_modules"]
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#
|
|
2
|
+
# NitroAR+autolinking.rb
|
|
3
|
+
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
# https://github.com/mrousavy/nitro
|
|
5
|
+
# Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
# This is a Ruby script that adds all files generated by Nitrogen
|
|
9
|
+
# to the given podspec.
|
|
10
|
+
#
|
|
11
|
+
# To use it, add this to your .podspec:
|
|
12
|
+
# ```ruby
|
|
13
|
+
# Pod::Spec.new do |spec|
|
|
14
|
+
# # ...
|
|
15
|
+
#
|
|
16
|
+
# # Add all files generated by Nitrogen
|
|
17
|
+
# load 'nitrogen/generated/ios/NitroAR+autolinking.rb'
|
|
18
|
+
# add_nitrogen_files(spec)
|
|
19
|
+
# end
|
|
20
|
+
# ```
|
|
21
|
+
|
|
22
|
+
def add_nitrogen_files(spec)
|
|
23
|
+
Pod::UI.puts "[NitroModules] 🔥 NitroAR is boosted by nitro!"
|
|
24
|
+
|
|
25
|
+
spec.dependency "NitroModules"
|
|
26
|
+
|
|
27
|
+
current_source_files = Array(spec.attributes_hash['source_files'])
|
|
28
|
+
spec.source_files = current_source_files + [
|
|
29
|
+
# Generated cross-platform specs
|
|
30
|
+
"nitrogen/generated/shared/**/*.{h,hpp,c,cpp,swift}",
|
|
31
|
+
# Generated bridges for the cross-platform specs
|
|
32
|
+
"nitrogen/generated/ios/**/*.{h,hpp,c,cpp,mm,swift}",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
current_public_header_files = Array(spec.attributes_hash['public_header_files'])
|
|
36
|
+
spec.public_header_files = current_public_header_files + [
|
|
37
|
+
# Generated specs
|
|
38
|
+
"nitrogen/generated/shared/**/*.{h,hpp}",
|
|
39
|
+
# Swift to C++ bridging helpers
|
|
40
|
+
"nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.hpp"
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
current_private_header_files = Array(spec.attributes_hash['private_header_files'])
|
|
44
|
+
spec.private_header_files = current_private_header_files + [
|
|
45
|
+
# iOS specific specs
|
|
46
|
+
"nitrogen/generated/ios/c++/**/*.{h,hpp}",
|
|
47
|
+
# Views are framework-specific and should be private
|
|
48
|
+
"nitrogen/generated/shared/**/views/**/*"
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
current_pod_target_xcconfig = spec.attributes_hash['pod_target_xcconfig'] || {}
|
|
52
|
+
spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({
|
|
53
|
+
# Use C++ 20
|
|
54
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
|
55
|
+
# Enables C++ <-> Swift interop (by default it's only ObjC)
|
|
56
|
+
"SWIFT_OBJC_INTEROP_MODE" => "objcxx",
|
|
57
|
+
# Enables stricter modular headers
|
|
58
|
+
"DEFINES_MODULE" => "YES",
|
|
59
|
+
})
|
|
60
|
+
end
|