-
Notifications
You must be signed in to change notification settings - Fork 548
ARKit macOS xcode26.0 b1
Rolf Bjarne Kvinge edited this page Aug 27, 2025
·
3 revisions
#ARKit.framework https://github.com/dotnet/macios/pull/23687
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKit.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKit.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKit.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKit.h 2025-05-28 02:10:23
@@ -0,0 +1,26 @@
+//
+// ARKit.h
+//
+// Copyright © 2016-2023 Apple Inc. All rights reserved.
+//
+
+#include <TargetConditionals.h>
+
+/** @framework ARKit
+ @abstract A high-level Augmented Reality framework.
+ @discussion ARKit lets you easily configure and use Augmented Reality techniques to track, detect, and render.
+ */
+
+
+#if __has_include(<ARKit/ARKitFoundation.h>)
+#import <ARKit/ARKitFoundation.h>
+#endif
+
+#if __has_include(<ARKit/ARKitCore.h>)
+#import <ARKit/ARKitCore.h>
+#endif
+
+#if __has_include(<ARKit/ARKitUI.h>)
+#import <ARKit/ARKitUI.h>
+#endif
+
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKitCore.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKitCore.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKitCore.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/ARKitCore.h 2025-05-28 02:35:23
@@ -0,0 +1,36 @@
+//
+// ARKitCore.h
+// ARKitCore
+//
+// Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#include <TargetConditionals.h>
+
+#ifdef __OBJC__
+
+#endif // __OBJC__
+
+#import <ARKit/anchor.h>
+#import <ARKit/authorization.h>
+#import <ARKit/barcode_detection.h>
+#import <ARKit/camera_frame_provider.h>
+#import <ARKit/data.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/environment_light_estimation.h>
+#import <ARKit/error.h>
+#import <ARKit/hand_skeleton.h>
+#import <ARKit/hand_tracking.h>
+#import <ARKit/identifiers.h>
+#import <ARKit/image_tracking.h>
+#import <ARKit/object.h>
+#import <ARKit/object_tracking.h>
+#import <ARKit/plane_detection.h>
+#import <ARKit/room_tracking.h>
+#import <ARKit/scene_reconstruction.h>
+#import <ARKit/session.h>
+#import <ARKit/skeleton_joint.h>
+#import <ARKit/stereo_properties.h>
+#import <ARKit/strings_collection.h>
+#import <ARKit/world_tracking.h>
+
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/anchor.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/anchor.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/anchor.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/anchor.h 2025-05-28 02:35:24
@@ -0,0 +1,81 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/anchor.h>)
+//
+// anchor.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef anchor_h
+#define anchor_h
+
+#import <ARKit/object.h>
+
+#import <CoreFoundation/CFDate.h>
+#import <os/availability.h>
+#import <simd/types.h>
+#import <uuid/uuid.h>
+
+
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Anchor
+
+AR_OBJECT_DECL(ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+
+AR_EXTERN simd_float4x4 ar_anchor_get_origin_from_anchor_transform(ar_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_anchor_get_identifier(ar_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+
+AR_EXTERN CFTimeInterval ar_anchor_get_timestamp(ar_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Trackable Anchor
+
+AR_OBJECT_DECL_SUBCLASS(ar_trackable_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN bool ar_trackable_anchor_is_tracked(ar_trackable_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // anchor_h
+#else
+#import <ARKitCore/anchor.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/anchor.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/authorization.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/authorization.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/authorization.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/authorization.h 2025-05-28 02:35:24
@@ -0,0 +1,153 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/authorization.h>)
+//
+// authorization.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef authorization_h
+#define authorization_h
+
+#import <ARKit/object.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Authorization Result
+
+/**
+ Status of an authorization for ARKit data.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+OS_ENUM(ar_authorization_status, intptr_t,
+ // The user has not yet granted permission.
+ ar_authorization_status_not_determined,
+ // The user has explicitly granted permission.
+ ar_authorization_status_allowed,
+ // The user has explicitly denied permission.
+ ar_authorization_status_denied)
+AR_REFINED_FOR_SWIFT;
+
+/**
+ Types of authorization for ARKit data.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+OS_OPTIONS(ar_authorization_type, uintptr_t,
+ ar_authorization_type_none = 0,
+ /**
+ Authorization type used when requesting hand tracking.
+ @see `ar_hand_tracking_provider_t`
+ */
+ ar_authorization_type_hand_tracking = (1 << 0),
+ /** Authorization type used when requesting:
+ - Image tracking
+ @see `ar_image_tracking_provider_t`
+ - Plane detection
+ @see `ar_plane_detection_provider_t`
+ - Scene reconstruction
+ @see `ar_scene_reconstruction_provider_t`
+ */
+ ar_authorization_type_world_sensing = (1 << 1),
+ /** Authorization type used when requesting:
+ - Camera access
+ @see `ar_camera_frame_provider_t`
+ */
+ ar_authorization_type_camera_access API_AVAILABLE(visionos(2.0)) = (1 << 3),
+
+ )
+AR_REFINED_FOR_SWIFT;
+
+AR_OBJECT_DECL(ar_authorization_result)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Get the authorization type associated with an authorization result.
+
+ @param authorization_result The authorization result.
+
+ @return The authorization type.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_authorization_type_t ar_authorization_result_get_authorization_type(ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization status associated with an authorization result.
+
+ @param authorization_result The authorization result.
+
+ @return The authorization status.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_authorization_status_t ar_authorization_result_get_status(ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Authorization Results
+
+AR_OBJECT_DECL(ar_authorization_results)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Get the count of authorization results in a collection.
+
+ @param authorization_results The collection of authorization results.
+
+ @return The number of authorization results in the collection.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN size_t ar_authorization_results_get_count(ar_authorization_results_t authorization_results) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of authorization results.
+
+ @param authorization_result The authorization result.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef bool (^ar_authorization_results_enumerator_t)(ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of authorization results.
+
+ @param authorization_results The collection of authorization results.
+ @param authorization_results_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void
+ar_authorization_results_enumerate_results(ar_authorization_results_t authorization_results,
+ ar_authorization_results_enumerator_t authorization_results_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of authorization results.
+
+ @param context The application-defined context.
+ @param authorization_result The authorization result.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef bool (*ar_authorization_results_enumerator_function_t)(void *_Nullable context,
+ ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of authorization results using a function.
+
+ @param authorization_results The collection of authorization results.
+ @param context The application-defined context parameter to pass to the function.
+ @param authorization_results_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_authorization_results_enumerate_results_f(ar_authorization_results_t authorization_results,
+ void *_Nullable context,
+ ar_authorization_results_enumerator_function_t authorization_results_enumerator_function)
+ AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // authorization_h
+#else
+#import <ARKitCore/authorization.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/authorization.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/barcode_detection.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/barcode_detection.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/barcode_detection.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/barcode_detection.h 2025-05-31 00:10:27
@@ -0,0 +1,390 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/barcode_detection.h>)
+//
+// barcode_detection.h
+// ARKit
+//
+// An enterprise license is required to use barcode detection, and will be otherwise be a no-op.
+// The app must include the following entitlement:
+// com.apple.developer.arkit.barcode-detection.allow
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#ifndef barcode_detection_h
+#define barcode_detection_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/authorization.h>
+#import <ARKit/data.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_barcode_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_barcode_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_barcode_detection_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_barcode_detection_callbacks)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_barcode_detection_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/**
+ Option set describing possible symbologies of a detected barcode.
+
+ @note An `ar_barcode_anchor_t` has exactly one symbology. Multiple bits may be set to configure the `ar_barcode_detection_provider_t` to detect multiple symbologies.
+ */
+API_AVAILABLE(visionos(2.0))
+OS_OPTIONS(ar_barcode_detection_symbology, uint64_t,
+ ar_barcode_detection_symbology_none = 0,
+
+ /// Aztec symbology. Decodable at 40 cm distance when greater than 2.0 cm wide.
+ ar_barcode_detection_symbology_aztec = (1 << 0),
+
+ /// Codabar symbology. Decodable at 40 cm distance when greater than 5.5 cm wide.
+ ar_barcode_detection_symbology_codabar = (1 << 1),
+
+ /// Code 39 symbology. Decodable at 40 cm distance when greater than 6.5 cm wide.
+ ar_barcode_detection_symbology_code_39 = (1 << 2),
+
+ /// Code 39 Checksum symbology. Decodable at 40 cm distance when greater than 6.5 cm wide.
+ ar_barcode_detection_symbology_code_39_checksum = (1 << 3),
+
+ /// Code 39 Full ASCII symbology. Decodable at 40 cm distance when greater than 3.0 cm wide.
+ ar_barcode_detection_symbology_code_39_full_ascii = (1 << 4),
+
+ /// Code 39 Full ASCII Checksum symbology. Decodable at 40 cm distance when greater than 4.5 cm wide.
+ ar_barcode_detection_symbology_code_39_full_ascii_checksum = (1 << 5),
+
+ /// Code 93 symbology. Decodable at 40 cm distance when greater than 5.0 cm wide.
+ ar_barcode_detection_symbology_code_93 = (1 << 6),
+
+ /// Code 93i symbology. Decodable at 40 cm distance when greater than 5.0 cm wide.
+ ar_barcode_detection_symbology_code_93i = (1 << 7),
+
+ /// Code 128 symbology. Decodable at 40 cm distance when greater than 2.5 cm wide.
+ ar_barcode_detection_symbology_code_128 = (1 << 8),
+
+ /// Data Matrix symbology. Decodable at 40 cm distance when greater than 1.0 cm wide.
+ ar_barcode_detection_symbology_data_matrix = (1 << 9),
+
+ /// EAN-8 symbology. Decodable at 40 cm distance when greater than 3.0 cm wide.
+ ar_barcode_detection_symbology_ean_8 = (1 << 10),
+
+ /// EAN-13 symbology. Decodable at 40 cm distance when greater than 4.0 cm wide.
+ ar_barcode_detection_symbology_ean_13 = (1 << 11),
+
+ /// GS1 Databar symbology. Decodable at 40 cm distance when greater than 3.0 cm wide.
+ ar_barcode_detection_symbology_gs1_databar = (1 << 12),
+
+ /// GS1 Databar Expanded symbology. Decodable at 40 cm distance when greater than 6.5 cm wide.
+ ar_barcode_detection_symbology_gs1_databar_expanded = (1 << 13),
+
+ /// GS1 Databar Limited symbology. Decodable at 40 cm distance when greater than 3.0 cm wide.
+ ar_barcode_detection_symbology_gs1_databar_limited = (1 << 14),
+
+ /// ITF symbology. Decodable at 40 cm distance when greater than 3.5 cm wide.
+ ar_barcode_detection_symbology_itf = (1 << 15),
+
+ /// ITF-14 symbology. Decodable at 40 cm distance when greater than 5.0 cm wide.
+ ar_barcode_detection_symbology_itf_14 = (1 << 16),
+
+ /// ITF Checksum symbology. Decodable at 40 cm distance when greater than 3.5 cm wide.
+ ar_barcode_detection_symbology_itf_checksum = (1 << 17),
+
+ /// MicroPDF417 symbology. Decodable at 40 cm distance when greater than 6.5 cm wide.
+ ar_barcode_detection_symbology_micropdf417 = (1 << 18),
+
+ /// MicroQR symbology. Decodable at 40 cm distance when greater than 2.0 cm wide.
+ ar_barcode_detection_symbology_microqr = (1 << 19),
+
+ /// MSIPlessey symbology. Decodable at 40 cm distance when greater than 4.5 cm wide.
+ ar_barcode_detection_symbology_msi_plessey = (1 << 20),
+
+ /// PDF417 symbology. Decodable at 40 cm distance when greater than 6.0 cm wide.
+ ar_barcode_detection_symbology_pdf417 = (1 << 21),
+
+ /// QR symbology. Decodable at 40 cm distance when greater than 1.5 cm wide.
+ ar_barcode_detection_symbology_qr = (1 << 22),
+
+ /// UPC-E symbology. Decodable at 40 cm distance when greater than 2.5 cm wide.
+ ar_barcode_detection_symbology_upce = (1 << 23),
+) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Barcode Anchor
+
+/**
+ Get the symbology of a barcode anchor.
+
+ @param barcode_anchor The barcode anchor.
+
+ @return The barcode anchor's symbology.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_barcode_detection_symbology_t ar_barcode_anchor_get_symbology(ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the payload string value of a barcode anchor.
+
+ @param barcode_anchor The barcode anchor.
+
+ @note The returned value will have the same lifetime as the input barcode anchor.
+ @return The string representation of the barcode anchor's payload.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN const char *_Nullable ar_barcode_anchor_get_payload_string_value(ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a copy of a barcode anchor's payload data.
+
+ @param barcode_anchor The barcode anchor.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return A copy of the barcode anchor's payload data.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_data_t ar_barcode_anchor_copy_payload_data(ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the extent of a detected barcode's bounding box.
+
+ @param barcode_anchor The barcode anchor.
+
+ @note The width of the detected barcode is the length along the X-axis, prior to rotation about the Y-axis. The height of the detected barcode is the
+ length along the Z-axis, prior to rotation about the Y-axis.
+
+ @return The extent of the detected barcode's bounding box.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3 ar_barcode_anchor_get_extent(ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Barcode Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_barcode_anchor_get_identifier(ar_barcode_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_barcode_anchor_get_origin_from_anchor_transform(ar_barcode_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_barcode_anchor_get_timestamp(ar_barcode_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Barcode Anchors Collection
+
+/**
+ Get the count of barcode anchors in a collection.
+
+ @param barcode_anchors The collection of barcode anchors.
+
+ @return The number of barcode anchors in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_barcode_anchors_get_count(ar_barcode_anchors_t barcode_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of barcode anchors.
+
+ @param barcode_anchor The barcode anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_barcode_anchors_enumerator_t)(ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of barcode anchors.
+
+ @param barcode_anchors The collection of barcode anchors.
+ @param barcode_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_barcode_anchors_enumerate_anchors(ar_barcode_anchors_t barcode_anchors,
+ ar_barcode_anchors_enumerator_t barcode_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of barcode anchors.
+
+ @param context The application-defined context.
+ @param barcode_anchor The barcode anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_barcode_anchors_enumerator_function_t)(void *_Nullable context, ar_barcode_anchor_t barcode_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of barcode anchors using a function.
+
+ @param barcode_anchors The collection of barcode anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param barcode_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_barcode_anchors_enumerate_anchors_f(ar_barcode_anchors_t barcode_anchors,
+ void *_Nullable context,
+ ar_barcode_anchors_enumerator_function_t barcode_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Barcode Detection Configuration
+
+/**
+ Create a barcode detection configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_barcode_detection_configuration_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_barcode_detection_configuration_t ar_barcode_detection_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the desired symbologies to detect.
+
+ @param barcode_detection_configuration The barcode detection configuration.
+ @param symbology The symbologies to detect.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_barcode_detection_configuration_set_detection_symbology(ar_barcode_detection_configuration_t barcode_detection_configuration,
+ ar_barcode_detection_symbology_t symbology) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Barcode Detection Provider
+
+/**
+ Create a barcode detection provider.
+
+ @param barcode_detection_configuration An instance of `ar_barcode_detection_configuration_t`.
+
+ @see `ar_session_t` to run this barcode detection provider.
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_barcode_detection_provider_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_barcode_detection_provider_t
+ar_barcode_detection_provider_create(ar_barcode_detection_configuration_t barcode_detection_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determines whether this device supports the barcode detection provider.
+
+ @return Returns `true` if the barcode detection provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_barcode_detection_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to barcode anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_barcode_detection_update_handler_t)(ar_barcode_anchors_t added_anchors,
+ ar_barcode_anchors_t updated_anchors,
+ ar_barcode_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to barcode anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_barcode_detection_update_handler_function_t)(void *_Nullable context,
+ ar_barcode_anchors_t added_anchors,
+ ar_barcode_anchors_t updated_anchors,
+ ar_barcode_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving barcode detection updates.
+
+ @param barcode_detection_provider The barcode detection provider.
+ @param barcode_detection_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param barcode_detection_update_handler Handler to be called when new anchor data arrives. Refer to `ar_barcode_detection_update_handler_t` for
+ handler signature.
+
+ @note Setting this handler will override the function set using `ar_barcode_detection_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_barcode_detection_provider_set_update_handler(ar_barcode_detection_provider_t barcode_detection_provider,
+ dispatch_queue_t _Nullable barcode_detection_updates_queue,
+ ar_barcode_detection_update_handler_t _Nullable barcode_detection_update_handler)
+ AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving barcode detection updates.
+
+ @param barcode_detection_provider The barcode detection provider.
+ @param barcode_detection_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param barcode_detection_update_handler_function The function to be called when new barcode detection updates arrive.
+
+ @note Setting this function will override the handler set using `ar_barcode_detection_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_barcode_detection_provider_set_update_handler_f(
+ ar_barcode_detection_provider_t barcode_detection_provider,
+ dispatch_queue_t _Nullable barcode_detection_updates_queue,
+ void *_Nullable context,
+ ar_barcode_detection_update_handler_function_t _Nullable barcode_detection_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the barcode detection provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_authorization_type_t ar_barcode_detection_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // barcode_detection_h
+#else
+#import <ARKitCore/barcode_detection.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/barcode_detection.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/camera_frame_provider.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/camera_frame_provider.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/camera_frame_provider.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/camera_frame_provider.h 2025-05-28 02:35:24
@@ -0,0 +1,567 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/camera_frame_provider.h>)
+//
+// camera_frame_provider.h
+// ARKit
+//
+// An enterprise license and/or entitlement is required to receive camera frames, and will otherwise be a no-op.
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#ifndef camera_frame_provider_h
+#define camera_frame_provider_h
+
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <CoreVideo/CVPixelBuffer.h>
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_camera_video_format)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_camera_video_formats)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_camera_frame)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_camera_frame_sample)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_camera_frame_samples)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(26.0));
+
+AR_OBJECT_DECL(ar_camera_frame_parameters)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_camera_frame_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/**
+ Option set describing physical position of a camera sensor on the device relative to the user.
+ */
+API_AVAILABLE(visionos(2.0))
+OS_OPTIONS(ar_camera_position, uint16_t,
+
+ /** Camera position on the left side of the device. */
+ ar_camera_position_left = (1 << 0),
+
+ /** Camera position on the right side of the device. */
+ ar_camera_position_right API_AVAILABLE(visionos(26.0)) = (1 << 1),
+
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ A value describing a type of camera.
+ */
+API_AVAILABLE(visionos(2.0))
+OS_ENUM(ar_camera_type, intptr_t,
+
+ /** The main camera. */
+ ar_camera_type_main = 0,
+
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ A value describing the type of rectification applied to the camera source.
+ */
+API_AVAILABLE(visionos(26.0))
+OS_ENUM(ar_camera_rectification_type, intptr_t,
+
+ /** Mono camera rectification. */
+ ar_camera_rectification_type_mono = 0,
+
+ /** Stereo corrected camera rectification. */
+ ar_camera_rectification_type_stereo_corrected,
+
+) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Video Format
+
+/**
+ Returns a bool value that indicates whether the two camera video formats are equal.
+
+ @param camera_video_format A camera video format to be compared.
+ @param other_camera_video_format The other camera video format to be compared to.
+
+ @return YES if the camera video formats are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool
+ ar_camera_video_format_is_equal_to_camera_video_format(ar_camera_video_format_t _Nullable camera_video_format,
+ ar_camera_video_format_t _Nullable other_camera_video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the minimum frame duration for this video format.
+
+ @param video_format The video format.
+
+ @return The minimum frame duration.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float ar_camera_video_format_get_minimum_frame_duration(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the maximum frame duration for this video format.
+
+ @param video_format The video format.
+
+ @return The maximum frame duration.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float ar_camera_video_format_get_maximum_frame_duration(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frame size for this video format in pixels.
+
+ @param video_format The video format.
+
+ @return The frame size in pixels.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CGSize ar_camera_video_format_get_frame_size(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the pixel format for this video format.
+ @param video_format The video format.
+ @return The pixel format.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN OSType ar_camera_video_format_get_pixel_format(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera type for this video format.
+
+ @param video_format The video format.
+
+ @return The camera type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_type_t ar_camera_video_format_get_camera_type(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera position for this video format.
+
+ @param video_format The video format.
+
+ @return The camera position.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_position_t ar_camera_video_format_get_camera_position(ar_camera_video_format_t video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera rectification type for this video format.
+
+ @param video_format The video format.
+
+ @return The camera rectification type.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN ar_camera_rectification_type_t ar_camera_video_format_get_camera_rectification_type(ar_camera_video_format_t video_format)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Returns a collection of supported video formats for a given camera type and position.
+
+ @param camera_type The camera type.
+ @param camera_position The inclusive set of camera positions that the video formats must match.
+
+ @note This type supports ARC. In non-ARC files, use ar_retain() and ar_release() to retain and release the object.
+ @return An instance of `ar_camera_video_formats_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_camera_video_formats_t
+ar_camera_video_format_copy_supported_video_formats(ar_camera_type_t camera_type, ar_camera_position_t camera_position) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Video Formats Collection
+
+/**
+ Get the count of camera video formats in the collection.
+
+ @param camera_video_formats The camera video formats collection.
+
+ @return The number of camera video formats in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_camera_video_formats_get_count(ar_camera_video_formats_t camera_video_formats) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating camera video formats.
+
+ @param camera_video_format The camera video format.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_camera_video_format_enumerator_t)(ar_camera_video_format_t camera_video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate all supported video formats for this configuration.
+
+ @param camera_video_formats The camera video formats collection.
+ @param camera_video_formats_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_camera_video_formats_enumerate_video_formats(ar_camera_video_formats_t camera_video_formats,
+ ar_camera_video_format_enumerator_t camera_video_formats_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating camera video formats.
+
+ @param context The application-defined context.
+ @param camera_video_format The camera video format.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_camera_video_format_enumerator_function_t)(void *_Nullable context,
+ ar_camera_video_format_t camera_video_format) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate all supported camera video formats for this configuration using a function.
+
+ @param camera_video_formats The camera video formats collection.
+ @param context The application-defined context parameter to pass to the function.
+ @param camera_video_formats_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_camera_video_formats_enumerate_video_formats_f(
+ ar_camera_video_formats_t camera_video_formats,
+ void *_Nullable context,
+ ar_camera_video_format_enumerator_function_t camera_video_formats_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Frame
+
+/**
+ Returns a bool value that indicates whether the two camera frames are equal.
+
+ @param camera_frame A camera frame to be compared.
+ @param other_camera_frame The other camera frame to be compared to.
+
+ @return YES if the camera frames are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_camera_frame_is_equal_to_camera_frame(ar_camera_frame_t _Nullable camera_frame,
+ ar_camera_frame_t _Nullable other_camera_frame) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera frame sample for a given camera position.
+
+ @param camera_frame The camera frame.
+ @param camera_position The camera position.
+
+ @return An instance of `ar_camera_frame_sample_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_frame_sample_t _Nullable ar_camera_frame_get_frame_sample(ar_camera_frame_t camera_frame,
+ ar_camera_position_t camera_position) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the primary frame sample for this camera frame.
+
+ @param camera_frame The camera frame.
+
+ @return An instance of `ar_camera_frame_sample_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_frame_sample_t ar_camera_frame_get_primary_frame_sample(ar_camera_frame_t camera_frame) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the collection of camera frame samples for this camera frame.
+
+ @param camera_frame The camera frame.
+
+ @return An instance of `ar_camera_frame_samples_t`.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN ar_camera_frame_samples_t ar_camera_frame_get_frame_samples(ar_camera_frame_t camera_frame) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Frame Samples
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating camera frame samples.
+
+ @param camera_frame_sample The camera frame sample.
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(26.0))
+typedef bool (^ar_camera_frame_sample_enumerator_t)(ar_camera_frame_sample_t camera_frame_sample) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate all camera frame samples in this collection.
+
+ @param camera_frame_samples The collection of frame buffers.
+ @param camera_frame_sample_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN void
+ar_camera_frame_samples_enumerate_frame_samples(ar_camera_frame_samples_t camera_frame_samples,
+ ar_camera_frame_sample_enumerator_t camera_frame_sample_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating camera frame samples.
+
+ @param context The application-defined context.
+ @param camera_frame_sample The camera frame sample.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(26.0))
+typedef bool (*ar_camera_frame_sample_enumerator_function_t)(void *_Nullable context,
+ ar_camera_frame_sample_t camera_frame_sample) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate all supported camera frame samples for this configuration using a function.
+
+ @param camera_frame_samples The collection of frame buffers.
+ @param context The application-defined context parameter to pass to the function.
+ @param camera_frame_sample_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN void ar_camera_frame_samples_enumerate_frame_samples_f(ar_camera_frame_samples_t camera_frame_samples,
+ void *_Nullable context,
+ ar_camera_frame_sample_enumerator_function_t camera_frame_sample_enumerator_function)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the count of camera frame samples in the collection.
+
+ @param camera_frame_samples The collection of camera frame samples.
+
+ @return The number of camera frame samples in the collection.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN size_t ar_camera_frame_samples_get_count(ar_camera_frame_samples_t camera_frame_samples) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Frame Sample
+
+/**
+ Returns a bool value that indicates whether the two camera frame samples are equal.
+
+ @param camera_frame_sample A camera frame sample to be compared.
+ @param other_camera_frame_sample The other camera frame sample to be compared to.
+
+ @return YES if the camera frame samples are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool
+ ar_camera_frame_sample_is_equal_to_camera_frame_sample(ar_camera_frame_sample_t _Nullable camera_frame_sample,
+ ar_camera_frame_sample_t _Nullable other_camera_frame_sample) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the `CVPixelBufferRef` for this frame buffer.
+
+ @param camera_frame_sample The camera frame sample.
+
+ @return The pixel buffer.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CVPixelBufferRef ar_camera_frame_sample_get_pixel_buffer(ar_camera_frame_sample_t camera_frame_sample) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera frame parameters for this camera frame sample.
+
+ @param camera_frame_sample The camera frame sample.
+
+ @return The camera frame parameters.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_frame_parameters_t ar_camera_frame_sample_get_camera_frame_parameters(ar_camera_frame_sample_t camera_frame_sample)
+ AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Frame Parameters
+
+/**
+ Returns a bool value that indicates whether the two camera frame parameters are equal.
+
+ @param camera_frame_parameters Camera frame parameters to be compared.
+ @param other_camera_frame_parameters The other camera frame parameters to be compared to.
+
+ @return YES if the camera frame parameters are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_camera_frame_parameters_is_equal_to_camera_frame_parameters(ar_camera_frame_parameters_t _Nullable camera_frame_parameters,
+ ar_camera_frame_parameters_t _Nullable other_camera_frame_parameters)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera intrinsics.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The camera intrinsics.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3x3 ar_camera_frame_parameters_get_intrinsics(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera extrinsics.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The camera extrinsics.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_camera_frame_parameters_get_extrinsics(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frame capture timestamp.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The frame capture timestamp as mach absolute time in seconds.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_camera_frame_parameters_get_capture_timestamp(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frame mid exposure timestamp.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The frame mid exposure timestamp as mach absolute time in seconds.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_camera_frame_parameters_get_mid_exposure_timestamp(ar_camera_frame_parameters_t camera_frame_parameters)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the white balance correlated color temperature in kelvin.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The color temperature in kelvin.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN uint32_t ar_camera_frame_parameters_get_color_temperature(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frame exposure duration.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The exposure duration time in seconds.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_camera_frame_parameters_get_exposure_duration(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera type.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The camera type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_type_t ar_camera_frame_parameters_get_camera_type(ar_camera_frame_parameters_t camera_frame_parameters) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the camera position.
+ @param camera_frame_parameters The camera frame parameters.
+ @return The camera position.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_camera_position_t ar_camera_frame_parameters_get_camera_position(ar_camera_frame_parameters_t camera_frame_parameters)
+ AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Camera Frame Provider
+
+/**
+ Create a camera frame provider.
+
+ An enterprise license and/or entitlement is required to receive camera frames, and will otherwise be a no-op.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_camera_frame_provider_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_camera_frame_provider_t ar_camera_frame_provider_create(void) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for observing an updated camera frame.
+ @param camera_frame The camera frame.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_camera_frame_update_handler_t)(ar_camera_frame_t camera_frame) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving camera frame updates for the given video format.
+
+ An enterprise license and/or entitlement is required to receive camera frames, and will otherwise be a no-op.
+
+ @param camera_frame_provider The camera frame provider.
+ @param camera_video_format The camera video format.
+ @param camera_frame_update_queue The camera frame update queue. Passing NULL will default to the main queue.
+ @param camera_frame_update_handler The camera frame update handler.
+
+ @note Setting this handler will override the function set using `ar_camera_frame_provider_set_update_handler_f` for given `ar_camera_video_format_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_camera_frame_provider_set_update_handler(ar_camera_frame_provider_t camera_frame_provider,
+ ar_camera_video_format_t camera_video_format,
+ dispatch_queue_t _Nullable camera_frame_update_queue,
+ ar_camera_frame_update_handler_t _Nullable camera_frame_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for observing an updated camera frame.
+
+ @param context The application-defined context.
+ @param camera_frame The camera frame.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_camera_frame_update_handler_function_t)(void *_Nullable context, ar_camera_frame_t camera_frame) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the function for receiving camera frame updates for the given video format.
+
+ An enterprise license and/or entitlement is required to receive camera frames, and will otherwise be a no-op.
+
+ @param camera_frame_provider The camera frame provider.
+ @param camera_video_format The camera video format.
+ @param camera_frame_update_queue The camera frame update queue. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param camera_frame_update_handler_function The camera frame update handler function.
+
+ @note Setting this function will override the handler set using `ar_camera_frame_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_camera_frame_provider_set_update_handler_f(ar_camera_frame_provider_t camera_frame_provider,
+ ar_camera_video_format_t camera_video_format,
+ dispatch_queue_t _Nullable camera_frame_update_queue,
+ void *_Nullable context,
+ ar_camera_frame_update_handler_function_t _Nullable camera_frame_update_handler_function)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the camera frame provider.
+
+ @return `true` if the camera frame provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_camera_frame_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the camera frame provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_authorization_type_t ar_camera_frame_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // camera_frame_provider_h
+#else
+#import <ARKitCore/camera_frame_provider.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/camera_frame_provider.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data.h 2025-05-28 02:35:24
@@ -0,0 +1,49 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/data.h>)
+//
+// data.h
+// ARKit
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#ifndef data_h
+#define data_h
+
+#import <ARKit/object.h>
+
+#import <os/availability.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_data)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+#pragma mark - Data
+
+/**
+ Get a pointer to the data's bytes.
+
+ @return A pointer to the data's bytes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN const void *ar_data_get_bytes(ar_data_t data) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the length of the data, in bytes.
+
+ @return The length of the data, in bytes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_data_get_length(ar_data_t data) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // data_h
+#else
+#import <ARKitCore/data.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/data.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data_provider.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data_provider.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data_provider.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/data_provider.h 2025-05-31 00:10:27
@@ -0,0 +1,183 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/data_provider.h>)
+//
+// data_provider.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef data_provider_h
+#define data_provider_h
+
+#import <ARKit/authorization.h>
+#import <ARKit/object.h>
+
+#import <os/availability.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Data Provider
+
+AR_OBJECT_DECL(ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+AR_OBJECT_DECL(ar_data_providers)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ State of a data provider.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+OS_ENUM(ar_data_provider_state, intptr_t,
+ ar_data_provider_state_initialized,
+ ar_data_provider_state_running,
+ ar_data_provider_state_paused,
+ ar_data_provider_state_stopped
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the state of a data provider.
+
+ @param data_provider The data provider.
+
+ @return The state of the data provider.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_data_provider_state_t ar_data_provider_get_state(ar_data_provider_t data_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by a data provider.
+
+ @param data_provider The data provider.
+
+ @return The authorization type required by the data provider.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_authorization_type_t ar_data_provider_get_required_authorization_type(ar_data_provider_t data_provider) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Data Providers Collection
+
+/**
+ Create an empty collection of data providers.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_data_providers_t`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_data_providers_t ar_data_providers_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a collection of data providers populated with given data providers.
+
+ @param data_provider The nil-terminated list of data providers to add to a newly created collection.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_data_providers_t`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_data_providers_t ar_data_providers_create_with_data_providers(ar_data_provider_t data_provider, ...)
+ NS_REQUIRES_NIL_TERMINATION AR_REFINED_FOR_SWIFT;
+
+/**
+ Add a data provider to a collection.
+
+ @param data_providers The collection to expand.
+ @param data_provider_to_add The data provider to add.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_data_providers_add_data_provider(ar_data_providers_t data_providers, ar_data_provider_t data_provider_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add data providers to a collection.
+
+ @param data_providers The collection to expand.
+ @param data_providers_to_add The collection of data providers to add.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_data_providers_add_data_providers(ar_data_providers_t data_providers,
+ ar_data_providers_t data_providers_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove a data provider from a collection.
+
+ @param data_providers The collection from which to remove.
+ @param data_provider_to_remove The data provider to remove.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_data_providers_remove_data_provider(ar_data_providers_t data_providers,
+ ar_data_provider_t data_provider_to_remove) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove data providers from a collection.
+
+ @param data_providers The collection from which to remove.
+ @param data_providers_to_remove The collection of data providers to remove.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_data_providers_remove_data_providers(ar_data_providers_t data_providers,
+ ar_data_providers_t data_providers_to_remove) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the count of data providers in a collection.
+
+ @param data_providers The collection of data providers.
+
+ @return The number of data providers in the collection.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN size_t ar_data_providers_get_count(ar_data_providers_t data_providers) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of data providers.
+
+ @param data_provider The data provider.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef bool (^ar_data_providers_enumerator_t)(ar_data_provider_t data_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of data providers.
+
+ @param data_providers The collection of data providers.
+ @param data_providers_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_data_providers_enumerate_data_providers(ar_data_providers_t data_providers,
+ ar_data_providers_enumerator_t data_providers_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of data providers.
+
+ @param context The application-defined context.
+ @param data_provider The data provider.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef bool (*ar_data_providers_enumerator_function_t)(void *_Nullable context, ar_data_provider_t data_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of data providers using a function.
+
+ @param data_providers The collection of data providers.
+ @param context The application-defined context parameter to pass to the function.
+ @param data_providers_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void
+ar_data_providers_enumerate_data_providers_f(ar_data_providers_t data_providers,
+ void *_Nullable context,
+ ar_data_providers_enumerator_function_t data_providers_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // data_provider_h
+#else
+#import <ARKitCore/data_provider.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/data_provider.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/environment_light_estimation.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/environment_light_estimation.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/environment_light_estimation.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/environment_light_estimation.h 2025-05-28 02:35:24
@@ -0,0 +1,294 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/environment_light_estimation.h>)
+//
+// environment_light_estimation.h
+// ARKit
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#ifndef environment_light_estimation_h
+#define environment_light_estimation_h
+
+#ifdef __OBJC__
+#import <Metal/Metal.h>
+#endif // __OBJC__
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <dispatch/dispatch.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_environment_probe_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_environment_probe_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_environment_light_estimation_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_environment_light_estimation_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+#pragma mark - Environment Probe Anchor
+
+/**
+ Returns a bool value that indicates whether the two environment probe anchors are equal.
+
+ @param environment_probe_anchor A environment probe anchor to be compared.
+ @param other_environment_probe_anchor The other environment probe anchor to be compared to.
+
+ @return YES if the environment probe anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_environment_probe_anchor_is_equal_to_environment_probe_anchor(
+ ar_environment_probe_anchor_t _Nullable environment_probe_anchor,
+ ar_environment_probe_anchor_t _Nullable other_environment_probe_anchor) AR_REFINED_FOR_SWIFT;
+
+#ifdef __OBJC__
+/**
+ Get the environment texture of an environment probe anchor.
+
+ @param environment_probe An environment probe anchor.
+
+ @discussion The texture is provided as a cube using MTLTextureTypeCube,
+ containing rgb floating point linear high-dynamic range values in P3 color space.
+ @note Textures could be nil if the person is not in a well-lit environment. The lifetime of this texture is tied to the lifetime of the
+ `ar_environment_probe_anchor_t`.
+ @return Returns a MTLTextureTypeCube.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN id<MTLTexture> _Nullable ar_environment_probe_anchor_get_environment_texture(ar_environment_probe_anchor_t environment_probe)
+ AR_REFINED_FOR_SWIFT;
+#endif // __OBJC__
+
+/**
+ Get the camera scale reference of an environment probe anchor.
+
+ @param environment_probe An environment probe anchor.
+
+ @return Returns the camera scale reference of a pixel with rgb value [1,1,1] in the environment texture.
+
+ @discussion The environment texture stores floating point linear high-dynamic range rgb values in P3 color space.
+ In order to have a consistent brightness between texture updates, the cameraScaleReference allows you to translate the local brightness from the
+ current environment texture to the absolute brightness range from the camera.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float ar_environment_probe_anchor_get_camera_scale_reference(ar_environment_probe_anchor_t environment_probe) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Environment Probe Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_environment_probe_anchor_get_identifier(ar_environment_probe_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_environment_probe_anchor_get_origin_from_anchor_transform(ar_environment_probe_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_environment_probe_anchor_get_timestamp(ar_environment_probe_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Environment Probe Anchors Collection
+
+/**
+ Get the count of environment probe anchors in the collection.
+
+ @param environment_probe_anchors The collection of environment probe anchors.
+
+ @return The number of environment probe anchors in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_environment_probe_anchors_get_count(ar_environment_probe_anchors_t environment_probe_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of environment probe anchors.
+
+ @param environment_probe_anchor The environment probe anchor.
+
+ @return Return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_environment_probe_anchors_enumerator_t)(ar_environment_probe_anchor_t environment_probe_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of environment probe anchors.
+
+ @param environment_probe_anchors The collection of environment probe anchors.
+ @param environment_probe_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_environment_probe_anchors_enumerate_anchors(ar_environment_probe_anchors_t environment_probe_anchors,
+ ar_environment_probe_anchors_enumerator_t environment_probe_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of environment probe anchors.
+
+ @param context The application-defined context.
+ @param environment_probe_anchor The environment probe anchor.
+
+ @return Return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_environment_probe_anchors_enumerator_function_t)(void *_Nullable context,
+ ar_environment_probe_anchor_t environment_probe_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of environment probe anchors.
+
+ @param environment_probe_anchors The collection of environment probe anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param environment_probe_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_environment_probe_anchors_enumerate_anchors_f(
+ ar_environment_probe_anchors_t environment_probe_anchors,
+ void *_Nullable context,
+ ar_environment_probe_anchors_enumerator_function_t environment_probe_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Environment Light Estimation Configuration
+
+/**
+ Create an environment light estimation configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_environment_light_estimation_configuration_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_environment_light_estimation_configuration_t ar_environment_light_estimation_configuration_create(void)
+ AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Environment Light Estimation Provider
+
+#ifdef __BLOCKS__
+/**
+ Handler triggered when there are updates to environment probe anchors.
+
+ @param added_anchors Collection of anchors that are added.
+ @param updated_anchors Collection of anchors that are updated.
+ @param removed_anchors Collection of anchors that are removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_environment_light_estimation_update_handler_t)(ar_environment_probe_anchors_t added_anchors,
+ ar_environment_probe_anchors_t updated_anchors,
+ ar_environment_probe_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function to be called when there are updates to environment probe anchors.
+
+ @param context The application-defined context.
+ @param added_anchors Collection of anchors that are added.
+ @param updated_anchors Collection of anchors that are updated.
+ @param removed_anchors Collection of anchors that are removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_environment_light_estimation_update_handler_function_t)(void *_Nullable context,
+ ar_environment_probe_anchors_t added_anchors,
+ ar_environment_probe_anchors_t updated_anchors,
+ ar_environment_probe_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create an environment light estimation provider.
+
+ @param environment_light_estimation_configuration Environment light estimation configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_environment_light_estimation_provider_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_environment_light_estimation_provider_t ar_environment_light_estimation_provider_create(
+ ar_environment_light_estimation_configuration_t environment_light_estimation_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determines whether this device supports the environment light estimation provider.
+
+ @return Returns `true` if the environment light estimation provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_environment_light_estimation_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving environment light estimation updates.
+
+ @param environment_light_estimation_provider Environment light estimation provider.
+ @param environment_light_estimation_anchor_updates_queue Queue on which the handler will be executed,
+ sending NULL will default to the main queue.
+ @param environment_light_estimation_update_handler Handler to be triggered when new data
+ arrives.
+
+ @note Setting this function will override the handler set using `ar_environment_light_estimation_provider_set_probe_update_handler_f`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_environment_light_estimation_provider_set_update_handler(
+ ar_environment_light_estimation_provider_t environment_light_estimation_provider,
+ dispatch_queue_t _Nullable environment_light_estimation_anchor_updates_queue,
+ ar_environment_light_estimation_update_handler_t _Nullable environment_light_estimation_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving environment light estimation updates.
+
+ @param environment_light_estimation_provider Environment light estimation provider.
+ @param environment_light_estimation_anchor_updates_queue Queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param environment_light_estimation_update_handler_function The function to be called when new data arrives.
+
+ @note Setting this function will override the handler set using `ar_environment_light_estimation_provider_set_probe_update_handler`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_environment_light_estimation_provider_set_update_handler_f(
+ ar_environment_light_estimation_provider_t environment_light_estimation_provider,
+ dispatch_queue_t _Nullable environment_light_estimation_anchor_updates_queue,
+ void *_Nullable context,
+ ar_environment_light_estimation_update_handler_function_t _Nullable environment_light_estimation_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the environment light estimation provider.
+
+ @return Authorization type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_authorization_type_t ar_environment_light_estimation_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // environment_light_estimation_h
+#else
+#import <ARKitCore/environment_light_estimation.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/environment_light_estimation.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/error.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/error.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/error.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/error.h 2025-05-28 02:35:24
@@ -0,0 +1,54 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/error.h>)
+//
+// error.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef error_h
+#define error_h
+
+#import <ARKit/object.h>
+
+#import <CoreFoundation/CFBase.h>
+#import <CoreFoundation/CFError.h>
+#import <os/availability.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Error
+
+AR_OBJECT_DECL(ar_error)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+API_AVAILABLE(visionos(1.0), macos(26.0)) AR_EXTERN const CFStringRef ar_error_domain AR_REFINED_FOR_SWIFT;
+API_AVAILABLE(visionos(1.0), macos(26.0)) typedef intptr_t ar_error_code_t AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the error code associated with an error.
+
+ @param error The `ar_error_t` instance.
+
+ @return The error code.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_error_code_t ar_error_get_error_code(ar_error_t error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy out a `CFErrorRef` that represents an `ar_error_t`.
+
+ @param error The `ar_error_t` instance.
+
+ @return The `CFErrorRef`. The caller is responsible for calling `CFRelease` on the returned pointer.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN CF_RETURNS_RETAINED CFErrorRef ar_error_copy_cf_error(ar_error_t error) AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // error_h
+#else
+#import <ARKitCore/error.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/error.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_skeleton.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_skeleton.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_skeleton.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_skeleton.h 2025-05-31 00:10:26
@@ -0,0 +1,136 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/hand_skeleton.h>)
+//
+// hand_skeleton.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef hand_skeleton_h
+#define hand_skeleton_h
+
+#import <ARKit/object.h>
+#import <ARKit/skeleton_joint.h>
+
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_hand_skeleton)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+#pragma mark - Hand Skeleton Constants
+
+API_AVAILABLE(visionos(1.0))
+OS_ENUM(ar_hand_skeleton_joint_name, uint64_t,
+ ar_hand_skeleton_joint_name_wrist = 0,
+ ar_hand_skeleton_joint_name_thumb_knuckle = 1,
+ ar_hand_skeleton_joint_name_thumb_intermediate_base = 2,
+ ar_hand_skeleton_joint_name_thumb_intermediate_tip = 3,
+ ar_hand_skeleton_joint_name_thumb_tip = 4,
+ ar_hand_skeleton_joint_name_index_finger_metacarpal = 5,
+ ar_hand_skeleton_joint_name_index_finger_knuckle = 6,
+ ar_hand_skeleton_joint_name_index_finger_intermediate_base = 7,
+ ar_hand_skeleton_joint_name_index_finger_intermediate_tip = 8,
+ ar_hand_skeleton_joint_name_index_finger_tip = 9,
+ ar_hand_skeleton_joint_name_middle_finger_metacarpal = 10,
+ ar_hand_skeleton_joint_name_middle_finger_knuckle = 11,
+ ar_hand_skeleton_joint_name_middle_finger_intermediate_base = 12,
+ ar_hand_skeleton_joint_name_middle_finger_intermediate_tip = 13,
+ ar_hand_skeleton_joint_name_middle_finger_tip = 14,
+ ar_hand_skeleton_joint_name_ring_finger_metacarpal = 15,
+ ar_hand_skeleton_joint_name_ring_finger_knuckle = 16,
+ ar_hand_skeleton_joint_name_ring_finger_intermediate_base = 17,
+ ar_hand_skeleton_joint_name_ring_finger_intermediate_tip = 18,
+ ar_hand_skeleton_joint_name_ring_finger_tip = 19,
+ ar_hand_skeleton_joint_name_little_finger_metacarpal = 20,
+ ar_hand_skeleton_joint_name_little_finger_knuckle = 21,
+ ar_hand_skeleton_joint_name_little_finger_intermediate_base = 22,
+ ar_hand_skeleton_joint_name_little_finger_intermediate_tip = 23,
+ ar_hand_skeleton_joint_name_little_finger_tip = 24,
+ ar_hand_skeleton_joint_name_forearm_wrist = 25,
+ ar_hand_skeleton_joint_name_forearm_arm = 26
+) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Hand Skeleton Functions
+
+/**
+ Create a hand skeleton in a neutral pose that allows access to constants like joint indices, names, counts, etc.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_hand_skeleton_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_hand_skeleton_t ar_hand_skeleton_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Returns a bool value that indicates whether the two hand skeletons are equal.
+
+ @param hand_skeleton A hand skeleton to be compared.
+ @param other_hand_skeleton The other hand skeleton to be compared to.
+
+ @return YES if the hand skeletons are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_hand_skeleton_is_equal_to_hand_skeleton(ar_hand_skeleton_t _Nullable hand_skeleton,
+ ar_hand_skeleton_t _Nullable other_hand_skeleton) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a joint by it's name from the hand skeleton.
+
+ @param hand_skeleton The hand skeleton.
+ @param joint_name The joint index.
+
+ @return An instance of `ar_skeleton_joint_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_skeleton_joint_t ar_hand_skeleton_get_joint_named(ar_hand_skeleton_t hand_skeleton,
+ ar_hand_skeleton_joint_name_t joint_name) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the total number of joints in the hand skeleton.
+
+ @param hand_skeleton The hand skeleton.
+
+ @return The number of joints.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN uint64_t ar_hand_skeleton_get_joint_count(ar_hand_skeleton_t hand_skeleton) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Enumerate the names of joints in an `ar_hand_skeleton_t` using an enumeration block.
+
+ @param hand_skeleton The hand skeleton.
+ @param joint_enumerator The enumerator block.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_hand_skeleton_enumerate_joints(ar_hand_skeleton_t hand_skeleton,
+ ar_skeleton_joint_enumerator_t joint_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Enumerate the joints in an `ar_hand_skeleton_t` using a function.
+
+ @param hand_skeleton The hand skeleton.
+ @param context The application-defined context parameter to pass to the function.
+ @param joint_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_hand_skeleton_enumerate_joints_f(ar_hand_skeleton_t hand_skeleton,
+ void *_Nullable context,
+ ar_skeleton_joint_enumerator_function_t joint_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // hand_skeleton_h
+#else
+#import <ARKitCore/hand_skeleton.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/hand_skeleton.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_tracking.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_tracking.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_tracking.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/hand_tracking.h 2025-05-28 02:35:24
@@ -0,0 +1,315 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/hand_tracking.h>)
+//
+// hand_tracking.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef hand_tracking_h
+#define hand_tracking_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/hand_skeleton.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+/**
+ Status enum values for the hand anchor at a specified timestamp from the provider.
+ */
+API_AVAILABLE(visionos(2.0))
+OS_ENUM(ar_hand_anchor_query_status, intptr_t,
+ // The hand anchor at the specified timestamp was successfully obtained.
+ ar_hand_anchor_query_status_success = 0,
+ // The hand anchor at the specified timestamp failed to be obtained.
+ ar_hand_anchor_query_status_failure)
+AR_REFINED_FOR_SWIFT;
+
+AR_OBJECT_DECL_SUBCLASS(ar_hand_anchor, ar_trackable_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_hand_tracking_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_hand_tracking_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+#pragma mark - Hand Anchor
+
+/**
+ Enum for the chirality of a hand.
+ */
+API_AVAILABLE(visionos(1.0))
+OS_ENUM(ar_hand_chirality, intptr_t,
+ ar_hand_chirality_right,
+ ar_hand_chirality_left
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enum for hand fidelity.
+ */
+API_AVAILABLE(visionos(26.0))
+OS_ENUM(ar_hand_fidelity, intptr_t,
+ ar_hand_fidelity_nominal,
+ ar_hand_fidelity_high
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a hand anchor.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_hand_anchor_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_hand_anchor_t ar_hand_anchor_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Returns a bool value that indicates whether the two hand anchors are equal.
+
+ @param anchor A hand anchor to be compared.
+ @param other_anchor The other hand anchor to be compared to.
+
+ @return YES if the hand anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_hand_anchor_is_equal_to_hand_anchor(ar_hand_anchor_t _Nullable anchor,
+ ar_hand_anchor_t _Nullable other_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the hand skeleton of a hand anchor.
+
+ @param hand_anchor The hand anchor.
+
+ @return The skeleton.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_hand_skeleton_t _Nullable ar_hand_anchor_get_hand_skeleton(ar_hand_anchor_t hand_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the chirality of the hand tracked by a hand anchor.
+
+ @param hand_anchor The hand anchor.
+
+ @return The chirality of the hand.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_hand_chirality_t ar_hand_anchor_get_chirality(ar_hand_anchor_t hand_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the fidelity of the hand anchor.
+
+ @param hand_anchor The hand anchor.
+
+ @return The fidelity of the anchor.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN ar_hand_fidelity_t ar_hand_anchor_get_fidelity(ar_hand_anchor_t hand_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Hand Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_hand_anchor_get_identifier(ar_hand_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_hand_anchor_get_origin_from_anchor_transform(ar_hand_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_hand_anchor_get_timestamp(ar_hand_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_hand_anchor_is_tracked(ar_hand_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Hand Tracking Configuration
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to hand tracking.
+
+ @param hand_anchor_left The latest left hand anchor.
+ @param hand_anchor_right The latest right hand anchor.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (^ar_hand_tracking_update_handler_t)(ar_hand_anchor_t hand_anchor_left, ar_hand_anchor_t hand_anchor_right) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function to be called when there are updates to hand tracking.
+
+ @param context The application-defined context.
+ @param hand_anchor_left The latest left hand anchor.
+ @param hand_anchor_right The latest right hand anchor.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (*ar_hand_tracking_update_handler_function_t)(void *_Nullable context,
+ ar_hand_anchor_t hand_anchor_left,
+ ar_hand_anchor_t hand_anchor_right) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a hand tracking configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_hand_tracking_configuration_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_hand_tracking_configuration_t ar_hand_tracking_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Hand Tracking Provider
+
+/**
+ Create a hand tracking provider.
+
+ @param hand_tracking_configuration The configuration for hand tracking.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_hand_tracking_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_hand_tracking_provider_t
+ar_hand_tracking_provider_create(ar_hand_tracking_configuration_t hand_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving hand tracking updates.
+
+ @param hand_tracking_provider The hand tracking provider.
+ @param hand_anchor_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param hand_tracking_update_handler The handler to be called when new data arrives.
+
+ @note Setting this handler will override the function set using `ar_hand_tracking_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void
+ar_hand_tracking_provider_set_update_handler(ar_hand_tracking_provider_t hand_tracking_provider,
+ dispatch_queue_t _Nullable hand_anchor_updates_queue,
+ ar_hand_tracking_update_handler_t _Nullable hand_tracking_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving hand tracking updates.
+
+ @param hand_tracking_provider The hand tracking provider.
+ @param hand_anchor_updates_queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param hand_tracking_update_handler_function The function to be called when new data arrives.
+
+ @note Setting this function will override the handler set using `ar_hand_tracking_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_hand_tracking_provider_set_update_handler_f(
+ ar_hand_tracking_provider_t hand_tracking_provider,
+ dispatch_queue_t _Nullable hand_anchor_updates_queue,
+ void *_Nullable context,
+ ar_hand_tracking_update_handler_function_t _Nullable hand_tracking_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the hand tracking provider.
+
+ @return `true` if the hand tracking provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_hand_tracking_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Fill the given `ar_hand_anchor_t` instances with the latest hand tracking data. Subsequent calls will continue returning the latest hand tracking
+ data. New anchor data will be returned when the hand tracking data is updated.
+ @note For apps compiled with a visionOS 1.0 SDK, subsequent calls to this function will not update the given `ar_hand_anchor_t` instances, and will
+ return `false` until the latest hand tracking data has arrived.
+
+ @param hand_tracking_provider The hand tracking provider.
+ @param hand_anchor_left The `ar_hand_anchor_t` instance for the left hand to be updated.
+ @param hand_anchor_right The `ar_hand_anchor_t` instance for the right hand to be updated.
+
+ @return `true` on success while the `hand_tracking_provider` is running, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_hand_tracking_provider_get_latest_anchors(ar_hand_tracking_provider_t hand_tracking_provider,
+ ar_hand_anchor_t hand_anchor_left,
+ ar_hand_anchor_t hand_anchor_right) AR_REFINED_FOR_SWIFT;
+
+/**
+ Fill the given `ar_hand_anchor_t` instances with the best estimated tracking data given the provided `timestamp`.
+
+ The provided `timestamp`when rendering should be obtained from `cp_frame_timing_get_trackable_anchor_time`.
+
+ @code
+ cp_time_t anchor_prediction_time = cp_frame_timing_get_trackable_anchor_time(timing);
+ CFTimeInterval anchor_prediction_time_seconds = cp_time_to_cf_time_interval(anchor_prediction_time);
+
+ ar_hand_tracking_provider_query_anchors_at_timestamp(provider, hand_anchor_left, hand_anchor_right);
+
+ if (ar_trackable_anchor_is_tracked(hand_anchor_left)) {
+ ...
+ }
+
+ if (ar_trackable_anchor_is_tracked(hand_anchor_right)) {
+ ...
+ }
+ @endcode
+
+ @param hand_tracking_provider The hand tracking provider.
+ @param timestamp Target timestamp, mach absolute time in seconds.
+ @param[out] hand_anchor_left The anchor instance for the left hand to be updated.
+ @param[out] hand_anchor_right The anchor instance for the right hand to be updated.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN
+ar_hand_anchor_query_status_t ar_hand_tracking_provider_query_anchors_at_timestamp(ar_hand_tracking_provider_t hand_tracking_provider,
+ CFTimeInterval timestamp,
+ ar_hand_anchor_t hand_anchor_left,
+ ar_hand_anchor_t hand_anchor_right) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the hand tracking provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_authorization_type_t ar_hand_tracking_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // hand_tracking_h
+#else
+#import <ARKitCore/hand_tracking.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/hand_tracking.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/identifiers.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/identifiers.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/identifiers.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/identifiers.h 2025-05-28 02:35:24
@@ -0,0 +1,101 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/identifiers.h>)
+//
+// identifiers.h
+// ARKit
+//
+// Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#ifndef identifiers_h
+#define identifiers_h
+
+#import <ARKit/object.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_identifiers)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+#pragma mark - Identifiers Collection
+
+/**
+ Returns a bool value that indicates whether the two collections of identifiers are equal.
+
+ @param identifiers A collection of identifiers to be compared.
+ @param other_identifiers The other collection of identifiers to be compared to.
+
+ @return YES if the collections of identifiers are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_identifiers_is_equal_to_identifiers(ar_identifiers_t _Nullable identifiers,
+ ar_identifiers_t _Nullable other_identifiers) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the count of identifiers in a collection.
+
+ @param identifiers The collection of identifiers.
+
+ @return The number of identifiers in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_identifiers_get_count(ar_identifiers_t identifiers) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of identifiers.
+
+ @param identifier The identifier.
+
+ @note The `identifier` will have the same lifetime as the scope of the enumerator.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_identifiers_enumerator_t)(uuid_t _Nonnull identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of identifiers.
+
+ @param identifiers The collection of identifiers.
+ @param identifiers_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_identifiers_enumerate_identifiers(ar_identifiers_t identifiers,
+ ar_identifiers_enumerator_t identifiers_enumerator) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of identifiers.
+
+ @param context The application-defined context.
+ @param identifier The identifier.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_identifiers_enumerator_function_t)(void *_Nullable context, uuid_t _Nonnull identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of identifiers using a function.
+
+ @param identifiers The collection of identifiers.
+ @param context The application-defined context parameter to pass to the function.
+ @param identifiers_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_identifiers_enumerate_identifiers_f(ar_identifiers_t identifiers,
+ void *_Nullable context,
+ ar_identifiers_enumerator_function_t identifiers_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif /* identifiers_h */
+#else
+#import <ARKitCore/identifiers.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/identifiers.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/image_tracking.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/image_tracking.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/image_tracking.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/image_tracking.h 2025-05-28 02:35:24
@@ -0,0 +1,513 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/image_tracking.h>)
+//
+// image_tracking.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef image_tracking_h
+#define image_tracking_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <CoreVideo/CVPixelBuffer.h>
+#import <ImageIO/CGImageProperties.h>
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/simd.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_image_anchor, ar_trackable_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_image_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_reference_image)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_reference_images)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_image_tracking_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_image_tracking_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+#pragma mark - Image Anchor
+
+/**
+ Returns a bool value that indicates whether the two image anchors are equal.
+
+ @param anchor A image anchor to be compared.
+ @param other_anchor The other image anchor to be compared to.
+
+ @return YES if the image anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_image_anchor_is_equal_to_image_anchor(ar_image_anchor_t _Nullable anchor,
+ ar_image_anchor_t _Nullable other_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the estimated scale factor from an image anchor.
+
+ @param image_anchor The image anchor.
+
+ @return The factor between estimated physical size and provided size.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN float ar_image_anchor_get_estimated_scale_factor(ar_image_anchor_t image_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the underlying tracked reference image from an image anchor.
+
+ @param image_anchor The image anchor to get the reference image from.
+
+ @note This type supports ARC.
+ @return An instance of `ar_reference_image_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_reference_image_t ar_image_anchor_get_reference_image(ar_image_anchor_t image_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Image Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_image_anchor_get_identifier(ar_image_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_image_anchor_get_origin_from_anchor_transform(ar_image_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_image_anchor_get_timestamp(ar_image_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_image_anchor_is_tracked(ar_image_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Image Anchors Collection
+
+/**
+ Get the count of image anchors in a collection.
+
+ @param image_anchors The collection of image anchors.
+
+ @return The number of image anchors in the collection.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_image_anchors_get_count(ar_image_anchors_t image_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of image anchors.
+
+ @param image_anchor The image anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (^ar_image_anchors_enumerator_t)(ar_image_anchor_t image_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of image anchors.
+
+ @param image_anchors The collection of image anchors.
+ @param image_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_image_anchors_enumerate_anchors(ar_image_anchors_t image_anchors,
+ ar_image_anchors_enumerator_t image_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of image anchors.
+
+ @param context The application-defined context.
+ @param image_anchor The image anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (*ar_image_anchors_enumerator_function_t)(void *_Nullable context, ar_image_anchor_t image_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of image anchors using a function.
+
+ @param image_anchors The collection of image anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param image_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_image_anchors_enumerate_anchors_f(ar_image_anchors_t image_anchors,
+ void *_Nullable context,
+ ar_image_anchors_enumerator_function_t image_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Reference Image
+
+/**
+ Create a reference image from a `CVPixelBufferRef`.
+
+ @param pixelBuffer The reference image as `CVPixelBuffer`.
+ @param orientation The image orientation.
+ @param physicalWidth The width of the physical object, in meters.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_reference_image_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_reference_image_t ar_reference_image_create_from_pixel_buffer(CVPixelBufferRef pixelBuffer,
+ CGImagePropertyOrientation orientation,
+ float physicalWidth) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a reference image from a `CGImageRef`.
+
+ @param image The reference image as `CGImageRef`.
+ @param orientation The image orientation.
+ @param physicalWidth The width of the physical object, in meters.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_reference_image_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_reference_image_t ar_reference_image_create_from_cgimage(CGImageRef image,
+ CGImagePropertyOrientation orientation,
+ float physicalWidth) AR_REFINED_FOR_SWIFT;
+
+/**
+ Returns a bool value that indicates whether the two reference images are equal.
+
+ @param reference_image A reference image to be compared.
+ @param other_reference_image The other reference image to be compared to.
+
+ @return YES if the reference images are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_reference_image_is_equal_to_reference_image(ar_reference_image_t _Nullable reference_image,
+ ar_reference_image_t _Nullable other_reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set a reference image's name.
+
+ @param reference_image The reference image.
+ @param name The name to identify the reference image with, or NULL to reset the name.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_reference_image_set_name(ar_reference_image_t reference_image, const char *_Nullable name) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a reference image's name.
+
+ @param reference_image The reference image.
+
+ @note The returned value will have the same lifetime as the input `ar_reference_image_t`.
+ @return The name of the reference image, or NULL if no name is set.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN const char *_Nullable ar_reference_image_get_name(ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a reference image's resource group name.
+
+ @param reference_image The reference image.
+
+ @note The returned value will have the same lifetime as the input `ar_reference_image_t`.
+ @return The resource group name of the reference image, or NULL if it is not set. It will only be set if the reference image was loaded from a
+ resource group.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN const char *_Nullable ar_reference_image_get_resource_group_name(ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the width of a reference image, in meters.
+
+ @param reference_image The reference image.
+
+ @return The physical width of the reference image, in meters.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN float ar_reference_image_get_physical_width(ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the height of a reference image, in meters.
+
+ @param reference_image The reference image.
+
+ @return The physical height of the image, in meters.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN float ar_reference_image_get_physical_height(ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Reference Images Collection
+
+/**
+ Create an empty collection of reference images.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_reference_images_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_reference_images_t ar_reference_images_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Load reference images from a bundle into a new collection.
+
+ @param group_name The group to load images from.
+ @param bundle The bundle to load. If NULL, the main bundle will be loaded.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_reference_images_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_reference_images_t
+ar_reference_images_load_reference_images_in_group(const char *group_name, CFBundleRef _Nullable bundle) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add a reference image to a collection.
+
+ @discussion The image must be unique. A duplicate of any existing image in the collection will not be added.
+
+ @param reference_images The collection of reference images to expand.
+ @param image_to_add The reference image to add.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_reference_images_add_image(ar_reference_images_t reference_images, ar_reference_image_t image_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add reference images to a collection.
+
+ @discussion The images must be unique. Duplicates of any existing image in the collection will not be added.
+
+ @param reference_images The collection of reference images to expand.
+ @param images_to_add The collection of reference images to add.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_reference_images_add_images(ar_reference_images_t reference_images, ar_reference_images_t images_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the count of reference images in the collection.
+
+ @param reference_images The collection of reference images.
+
+ @return The number of reference images in the collection.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_reference_images_get_count(ar_reference_images_t reference_images) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of reference images.
+
+ @param reference_image The reference image.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (^ar_reference_images_enumerator_t)(ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of reference images.
+
+ @param reference_images The collection of reference images.
+ @param reference_images_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_reference_images_enumerate_images(ar_reference_images_t reference_images,
+ ar_reference_images_enumerator_t reference_images_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of reference images.
+
+ @param context The application-defined context.
+ @param reference_image The reference image.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (*ar_reference_images_enumerator_function_t)(void *_Nullable context, ar_reference_image_t reference_image) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of reference images using a function.
+
+ @param reference_images The collection of reference images.
+ @param context The application-defined context parameter to pass to the function.
+ @param reference_images_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void
+ar_reference_images_enumerate_images_f(ar_reference_images_t reference_images,
+ void *_Nullable context,
+ ar_reference_images_enumerator_function_t reference_images_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Image Tracking Configuration
+
+/**
+ Create an image tracking configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_image_tracking_configuration_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_image_tracking_configuration_t ar_image_tracking_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add reference images to the set of images to be tracked. The image tracking configuration can run without any reference images, but will not detect
+ anything.
+
+ @param image_tracking_configuration The configuration for image tracking.
+ @param reference_images The reference images to add.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_image_tracking_configuration_add_reference_images(ar_image_tracking_configuration_t image_tracking_configuration,
+ ar_reference_images_t reference_images) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Image Tracking Provider
+
+/**
+ Create an image tracking provider.
+
+ @param image_tracking_configuration The configuration for image tracking.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_image_tracking_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_image_tracking_provider_t
+ar_image_tracking_provider_create(ar_image_tracking_configuration_t image_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to image anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (^ar_image_tracking_update_handler_t)(ar_image_anchors_t added_anchors,
+ ar_image_anchors_t updated_anchors,
+ ar_image_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving image tracking updates.
+
+ @param image_tracking_provider The image tracking provider.
+ @param image_tracking_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param image_tracking_update_handler The handler to be called when new image tracking data arrives.
+
+ @note Setting this handler will override the function set using `ar_image_tracking_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void
+ar_image_tracking_provider_set_update_handler(ar_image_tracking_provider_t image_tracking_provider,
+ dispatch_queue_t _Nullable image_tracking_updates_queue,
+ ar_image_tracking_update_handler_t _Nullable image_tracking_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to image anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (*ar_image_tracking_update_handler_function_t)(void *_Nullable context,
+ ar_image_anchors_t added_anchors,
+ ar_image_anchors_t updated_anchors,
+ ar_image_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the function for receiving image tracking updates.
+
+ @param image_tracking_provider The image tracking provider.
+ @param image_tracking_updates_queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param image_tracking_update_handler_function The function to be called when new image tracking data arrives.
+
+ @note Setting this function will override the handler set using `ar_image_tracking_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_image_tracking_provider_set_update_handler_f(
+ ar_image_tracking_provider_t image_tracking_provider,
+ dispatch_queue_t _Nullable image_tracking_updates_queue,
+ void *_Nullable context,
+ ar_image_tracking_update_handler_function_t _Nullable image_tracking_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy all image anchors.
+
+ @param image_tracking_provider The image tracking provider.
+
+ @return The collection of all image anchors. This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the
+ object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_image_anchors_t
+ar_image_tracking_provider_copy_all_image_anchors(ar_image_tracking_provider_t image_tracking_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the image tracking provider.
+
+ @return `true` if the image tracking provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_image_tracking_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the image tracking provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_authorization_type_t ar_image_tracking_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // image_tracking_h
+#else
+#import <ARKitCore/image_tracking.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/image_tracking.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object.h 2025-05-28 02:35:24
@@ -0,0 +1,115 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/object.h>)
+//
+// object.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+#ifndef ar_object_h
+#define ar_object_h
+
+/**
+ By default, all ARKit objects are declared as Objective-C types when building with an
+ Objective-C compiler.
+
+ To opt-out of this behavior, add `-DAR_OBJECT_USE_OBJC=0` to your compiler flags.
+
+ @seealso `<os/object.h>`
+ */
+
+#import <Availability.h>
+#import <os/availability.h>
+#import <os/base.h>
+
+#ifndef AR_OBJECT_USE_OBJC
+#define AR_OBJECT_USE_OBJC OS_OBJECT_USE_OBJC
+#endif // AR_OBJECT_USE_OBJC
+
+#ifdef __OBJC__
+// Compiling for ObjC.
+#import <Foundation/Foundation.h>
+#import <objc/NSObjCRuntime.h>
+#else // __OBJC__
+// Compiling for C.
+#import <stdbool.h>
+#import <stdint.h>
+#define NS_REQUIRES_NIL_TERMINATION
+#endif // __OBJC__
+
+#if defined(__cplusplus)
+#define AR_EXTERN extern "C"
+#else
+#define AR_EXTERN extern
+#endif
+
+#if !defined(AR_EXTERN_C_BEGIN) && defined(__cplusplus)
+#define AR_EXTERN_C_BEGIN extern "C" {
+#define AR_EXTERN_C_END }
+#elif !defined(AR_EXTERN_C_BEGIN) && !defined(__cplusplus)
+#define AR_EXTERN_C_BEGIN
+#define AR_EXTERN_C_END
+#endif
+
+#define AR_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
+#define AR_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
+#define AR_REFINED_FOR_SWIFT OS_REFINED_FOR_SWIFT
+
+#ifndef AR_MT_UNSAFE
+#define AR_MT_UNSAFE __attribute__((annotate("AR_MT_UNSAFE")))
+#endif
+
+#if AR_OBJECT_USE_OBJC
+
+#define AR_OBJECT_DECL(type) OS_OBJECT_DECL(type)
+#define AR_OBJECT_DECL_SUBCLASS(subclass, parentclass) OS_OBJECT_DECL_SUBCLASS(subclass, parentclass)
+#define AR_OBJECT_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED
+#define AR_SWIFT_SENDABLE NS_SWIFT_SENDABLE
+
+#else // AR_OBJECT_USE_OBJC
+
+#define AR_OBJECT_DECL(type) \
+ struct type##_s; \
+ typedef struct type##_s *type##_t
+#define AR_OBJECT_DECL_SUBCLASS(subclass, parentclass) AR_OBJECT_DECL(subclass)
+#define AR_OBJECT_RETURNS_RETAINED
+
+// Copied from Foundation/NSObjCRuntime.h in order to avoid depending on the Foundation module from non-objc code.
+#define AR_SWIFT_SENDABLE __attribute__((swift_attr("@Sendable")))
+
+#endif // AR_OBJECT_USE_OBJC
+
+AR_ASSUME_NONNULL_BEGIN
+AR_EXTERN_C_BEGIN
+
+/**
+ Increment the reference count of an ARKit.framework object.
+
+ @param object ARKit.framework object.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN __SWIFT_UNAVAILABLE_MSG("Can't be used with ARC") void *_Nullable ar_retain(void *_Nullable object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Decrement the reference count of an ARKit.framework object.
+
+ @param object ARKit.framework object.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN __SWIFT_UNAVAILABLE_MSG("Can't be used with ARC") void ar_release(void *_Nullable object) AR_REFINED_FOR_SWIFT;
+
+#if AR_OBJECT_USE_OBJC
+
+#undef ar_retain
+#undef ar_release
+#define ar_retain(object) [(object) retain]
+#define ar_release(object) [(object) release]
+
+#endif // AR_OBJECT_USE_OBJC
+
+AR_EXTERN_C_END
+AR_ASSUME_NONNULL_END
+
+#endif // ar_object_h
+#else
+#import <ARKitCore/object.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/object.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object_tracking.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object_tracking.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object_tracking.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/object_tracking.h 2025-05-28 02:35:24
@@ -0,0 +1,770 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/object_tracking.h>)
+//
+// object_tracking.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef object_tracking_h
+#define object_tracking_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/error.h>
+#import <ARKit/object.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+/** An axis-aligned bounding box for the extent of an object. */
+AR_OBJECT_DECL(ar_object_axis_aligned_bounding_box)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/** An object that was detected in the environment. */
+AR_OBJECT_DECL_SUBCLASS(ar_object_anchor, ar_trackable_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/** A collection of object anchors. */
+AR_OBJECT_DECL(ar_object_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/** Defines a physical object to detect in the environment. */
+AR_OBJECT_DECL(ar_reference_object)
+AR_REFINED_FOR_SWIFT
+AR_SWIFT_SENDABLE
+API_AVAILABLE(visionos(2.0));
+
+/** A collection of reference objects. */
+AR_OBJECT_DECL(ar_reference_objects)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/** Object tracking configuration. */
+AR_OBJECT_DECL(ar_object_tracking_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+/** Object tracking provider. */
+AR_OBJECT_DECL_SUBCLASS(ar_object_tracking_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+#pragma mark - Object Bounding Box
+
+/**
+ Returns a bool value that indicates whether the two bounding boxes are equal.
+
+ @param bounding_box A bounding box to be compared.
+ @param other_bounding_box The other bounding box to be compared to.
+
+ @return YES if the bounding boxes are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_object_axis_aligned_bounding_box_is_equal_to_bounding_box(ar_object_axis_aligned_bounding_box_t _Nullable bounding_box,
+ ar_object_axis_aligned_bounding_box_t _Nullable other_bounding_box)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Get minimum X, Y, Z coordinates for the bounding box.
+
+ @param bounding_box The bounding box.
+ @return Minimum X, Y, and Z.
+*/
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3 ar_object_axis_aligned_bounding_box_get_min(ar_object_axis_aligned_bounding_box_t bounding_box) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get maximum X, Y, Z coordinates for the bounding box.
+
+ @param bounding_box The bounding box.
+ @return Maximum X, Y, and Z.
+*/
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3 ar_object_axis_aligned_bounding_box_get_max(ar_object_axis_aligned_bounding_box_t bounding_box) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get center coordinates for the bounding box.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3 ar_object_axis_aligned_bounding_box_get_center(ar_object_axis_aligned_bounding_box_t bounding_box) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get extent for the bounding box.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float3 ar_object_axis_aligned_bounding_box_get_extent(ar_object_axis_aligned_bounding_box_t bounding_box) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Object anchor
+
+/**
+ Returns a bool value that indicates whether the two object anchors are equal.
+
+ @param object_anchor An object anchor to be compared.
+ @param other_object_anchor The other object anchor to be compared to.
+
+ @return YES if the object anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_object_anchor_is_equal_to_object_anchor(ar_object_anchor_t _Nullable object_anchor,
+ ar_object_anchor_t _Nullable other_object_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get bounding box for the object. Aligned with frame defining object's center and axes.
+
+ @param object_anchor The object anchor.
+ @return The bounding box.
+*/
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_object_axis_aligned_bounding_box_t ar_object_anchor_get_bounding_box(ar_object_anchor_t object_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the underlying tracked reference object from an object anchor.
+
+ @param object_anchor The object anchor used for getting the reference object.
+
+ @return The `ar_reference_object_t` from the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_reference_object_t AR_SWIFT_SENDABLE ar_object_anchor_get_reference_object(ar_object_anchor_t object_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Object anchors collection
+
+/**
+ Get the count of object anchors in a collection.
+
+ @param object_anchors The collection of object anchors.
+
+ @return The number of object anchors in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_object_anchors_get_count(ar_object_anchors_t object_anchors) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Object Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_anchor_get_identifier(ar_object_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_object_anchor_get_origin_from_anchor_transform(ar_object_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_object_anchor_get_timestamp(ar_object_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_object_anchor_is_tracked(ar_object_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler for enumerating a collection of object anchors.
+
+ @param object_anchor The object anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_object_anchors_enumerator_t)(ar_object_anchor_t object_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of object anchors.
+
+ @param object_anchors The collection of object anchors.
+ @param object_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_anchors_enumerate_anchors(ar_object_anchors_t object_anchors,
+ ar_object_anchors_enumerator_t object_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of object anchors.
+
+ @param context The application-defined context.
+ @param object_anchor The object anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_object_anchors_enumerator_function_t)(void *_Nullable context, ar_object_anchor_t object_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of object anchors.
+
+ @param object_anchors The collection of object anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param object_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_anchors_enumerate_anchors_f(ar_object_anchors_t object_anchors,
+ void *_Nullable context,
+ ar_object_anchors_enumerator_function_t object_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Reference Object
+
+/**
+ Returns a bool value that indicates whether the two reference objects are equal.
+
+ @param reference_object A reference object to be compared.
+ @param other_reference_object The other reference object to be compared to.
+
+ @return YES if the reference objects are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_reference_object_is_equal_to_reference_object(ar_reference_object_t _Nullable reference_object,
+ ar_reference_object_t _Nullable other_reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get identifier for the reference object.
+ @param reference_object Reference object.
+ @param[out] out_uuid Object to fill with UUID.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_object_get_identifier(ar_reference_object_t reference_object, uuid_t _Nonnull out_uuid) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the input file path used to load the reference object.
+ @param reference_object Reference object.
+ @note The returned value will have the same lifetime as the `ar_reference_object_t`.
+ @return The input file path.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN
+CF_RETURNS_NOT_RETAINED CFURLRef _Nullable ar_reference_object_get_input_file_path(ar_reference_object_t reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get path to a copy of the USDZ file for the object, if the object has one.
+ @param reference_object Reference object.
+ @note The returned value will have the same lifetime as the `ar_reference_object_t`.
+ @return The path to the USDZ file.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN
+CF_RETURNS_NOT_RETAINED CFURLRef _Nullable ar_reference_object_get_usdz_file_path(ar_reference_object_t reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a reference object's name.
+
+ @param reference_object The reference object.
+
+ @note The returned value will have the same lifetime as the input `ar_reference_object_t`.
+ @return The name of the reference object, or NULL if no name is set.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN const char *ar_reference_object_get_name(ar_reference_object_t reference_object) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler triggered when a request to load a reference object from a URL has completed.
+
+ @param url URL for the reference object that was being loaded.
+ @param success `true` if loading succeeded, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param reference_object An instance of `ar_reference_object_t` (NULL if loading failed). The returned object supports ARC. In non-ARC files, use
+ `ar_release()` to release it.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_reference_object_url_load_completion_handler_t)(CFURLRef url,
+ bool success,
+ ar_error_t _Nullable error,
+ ar_reference_object_t _Nullable reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Load a reference object from a URL.
+
+ @param url URL pointing to the reference object to load on the file system.
+ @param completion_handler Handler triggered after the request to load an object completes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_object_load_from_url(CFURLRef url,
+ ar_reference_object_url_load_completion_handler_t completion_handler) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function called when a request to load a reference object from a URL has completed.
+
+ @param context The application-defined context.
+ @param url URL for the reference object that was being loaded.
+ @param success `true` if loading succeeded, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param reference_object An instance of `ar_reference_object_t` (NULL if loading failed). The returned object supports ARC. In non-ARC files, use
+ `ar_release()` to release it.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_reference_object_url_load_completion_handler_function_t)(void *_Nullable context,
+ CFURLRef url,
+ bool success,
+ ar_error_t _Nullable error,
+ ar_reference_object_t _Nullable reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Load a reference object from a URL.
+
+ @param url URL pointing to the reference object to load on the file system.
+ @param completion_handler_function The function to be called after the request to load an object completes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_reference_object_load_from_url_f(CFURLRef url,
+ void *_Nullable context,
+ ar_reference_object_url_load_completion_handler_function_t completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler triggered when a request to load a reference object from a bundle has completed.
+
+ @param name Name of reference object that was being loaded from bundle.
+ @param bundle Bundle used for loading the reference object.
+ @param success `true` if loading succeeded, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param reference_object An instance of `ar_reference_object_t` (NULL if loading failed). The returned object supports ARC. In non-ARC files, use
+ `ar_release()` to release it.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_reference_object_bundle_load_completion_handler_t)(const char *name,
+ CFBundleRef _Nullable bundle,
+ bool success,
+ ar_error_t _Nullable error,
+ ar_reference_object_t _Nullable reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Load a reference object from a bundle.
+
+ @param name Name of reference object to load from bundle.
+ @param bundle Bundle used for loading the reference object. The main bundle is used if NULL.
+ @param completion_handler Handler triggered after the request to load an object completes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_object_load_with_name(const char *name,
+ CFBundleRef _Nullable bundle,
+ ar_reference_object_bundle_load_completion_handler_t completion_handler) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function called when a request to load a reference object from a bundle has completed.
+
+ @param context The application-defined context.
+ @param name Name of reference object that was being loaded from bundle.
+ @param bundle Bundle used for loading the reference object.
+ @param success `true` if loading succeeded, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param reference_object An instance of `ar_reference_object_t` (NULL if loading failed). The returned object supports ARC. In non-ARC files, use
+ `ar_release()` to release it.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_reference_object_bundle_load_completion_handler_function_t)(void *_Nullable context,
+ const char *name,
+ CFBundleRef _Nullable bundle,
+ bool success,
+ ar_error_t _Nullable error,
+ ar_reference_object_t _Nullable reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Load a reference object from a bundle.
+
+ @param name Name of reference object to load from bundle.
+ @param bundle Bundle used for loading the reference object. The main bundle is used if NULL.
+ @param context The application-defined context parameter to pass to the function.
+ @param completion_handler_function The function to be called after the request to load an object completes.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_reference_object_load_with_name_f(const char *name,
+ CFBundleRef _Nullable bundle,
+ void *_Nullable context,
+ ar_reference_object_bundle_load_completion_handler_function_t completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Reference objects collection
+
+/**
+ Create an empty collection of reference objects.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_reference_objects_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_reference_objects_t ar_reference_objects_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add a reference object to a collection.
+
+ @discussion The object must be unique. A duplicate of any existing object in the collection will not be added.
+
+ @param reference_objects The collection of reference objects to expand.
+ @param object_to_add The reference object to add.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_objects_add_object(ar_reference_objects_t reference_objects, ar_reference_object_t object_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add reference objects to a collection.
+
+ @discussion The objects must be unique. Duplicates of any existing object in the collection will not be added.
+
+ @param reference_objects The collection of reference objects to expand.
+ @param objects_to_add The collection of reference objects to add.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_objects_add_objects(ar_reference_objects_t reference_objects, ar_reference_objects_t objects_to_add) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the count of reference objects in the collection.
+
+ @param reference_objects The collection of reference objects.
+
+ @return The number of reference objects in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_reference_objects_get_count(ar_reference_objects_t reference_objects) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler for enumerating a collection of reference objects.
+
+ @param reference_object The reference object.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_reference_objects_enumerator_t)(ar_reference_object_t reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of reference objects.
+
+ @param reference_objects The collection of reference objects.
+ @param reference_objects_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_reference_objects_enumerate_objects(ar_reference_objects_t reference_objects,
+ ar_reference_objects_enumerator_t reference_objects_enumerator) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of reference objects.
+
+ @param context The application-defined context.
+ @param reference_object The reference object.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_reference_objects_enumerator_function_t)(void *_Nullable context, ar_reference_object_t reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of reference objects.
+
+ @param reference_objects The collection of reference objects.
+ @param context The application-defined context parameter to pass to the function.
+ @param reference_objects_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_reference_objects_enumerate_objects_f(ar_reference_objects_t reference_objects,
+ void *_Nullable context,
+ ar_reference_objects_enumerator_function_t reference_objects_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Object tracking configuration
+
+/**
+ Create an object tracking configuration.
+
+ @note Default values are set for configuration parameters as follows:
+ - `maximum_trackable_instances`: 10
+ - `maximum_instances_per_reference_object`: 1
+ - `detection_rate`: 2 Hz
+ - `stationary_object_tracking_rate`: 5 Hz
+ - `moving_object_tracking_rate`: 5 Hz
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_object_tracking_configuration_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_object_tracking_configuration_t ar_object_tracking_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add reference objects to the set of objects to be tracked. Object tracking will run without any reference objects, but will detect nothing.
+
+ @param object_tracking_configuration The configuration for object tracking.
+ @param reference_objects The reference objects to add.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_configuration_add_reference_objects(ar_object_tracking_configuration_t object_tracking_configuration,
+ ar_reference_objects_t reference_objects) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the total number of instances of reference objects that can be tracked at one time.
+
+ An enterprise license is required to modify the tracking configuration, and will be otherwise be a no-op.
+ The app must include the following entitlement:
+ com.apple.developer.arkit.object-tracking-parameter-adjustment.allow
+
+ @param object_tracking_configuration The object tracking configuration.
+ @param maximum_trackable_instances The number to set.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_configuration_set_maximum_trackable_instances(ar_object_tracking_configuration_t object_tracking_configuration,
+ int maximum_trackable_instances) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the number to be configured for the maximum number of reference object instances to track.
+ @param object_tracking_configuration The object tracking configuration.
+ @return The configured number.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN int ar_object_tracking_configuration_get_maximum_trackable_instances(ar_object_tracking_configuration_t object_tracking_configuration)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the maximum number of instances of any one reference object type that can be tracked.
+
+ An enterprise license is required to modify the tracking configuration, and will be otherwise be a no-op.
+ The app must include the following entitlement:
+ com.apple.developer.arkit.object-tracking-parameter-adjustment.allow
+
+ @param object_tracking_configuration The object tracking configuration.
+ @param maximum_instances_per_reference_object The number to set.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_object_tracking_configuration_set_maximum_instances_per_reference_object(ar_object_tracking_configuration_t object_tracking_configuration,
+ int maximum_instances_per_reference_object) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the number to be configured for the maximum number of instances of each reference object type to track.
+ @param object_tracking_configuration The object tracking configuration.
+ @return The configured number.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN int ar_object_tracking_configuration_get_maximum_instances_per_reference_object(
+ ar_object_tracking_configuration_t object_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the frequency at which object detection runs until it starts to track an object.
+
+ An enterprise license is required to modify the tracking configuration, and will be otherwise be a no-op.
+ The app must include the following entitlement:
+ com.apple.developer.arkit.object-tracking-parameter-adjustment.allow.
+
+ @param object_tracking_configuration The object tracking configuration.
+ @param detection_rate The frequency to set, in Hz. Clamped between 0 and 30 Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_configuration_set_detection_rate(ar_object_tracking_configuration_t object_tracking_configuration,
+ float detection_rate) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frequency to be configured for running object detection.
+ @param object_tracking_configuration The object tracking configuration.
+ @return The frequency, in Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float
+ar_object_tracking_configuration_get_detection_rate(ar_object_tracking_configuration_t object_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the frequency at which object tracking runs for a stationary object that is detected.
+
+ An enterprise license is required to modify the tracking configuration, and will be otherwise be a no-op.
+ The app must include the following entitlement:
+ com.apple.developer.arkit.object-tracking-parameter-adjustment.allow
+
+ @param object_tracking_configuration The object tracking configuration.
+ @param stationary_object_tracking_rate The frequency to set, in Hz. Clamped between 0 and 30 Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_configuration_set_stationary_object_tracking_rate(ar_object_tracking_configuration_t object_tracking_configuration,
+ float stationary_object_tracking_rate) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frequency to be configured for object tracking to run for a stationary object.
+ @param object_tracking_configuration The object tracking configuration.
+ @return The frequency, in Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float ar_object_tracking_configuration_get_stationary_object_tracking_rate(ar_object_tracking_configuration_t object_tracking_configuration)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the frequency at which object tracking runs for a moving object that is detected.
+
+ An enterprise license is required to modify the tracking configuration, and will be otherwise be a no-op.
+ The app must include the following entitlement:
+ com.apple.developer.arkit.object-tracking-parameter-adjustment.allow.
+
+ @param object_tracking_configuration The object tracking configuration.
+ @param moving_object_tracking_rate The frequency to set, in Hz. Clamped between 0 and 30 Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_configuration_set_moving_object_tracking_rate(ar_object_tracking_configuration_t object_tracking_configuration,
+ float moving_object_tracking_rate) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the frequency to be configured for object tracking to run for a moving object.
+ @param object_tracking_configuration The object tracking configuration.
+ @return The frequency, in Hz.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN float ar_object_tracking_configuration_get_moving_object_tracking_rate(ar_object_tracking_configuration_t object_tracking_configuration)
+ AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Object tracking provider
+
+API_AVAILABLE(visionos(2.0))
+OS_ENUM(ar_object_tracking_error_code, ar_error_code_t,
+ /// Error code indicating that a reference object failed to load.
+ ar_object_tracking_error_code_reference_object_loading_failed = 1101,
+)
+AR_REFINED_FOR_SWIFT;
+
+/**
+ Create an object tracking provider.
+
+ @param object_tracking_configuration The configuration for object tracking.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_object_tracking_provider_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_object_tracking_provider_t
+ar_object_tracking_provider_create(ar_object_tracking_configuration_t object_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler called when there are updates to object anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_object_tracking_update_handler_t)(ar_object_anchors_t added_anchors,
+ ar_object_anchors_t updated_anchors,
+ ar_object_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving object tracking updates.
+
+ @param object_tracking_provider The object tracking provider.
+ @param object_tracking_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param object_tracking_update_handler The handler to be called when new object tracking data arrives.
+
+ @note Setting this handler will override the function set using `ar_object_tracking_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_object_tracking_provider_set_update_handler(ar_object_tracking_provider_t object_tracking_provider,
+ dispatch_queue_t _Nullable object_tracking_updates_queue,
+ ar_object_tracking_update_handler_t _Nullable object_tracking_update_handler) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to object anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_object_tracking_update_handler_function_t)(void *_Nullable context,
+ ar_object_anchors_t added_anchors,
+ ar_object_anchors_t updated_anchors,
+ ar_object_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving object tracking updates.
+
+ @param object_tracking_provider The object tracking provider.
+ @param object_tracking_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param object_tracking_update_handler_function The function to be called when new object tracking data arrives.
+
+ @note Setting this handler will override the function set using `ar_object_tracking_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_object_tracking_provider_set_update_handler_f(
+ ar_object_tracking_provider_t object_tracking_provider,
+ dispatch_queue_t _Nullable object_tracking_updates_queue,
+ void *_Nullable context,
+ ar_object_tracking_update_handler_function_t _Nullable object_tracking_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy all object anchors.
+
+ @param object_tracking_provider The object tracking provider.
+
+ @return The collection of all object anchors. This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release
+ the object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_object_anchors_t
+ar_object_tracking_provider_copy_all_object_anchors(ar_object_tracking_provider_t object_tracking_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the object tracking provider.
+
+ @return `true` if the object tracking provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_object_tracking_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the object tracking provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_authorization_type_t ar_object_tracking_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // object_tracking_h
+#else
+#import <ARKitCore/object_tracking.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/object_tracking.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/plane_detection.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/plane_detection.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/plane_detection.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/plane_detection.h 2025-05-31 00:10:27
@@ -0,0 +1,474 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/plane_detection.h>)
+//
+// plane_detection.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef plane_detection_h
+#define plane_detection_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/scene_reconstruction.h>
+#import <ARKit/session.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_plane_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_plane_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_plane_geometry)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_plane_extent)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_plane_detection_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_plane_detection_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+/**
+ Option set describing possible orientation alignments of a detected plane.
+
+ @note An `ar_plane_anchor_t` has exactly one alignment. Multiple bits may be set to receive various planes from an `ar_plane_detection_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+OS_OPTIONS(ar_plane_alignment, intptr_t,
+
+ /** No plane alignment. */
+ ar_plane_alignment_none = 0,
+
+ /** Planes orthogonal to the gravity vector. */
+ ar_plane_alignment_horizontal = (1 << 0),
+
+ /** Planes parallel to the gravity vector. */
+ ar_plane_alignment_vertical = (1 << 1),
+
+ /** Planes that are neither horizontal nor vertical. */
+ ar_plane_alignment_slanted API_AVAILABLE(visionos(2.0)) = (1 << 2),
+
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ A value describing the classification of a plane anchor.
+ */
+OS_ENUM(ar_plane_classification, intptr_t,
+
+ /** The plane classification is currently unavailable. */
+ ar_plane_classification_status_not_available = 0,
+
+ /** The classification of the plane has not yet been determined. */
+ ar_plane_classification_status_undetermined,
+
+ /** The plane classification is not any of the known classes. */
+ ar_plane_classification_status_unknown,
+
+ /** The classification is of type wall. */
+ ar_plane_classification_wall,
+
+ /** The classification is of type floor. */
+ ar_plane_classification_floor,
+
+ /** The classification is of type ceiling. */
+ ar_plane_classification_ceiling,
+
+ /** The classification is of type table. */
+ ar_plane_classification_table,
+
+ /** The classification is of type seat. */
+ ar_plane_classification_seat,
+
+ /** The classification is of type window. */
+ ar_plane_classification_window,
+
+ /** The classification is of type door. */
+ ar_plane_classification_door
+
+) AR_REFINED_FOR_SWIFT
+API_DEPRECATED_WITH_REPLACEMENT("ar_surface_classification_t", visionos(1.0, 26.0));
+
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to plane anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (^ar_plane_detection_update_handler_t)(ar_plane_anchors_t added_anchors,
+ ar_plane_anchors_t updated_anchors,
+ ar_plane_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to plane anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (*ar_plane_detection_update_handler_function_t)(void *_Nullable context,
+ ar_plane_anchors_t added_anchors,
+ ar_plane_anchors_t updated_anchors,
+ ar_plane_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Detection Configuration
+
+/**
+ Create a plane detection configuration.
+
+ @note The alignment is set to `ar_plane_alignment_horizontal | ar_plane_alignment_vertical` by default.
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_plane_detection_configuration_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_plane_detection_configuration_t ar_plane_detection_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the desired alignment of planes to detect.
+
+ @param plane_detection_configuration The configuration for plane detection.
+ @param alignment The plane alignments to detect.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_plane_detection_configuration_set_alignment(ar_plane_detection_configuration_t plane_detection_configuration,
+ ar_plane_alignment_t alignment) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Anchor
+
+/**
+ Returns a bool value that indicates whether the two plane anchors are equal.
+
+ @param anchor A plane anchor to be compared.
+ @param other_anchor The other plane anchor to be compared to.
+
+ @return YES if the plane anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_plane_anchor_is_equal_to_plane_anchor(ar_plane_anchor_t _Nullable anchor,
+ ar_plane_anchor_t _Nullable other_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the alignment of a plane anchor.
+
+ @param plane_anchor The plane anchor.
+
+ @return The anchor's plane alignment.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_plane_alignment_t ar_plane_anchor_get_alignment(ar_plane_anchor_t plane_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the geometry of a plane anchor.
+
+ @param plane_anchor The plane anchor.
+
+ @return An instance of `ar_plane_geometry_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_plane_geometry_t ar_plane_anchor_get_geometry(ar_plane_anchor_t plane_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the classification of a plane anchor.
+
+ @param plane_anchor The plane anchor.
+
+ @return The plane anchor's classification.
+ */
+AR_EXTERN ar_plane_classification_t ar_plane_anchor_get_plane_classification(ar_plane_anchor_t plane_anchor)
+ API_DEPRECATED_WITH_REPLACEMENT("ar_plane_anchor_get_surface_classification", visionos(1.0, 26.0)) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the surface classification of a plane anchor.
+
+ @param plane_anchor The plane anchor.
+
+ @return The plane anchor's surface classification.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN ar_surface_classification_t ar_plane_anchor_get_surface_classification(ar_plane_anchor_t plane_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_plane_anchor_get_identifier(ar_plane_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_plane_anchor_get_origin_from_anchor_transform(ar_plane_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_plane_anchor_get_timestamp(ar_plane_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Geometry
+
+/**
+ Returns a bool value that indicates whether the two plane geometries are equal.
+
+ @param plane_geometry A plane geometry to be compared.
+ @param other_plane_geometry The other plane geometry to be compared to.
+
+ @return YES if the plane geometries are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_plane_geometry_is_equal_to_plane_geometry(ar_plane_geometry_t _Nullable plane_geometry,
+ ar_plane_geometry_t _Nullable other_plane_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the mesh vertices of a plane geometry.
+
+ @param plane_geometry The plane geometry.
+
+ @return An instance of `ar_geometry_source_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_source_t ar_plane_geometry_get_mesh_vertices(ar_plane_geometry_t plane_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the mesh faces of a plane geometry.
+
+ @param plane_geometry The plane geometry.
+
+ @return An instance of `ar_geometry_element_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_element_t ar_plane_geometry_get_mesh_faces(ar_plane_geometry_t plane_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the extent of a plane geometry.
+
+ @param plane_geometry The plane geometry.
+
+ @return An instance of `ar_plane_extent_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_plane_extent_t ar_plane_geometry_get_plane_extent(ar_plane_geometry_t plane_geometry) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Extent
+
+/**
+ Returns a bool value that indicates whether the two plane extents are equal.
+
+ @param plane_extent A plane extent to be compared.
+ @param other_plane_extent The other plane extent to be compared to.
+
+ @return YES if the plane extents are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_plane_extent_is_equal_to_plane_extent(ar_plane_extent_t _Nullable plane_extent,
+ ar_plane_extent_t _Nullable other_plane_extent) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the width of a plane extent.
+
+ @param plane_extent The plane extent.
+
+ @return The width of the plane extent.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN float ar_plane_extent_get_width(ar_plane_extent_t plane_extent) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the height of the plane extent.
+
+ @param plane_extent The plane extent.
+
+ @return The height of the plane extent.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN float ar_plane_extent_get_height(ar_plane_extent_t plane_extent) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from a plane extent to the plane anchor’s coordinate system.
+
+ @param plane_extent The plane extent.
+
+ @return The transform from the plane extent to the plane anchor's coordinate system.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN simd_float4x4 ar_plane_extent_get_plane_anchor_from_plane_extent_transform(ar_plane_extent_t plane_extent) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Anchors Collection
+
+/**
+ Get the count of plane anchors in a collection.
+
+ @param plane_anchors The collection of plane anchors.
+
+ @return The number of plane anchors in the collection.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_plane_anchors_get_count(ar_plane_anchors_t plane_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of plane anchors.
+
+ @param plane_anchor The plane anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (^ar_plane_anchors_enumerator_t)(ar_plane_anchor_t plane_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of plane anchors.
+
+ @param plane_anchors The collection of plane anchors.
+ @param plane_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_plane_anchors_enumerate_anchors(ar_plane_anchors_t plane_anchors,
+ ar_plane_anchors_enumerator_t plane_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of plane anchors.
+
+ @param context The application-defined context.
+ @param plane_anchor The plane anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (*ar_plane_anchors_enumerator_function_t)(void *_Nullable context, ar_plane_anchor_t plane_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of plane anchors using a function.
+
+ @param plane_anchors The collection of plane anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param plane_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_plane_anchors_enumerate_anchors_f(ar_plane_anchors_t plane_anchors,
+ void *_Nullable context,
+ ar_plane_anchors_enumerator_function_t plane_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Plane Detection Provider
+
+/**
+ Create a plane detection provider.
+
+ @param plane_detection_configuration The configuration for plane detection.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_plane_detection_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_plane_detection_provider_t
+ar_plane_detection_provider_create(ar_plane_detection_configuration_t plane_detection_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving plane detection updates.
+
+ @param plane_detection_provider The plane detection provider.
+ @param plane_detection_updates_queue The plane detection update queue. Passing NULL will default to the main queue.
+ @param plane_detection_update_handler The plane detection update handler.
+
+ @note Setting this handler will override the function set using `ar_plane_detection_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void
+ar_plane_detection_provider_set_update_handler(ar_plane_detection_provider_t plane_detection_provider,
+ dispatch_queue_t _Nullable plane_detection_updates_queue,
+ ar_plane_detection_update_handler_t _Nullable plane_detection_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving plane detection updates.
+
+ @param plane_detection_provider The plane detection provider.
+ @param plane_detection_updates_queue The plane detection update queue. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param plane_detection_update_handler_function The plane detection update handler function.
+
+ @note Setting this function will override the handler set using `ar_plane_detection_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_plane_detection_provider_set_update_handler_f(
+ ar_plane_detection_provider_t plane_detection_provider,
+ dispatch_queue_t _Nullable plane_detection_updates_queue,
+ void *_Nullable context,
+ ar_plane_detection_update_handler_function_t _Nullable plane_detection_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy all plane anchors.
+
+ @param plane_detection_provider The plane detection provider.
+
+ @return The collection of all plane anchors. This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the
+ object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_plane_anchors_t
+ar_plane_detection_provider_copy_all_plane_anchors(ar_plane_detection_provider_t plane_detection_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the plane detection provider.
+
+ @return `true` if the plane detection provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_plane_detection_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the plane detection provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_authorization_type_t ar_plane_detection_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // plane_detection_h
+#else
+#import <ARKitCore/plane_detection.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/plane_detection.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/room_tracking.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/room_tracking.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/room_tracking.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/room_tracking.h 2025-05-31 00:10:27
@@ -0,0 +1,359 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/room_tracking.h>)
+//
+// room_tracking.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef room_tracking_h
+#define room_tracking_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/identifiers.h>
+#import <ARKit/object.h>
+#import <ARKit/scene_reconstruction.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_room_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_room_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_room_tracking_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_room_tracking_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+#pragma mark - Room Anchor
+
+/**
+ Returns a bool value that indicates whether the two room anchors are equal.
+
+ @param room_anchor A room anchor to be compared.
+ @param other_room_anchor The other room anchor to be compared to.
+
+ @return YES if the room anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_room_anchor_is_equal_to_room_anchor(ar_room_anchor_t _Nullable room_anchor,
+ ar_room_anchor_t _Nullable other_room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine if the room anchor represents the current room the person is in.
+
+ @param room_anchor The room anchor.
+
+ @return `true` if the person is in the given room, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_room_anchor_is_current_room(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a mesh representation of the room.
+
+ @param room_anchor The room anchor.
+
+ @return A mesh geometry that represents the geometry of the room.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_mesh_geometry_t ar_room_anchor_get_geometry(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get disjoint mesh geometries of a given classification.
+
+ @param room_anchor The room anchor.
+ @param classification Classification of the mesh geometry .
+
+ @note Only `ar_mesh_classification_wall` and `ar_mesh_classification_floor` is supported.
+
+ @return A collection of mesh geometries where each geometry represents a disjoint mesh of type `classification`.
+ */
+AR_EXTERN ar_mesh_geometries_t ar_room_anchor_get_mesh_geometries_for_classification(ar_room_anchor_t room_anchor,
+ ar_mesh_classification_t classification)
+ API_DEPRECATED_WITH_REPLACEMENT("ar_room_anchor_get_mesh_geometries_for_surface_classification", visionos(2.0, 26.0)) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get disjoint mesh geometries of a given surface classification.
+
+ @param room_anchor The room anchor.
+ @param classification Classification of the surface .
+
+ @note Only `ar_surface_classification_wall` and `ar_surface_classification_floor` are supported.
+
+ @return A collection of mesh geometries where each geometry represents a disjoint mesh of type `classification`.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN ar_mesh_geometries_t ar_room_anchor_get_mesh_geometries_for_surface_classification(
+ ar_room_anchor_t room_anchor, ar_surface_classification_t classification) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine if the room contains the given point.
+
+ @param room_anchor The room anchor.
+ @param point The point to query in the application's coordinate space.
+
+ @return Returns `true` if `room_anchor` contains `point`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_room_anchor_contains_point(ar_room_anchor_t room_anchor, simd_float3 point) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Room Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of a room anchor.
+
+ @param[in] room_anchor The room anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_room_anchor_get_identifier(ar_room_anchor_t room_anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from a room anchor to the origin coordinate system.
+
+ @param room_anchor The room anchor.
+
+ @return The origin from room anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_room_anchor_get_origin_from_anchor_transform(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to when the room anchor was updated.
+
+ @param room_anchor The room anchor.
+
+ @return The timestamp associated with the room anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_room_anchor_get_timestamp(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Room Anchors Collection
+
+/**
+ Get the count of room anchors in a collection.
+
+ @param room_anchors The collection of room anchors.
+
+ @return The number of room anchors in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_room_anchors_get_count(ar_room_anchors_t room_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of room anchors.
+
+ @param room_anchor The room anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_room_anchors_enumerator_t)(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of room anchors.
+
+ @param room_anchors The collection of room anchors.
+ @param room_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_room_anchors_enumerate_anchors(ar_room_anchors_t room_anchors,
+ ar_room_anchors_enumerator_t room_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of room anchors.
+
+ @param context The application-defined context.
+ @param room_anchor The room anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_room_anchors_enumerator_function_t)(void *_Nullable context, ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of room anchors using a function.
+
+ @param room_anchors The collection of room anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param room_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_room_anchors_enumerate_anchors_f(ar_room_anchors_t room_anchors,
+ void *_Nullable context,
+ ar_room_anchors_enumerator_function_t room_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Room Tracking Configuration
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to room anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (^ar_room_tracking_update_handler_t)(ar_room_anchors_t added_anchors,
+ ar_room_anchors_t updated_anchors,
+ ar_room_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to room anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef void (*ar_room_tracking_update_handler_function_t)(void *_Nullable context,
+ ar_room_anchors_t added_anchors,
+ ar_room_anchors_t updated_anchors,
+ ar_room_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Room Tracking Configuration
+
+/**
+ Create a room tracking configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_room_tracking_configuration_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_room_tracking_configuration_t ar_room_tracking_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a room tracking provider.
+
+ @param room_tracking_configuration The configuration for room tracking.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_room_tracking_provider_t`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_room_tracking_provider_t
+ar_room_tracking_provider_create(ar_room_tracking_configuration_t room_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving room tracking updates.
+
+ @param room_tracking_provider The room tracking provider.
+ @param room_tracking_updates_queue The room tracking update queue. Passing NULL will default to the main queue.
+ @param room_tracking_update_handler The room tracking update handler.
+
+ @note Setting this handler will override the function set using `ar_room_tracking_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_room_tracking_provider_set_update_handler(ar_room_tracking_provider_t room_tracking_provider,
+ dispatch_queue_t _Nullable room_tracking_updates_queue,
+ ar_room_tracking_update_handler_t _Nullable room_tracking_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving room tracking updates.
+
+ @param room_tracking_provider The room tracking provider.
+ @param room_tracking_updates_queue The room tracking update queue. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param room_tracking_update_handler_function The room tracking update handler function.
+
+ @note Setting this function will override the handler set using `ar_room_tracking_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_room_tracking_provider_set_update_handler_f(
+ ar_room_tracking_provider_t room_tracking_provider,
+ dispatch_queue_t _Nullable room_tracking_updates_queue,
+ void *_Nullable context,
+ ar_room_tracking_update_handler_function_t _Nullable room_tracking_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy the room anchor that the person is currently inside.
+
+ @param room_tracking_provider The room tracking provider.
+
+ @return The room anchor that represents the room the person is in and NULL if no room is currently being tracked as current. This type supports ARC.
+ In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_room_anchor_t _Nullable ar_room_tracking_provider_copy_current_room_anchor(
+ ar_room_tracking_provider_t room_tracking_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy all room anchors.
+
+ @param room_tracking_provider The room tracking provider.
+
+ @return The collection of all room anchors. This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the
+ object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_room_anchors_t
+ar_room_tracking_provider_copy_all_room_anchors(ar_room_tracking_provider_t room_tracking_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the identifiers of all plane anchors in a room anchor.
+
+ @param room_anchor The room anchor.
+
+ @return The identifiers of planes in the room anchor.
+ @see ar_plane_detection_provider_t
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_identifiers_t ar_room_anchor_get_plane_anchor_identifiers(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the identifiers of all scene reconstruction mesh anchors in a room anchor.
+
+ @param room_anchor The room anchor.
+
+ @return The identifiers of meshes in the room anchor.
+ @see ar_scene_reconstruction_provider_t
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_identifiers_t ar_room_anchor_get_mesh_anchor_identifiers(ar_room_anchor_t room_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the room tracking provider.
+
+ @return `true` if the room tracking provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_room_tracking_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the room tracking provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN ar_authorization_type_t ar_room_tracking_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif /* room_tracking_h */
+#else
+#import <ARKitCore/room_tracking.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/room_tracking.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/scene_reconstruction.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/scene_reconstruction.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/scene_reconstruction.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/scene_reconstruction.h 2025-05-31 00:10:27
@@ -0,0 +1,639 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/scene_reconstruction.h>)
+//
+// scene_reconstruction.h
+// ARKitCore
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef scene_reconstruction_h
+#define scene_reconstruction_h
+
+#ifdef __OBJC__
+#import <Metal/Metal.h>
+#endif // __OBJC__
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <os/availability.h>
+#import <simd/simd.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL_SUBCLASS(ar_mesh_anchor, ar_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_mesh_geometry)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_mesh_geometries)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.0));
+
+AR_OBJECT_DECL(ar_geometry_source)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_geometry_element)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_mesh_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL(ar_scene_reconstruction_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_scene_reconstruction_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+#pragma mark - Geometry Element
+
+/**
+ A value describing the primitive type of an `ar_geometry_element_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+OS_ENUM(ar_geometry_primitive_type, intptr_t,
+
+ /** A primitive type representing a line. */
+ ar_geometry_primitive_type_line = 0,
+
+ /** A primitive type representing a triangle. */
+ ar_geometry_primitive_type_triangle
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ A value describing the classification of a mesh face of an `ar_mesh_geometry_t`.
+ */
+OS_ENUM(ar_mesh_classification, intptr_t,
+ ar_mesh_classification_none = 0,
+ ar_mesh_classification_wall,
+ ar_mesh_classification_floor,
+ ar_mesh_classification_ceiling,
+ ar_mesh_classification_table,
+ ar_mesh_classification_seat,
+ ar_mesh_classification_window,
+ ar_mesh_classification_door,
+ ar_mesh_classification_stairs,
+ ar_mesh_classification_bed,
+ ar_mesh_classification_cabinet,
+ ar_mesh_classification_home_appliance,
+ ar_mesh_classification_tv,
+ ar_mesh_classification_plant
+) AR_REFINED_FOR_SWIFT
+API_DEPRECATED_WITH_REPLACEMENT("ar_surface_classification_t", visionos(1.0, 26.0));
+
+/**
+ A value describing the classification of a surface.
+ */
+API_AVAILABLE(visionos(26.0))
+OS_ENUM(ar_surface_classification, intptr_t,
+ ar_surface_classification_none = 0,
+ ar_surface_classification_wall,
+ ar_surface_classification_floor,
+ ar_surface_classification_ceiling,
+ ar_surface_classification_table,
+ ar_surface_classification_seat,
+ ar_surface_classification_window,
+ ar_surface_classification_door,
+ ar_surface_classification_stairs,
+ ar_surface_classification_bed,
+ ar_surface_classification_cabinet,
+ ar_surface_classification_home_appliance,
+ ar_surface_classification_tv,
+ ar_surface_classification_plant
+) AR_REFINED_FOR_SWIFT;
+
+
+/**
+ Returns a bool value that indicates whether the two geometry elements are equal.
+
+ @param geometry_element A geometry element to be compared.
+ @param other_geometry_element The other geometry element to be compared to.
+
+ @return YES if the geometry elements are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_geometry_element_is_equal_to_geometry_element(ar_geometry_element_t _Nullable geometry_element,
+ ar_geometry_element_t _Nullable other_geometry_element) AR_REFINED_FOR_SWIFT;
+
+#ifdef __OBJC__
+/**
+ Get a Metal buffer containing index data that defines a geometry element.
+
+ @param geometry_element The geometry element.
+
+ @return A Metal buffer.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN id<MTLBuffer> ar_geometry_element_get_buffer(ar_geometry_element_t geometry_element) AR_REFINED_FOR_SWIFT;
+#endif // __OBJC__
+
+/**
+ Get the count of primitives in a geometry element.
+
+ @param geometry_element The geometry element.
+
+ @return The number of primitives in the geometry element.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_element_get_count(ar_geometry_element_t geometry_element) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the number of bytes per index value in a geometry element.
+
+ @param geometry_element The geometry element.
+
+ @return The bytes per index value.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_element_get_bytes_per_index(ar_geometry_element_t geometry_element) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the index count per primitive of a geometry element.
+
+ @see `ar_geometry_primitive_type_t`
+ @discussion This is based on the primitive type. For `ar_geometry_primitive_type_triangle` the value is 3.
+
+ @param geometry_element The geometry element.
+
+ @return The number of indices for each of the geometry element's primitives.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_element_get_index_count_per_primitive(ar_geometry_element_t geometry_element) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the primitive type of a geometry element.
+
+ @param geometry_element The geometry element.
+
+ @return The geometry element's primitive type.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_primitive_type_t ar_geometry_element_get_primitive_type(ar_geometry_element_t geometry_element) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Geometry Source
+
+/**
+ Returns a bool value that indicates whether the two geometry sources are equal.
+
+ @param geometry_source A geometry source to be compared.
+ @param other_geometry_source The other geometry source to be compared to.
+
+ @return YES if the geometry sources are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_geometry_source_is_equal_to_geometry_source(ar_geometry_source_t _Nullable geometry_source,
+ ar_geometry_source_t _Nullable other_geometry_source) AR_REFINED_FOR_SWIFT;
+
+#ifdef __OBJC__
+/**
+ Get a Metal buffer containing per-vector data for a geometry source.
+
+ @param geometry_source The geometry source.
+
+ @return A Metal buffer containing per-vector data.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN id<MTLBuffer> ar_geometry_source_get_buffer(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+#endif // __OBJC__
+
+/**
+ Get the count of vectors in a geometry source.
+
+ @param geometry_source The geometry source.
+
+ @return The number of vectors in the geometry source.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_source_get_count(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+
+#ifdef __OBJC__
+/**
+ Get the type of per-vector data in a geometry source.
+
+ @param geometry_source The geometry source.
+
+ @return The format of the vertex data.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN MTLVertexFormat ar_geometry_source_get_format(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+#endif // __OBJC__
+
+/**
+ Get the count of scalar components in each vector of a geometry source.
+
+ @param geometry_source The geometry source.
+
+ @return The number of scalar components in each vector of the geometry source.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_source_get_components_per_vector(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the offset (in bytes) from the beginning of a geometry source's Metal buffer.
+
+ @param geometry_source The geometry source.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_source_get_offset(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the number of bytes from a vector to the next one in a geometry source's Metal buffer.
+
+ @param geometry_source The geometry source.
+
+ @return The stride between vectors, in bytes.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_geometry_source_get_stride(ar_geometry_source_t geometry_source) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Mesh Geometry
+
+/**
+ Returns a bool value that indicates whether the two mesh geometries are equal.
+
+ @param mesh_geometry A mesh geometry to be compared.
+ @param other_mesh_geometry The other mesh geometry to be compared to.
+
+ @return YES if the mesh geometries are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_mesh_geometry_is_equal_to_mesh_geometry(ar_mesh_geometry_t _Nullable mesh_geometry,
+ ar_mesh_geometry_t _Nullable other_mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the vertices of a mesh geometry.
+
+ @param mesh_geometry The mesh geometry.
+
+ @return An instance of `ar_geometry_source_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_source_t ar_mesh_geometry_get_vertices(ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the normals of a mesh geometry.
+
+ @param mesh_geometry The mesh geometry.
+
+ @return An instance of `ar_geometry_source_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_source_t ar_mesh_geometry_get_normals(ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the faces of a mesh geometry.
+
+ @param mesh_geometry The mesh geometry.
+
+ @return An instance of `ar_geometry_element_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_element_t ar_mesh_geometry_get_faces(ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the classification for each face of a mesh geometry.
+
+ @param mesh_geometry The mesh geometry.
+
+ @return An instance of `ar_geometry_source_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_geometry_source_t _Nullable ar_mesh_geometry_get_classification(ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Mesh Geometry Collection
+
+/**
+ Get the count of mesh geometries in a collection.
+
+ @param mesh_geometries The collection of mesh geometries.
+
+ @return The number of mesh geometries in the collection.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN size_t ar_mesh_geometries_get_count(ar_mesh_geometries_t mesh_geometries) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of mesh geometries.
+
+ @param mesh_geometry The mesh geometry.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (^ar_mesh_geometries_enumerator_t)(ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of mesh geometries.
+
+ @param mesh_geometries The collection of mesh geometries.
+ @param mesh_geometries_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_mesh_geometries_enumerate_geometries(ar_mesh_geometries_t mesh_geometries,
+ ar_mesh_geometries_enumerator_t mesh_geometries_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of mesh geometries.
+
+ @param context The application-defined context.
+ @param mesh_geometry The mesh geometry.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(2.0))
+typedef bool (*ar_mesh_geometries_enumerator_function_t)(void *_Nullable context, ar_mesh_geometry_t mesh_geometry) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of mesh geometries using a function.
+
+ @param mesh_geometries The collection of mesh geometries.
+ @param context The application-defined context parameter to pass to the function.
+ @param mesh_geometries_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void
+ar_mesh_geometries_enumerate_geometries_f(ar_mesh_geometries_t mesh_geometries,
+ void *_Nullable context,
+ ar_mesh_geometries_enumerator_function_t mesh_geometries_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Mesh Anchor
+
+/**
+ Returns a bool value that indicates whether the two mesh anchors are equal.
+
+ @param mesh_anchor A mesh anchor to be compared.
+ @param other_mesh_anchor The other mesh anchor to be compared to.
+
+ @return YES if the mesh anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_mesh_anchor_is_equal_to_mesh_anchor(ar_mesh_anchor_t _Nullable mesh_anchor,
+ ar_mesh_anchor_t _Nullable other_mesh_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the geometry of the mesh in a mesh anchor's coordinate system.
+
+ @param mesh_anchor The mesh anchor.
+
+ @return An instance of `ar_mesh_geometry_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_mesh_geometry_t ar_mesh_anchor_get_geometry(ar_mesh_anchor_t mesh_anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Mesh Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN void ar_mesh_anchor_get_identifier(ar_mesh_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN simd_float4x4 ar_mesh_anchor_get_origin_from_anchor_transform(ar_mesh_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN CFTimeInterval ar_mesh_anchor_get_timestamp(ar_mesh_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Mesh Anchors Collection
+
+/**
+ Get the count of mesh anchors in a collection.
+
+ @param mesh_anchors The collection of mesh anchors.
+
+ @return The number of mesh anchors in the collection.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN size_t ar_mesh_anchors_get_count(ar_mesh_anchors_t mesh_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of mesh anchors.
+
+ @param mesh_anchor The mesh anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (^ar_mesh_anchors_enumerator_t)(ar_mesh_anchor_t mesh_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of mesh anchors.
+
+ @param mesh_anchors The collection of mesh anchors.
+ @param mesh_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_mesh_anchors_enumerate_anchors(ar_mesh_anchors_t mesh_anchors,
+ ar_mesh_anchors_enumerator_t mesh_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of mesh anchors.
+
+ @param context The application-defined context.
+ @param mesh_anchor The mesh anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (*ar_mesh_anchors_enumerator_function_t)(void *_Nullable context, ar_mesh_anchor_t mesh_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of mesh anchors using a function.
+
+ @param mesh_anchors The collection of mesh anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param mesh_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_mesh_anchors_enumerate_anchors_f(ar_mesh_anchors_t mesh_anchors,
+ void *_Nullable context,
+ ar_mesh_anchors_enumerator_function_t mesh_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Scene Reconstruction Configuration
+
+API_AVAILABLE(visionos(1.0))
+OS_OPTIONS(ar_scene_reconstruction_mode,
+ uint64_t,
+ /** Scene reconstruction default mode. Generates a mesh of the world. */
+ ar_scene_reconstruction_mode_default = 0,
+
+ /** Scene reconstruction classification mode. Generates a mesh of the world, along with a classification for each face. */
+ ar_scene_reconstruction_mode_classification = 1 << 0)
+AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to mesh anchors.
+
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (^ar_scene_reconstruction_update_handler_t)(ar_mesh_anchors_t added_anchors,
+ ar_mesh_anchors_t updated_anchors,
+ ar_mesh_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to mesh anchors.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of anchors that were added.
+ @param updated_anchors The collection of anchors that were updated.
+ @param removed_anchors The collection of anchors that were removed.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef void (*ar_scene_reconstruction_update_handler_function_t)(void *_Nullable context,
+ ar_mesh_anchors_t added_anchors,
+ ar_mesh_anchors_t updated_anchors,
+ ar_mesh_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a scene reconstruction configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_scene_reconstruction_configuration_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_scene_reconstruction_configuration_t ar_scene_reconstruction_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the scene reconstruction mode.
+
+ @param scene_reconstruction_configuration The configuration for scene reconstruction.
+
+ @return The scene reconstruction mode for the configuration.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_scene_reconstruction_mode_t ar_scene_reconstruction_configuration_get_scene_reconstruction_mode(
+ ar_scene_reconstruction_configuration_t scene_reconstruction_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the scene reconstruction mode.
+
+ @param scene_reconstruction_configuration The configuration for scene reconstruction.
+ @param scene_reconstruction_mode The scene reconstruction mode to set.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void
+ar_scene_reconstruction_configuration_set_scene_reconstruction_mode(ar_scene_reconstruction_configuration_t scene_reconstruction_configuration,
+ ar_scene_reconstruction_mode_t scene_reconstruction_mode) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Scene Reconstruction Provider
+
+/**
+ Create a scene reconstruction provider.
+
+ @param scene_reconstruction_configuration The configuration for scene reconstruction.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_scene_reconstruction_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_scene_reconstruction_provider_t
+ar_scene_reconstruction_provider_create(ar_scene_reconstruction_configuration_t scene_reconstruction_configuration) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Set the handler for receiving scene reconstruction updates.
+
+ @param scene_reconstruction_provider The scene reconstruction provider.
+ @param scene_reconstruction_updates_queue The queue on which the handler will be executed. Passing NULL will default to the main queue.
+ @param scene_reconstruction_update_handler The handler to be called when new scene reconstruction data arrives.
+
+ @note Setting this handler will override the function set using `ar_scene_reconstruction_provider_set_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_scene_reconstruction_provider_set_update_handler(
+ ar_scene_reconstruction_provider_t scene_reconstruction_provider,
+ dispatch_queue_t _Nullable scene_reconstruction_updates_queue,
+ ar_scene_reconstruction_update_handler_t _Nullable scene_reconstruction_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Set the function for receiving scene reconstruction updates.
+
+ @param scene_reconstruction_provider The scene reconstruction provider.
+ @param scene_reconstruction_updates_queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param scene_reconstruction_update_handler_function The function to be called when new scene reconstruction data arrives.
+
+ @note Setting this function will override the handler set using `ar_scene_reconstruction_provider_set_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN void ar_scene_reconstruction_provider_set_update_handler_f(
+ ar_scene_reconstruction_provider_t scene_reconstruction_provider,
+ dispatch_queue_t _Nullable scene_reconstruction_updates_queue,
+ void *_Nullable context,
+ ar_scene_reconstruction_update_handler_function_t _Nullable scene_reconstruction_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copy all mesh anchors.
+
+ @param scene_reconstruction_provider The scene reconstruction provider.
+
+ @return The collection of all mesh anchors. This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the
+ object.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_mesh_anchors_t
+ar_scene_reconstruction_provider_copy_all_mesh_anchors(ar_scene_reconstruction_provider_t scene_reconstruction_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the scene reconstruction provider.
+
+ @return `true` if the scene reconstruction provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_scene_reconstruction_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the scene reconstruction provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_authorization_type_t ar_scene_reconstruction_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // scene_reconstruction_h
+#else
+#import <ARKitCore/scene_reconstruction.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/scene_reconstruction.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/session.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/session.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/session.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/session.h 2025-05-31 00:10:27
@@ -0,0 +1,305 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/session.h>)
+//
+// session.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef session_h
+#define session_h
+
+#import <ARKit/authorization.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/error.h>
+#import <ARKit/object.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Device
+
+AR_OBJECT_DECL(ar_device)
+API_UNAVAILABLE(visionos)
+API_AVAILABLE(macos(26.0));
+
+#pragma mark - Session
+
+AR_OBJECT_DECL(ar_session)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Create an ARKit session.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_session_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_session_t ar_session_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a session connected to the specified device.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @param device The device to connect to.
+ @return An instance of `ar_session_t`.
+ */
+API_AVAILABLE(macos(26.0))
+API_UNAVAILABLE(visionos)
+AR_EXTERN ar_session_t ar_session_create_with_device(ar_device_t device) AR_REFINED_FOR_SWIFT;
+
+API_AVAILABLE(visionos(1.0), macos(26.0))
+OS_ENUM(ar_session_error_code, ar_error_code_t,
+ /// Error code indicating that a data provider requires an authorization that has not been granted by the user.
+ ar_session_error_code_data_provider_not_authorized = 100,
+ /// Error code indicating a data provider has failed to run.
+ ar_session_error_code_data_provider_failed_to_run = 101
+) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler to be called when there is a change in the state of one or more data providers.
+
+ @param data_providers The collection of data providers which had a change in state.
+ @param new_state The new state of the data providers.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param failed_data_provider The data provider that failed and caused the error, if any.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (^ar_session_data_provider_state_change_handler_t)(ar_data_providers_t data_providers,
+ ar_data_provider_state_t new_state,
+ ar_error_t _Nullable error,
+ ar_data_provider_t _Nullable failed_data_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the data provider state change handler.
+
+ @param session The `ar_session_t` instance.
+ @param queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param data_provider_state_change_handler The data provider state change handler.
+
+ @note Setting this will override the function set using `ar_session_set_data_provider_state_change_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_session_set_data_provider_state_change_handler(
+ ar_session_t session,
+ dispatch_queue_t _Nullable queue,
+ ar_session_data_provider_state_change_handler_t _Nullable data_provider_state_change_handler) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Application-defined function to be called when there is a change in the state of one or more data providers.
+
+ @param context The application-defined context.
+ @param data_providers The collection of data providers which had a change in state.
+ @param new_state The new state of the data providers.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ @param failed_data_provider The data provider that failed and caused the error, if any.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (*ar_session_data_provider_state_change_handler_function_t)(void *_Nullable context,
+ ar_data_providers_t data_providers,
+ ar_data_provider_state_t new_state,
+ ar_error_t _Nullable error,
+ ar_data_provider_t _Nullable failed_data_provider) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the data provider state change function.
+
+ @param session The session.
+ @param queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param data_provider_state_change_handler_function The data provider state change function. Passing NULL will clear this handler.
+
+ @note Setting this function will override the handler set using `ar_session_set_data_provider_state_change_handler`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_session_set_data_provider_state_change_handler_f(
+ ar_session_t session,
+ dispatch_queue_t _Nullable queue,
+ void *_Nullable context,
+ ar_session_data_provider_state_change_handler_function_t _Nullable data_provider_state_change_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Run data providers on a session.
+
+ @param session The session.
+ @param data_providers The collection of data providers to run.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_session_run(ar_session_t session, ar_data_providers_t data_providers) AR_REFINED_FOR_SWIFT;
+
+/**
+ Stop all running data providers on a session.
+
+ @param session The session.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN void ar_session_stop(ar_session_t session) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a copy of the collection of all data providers on this session.
+ @param session The session.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return The collection of data providers.
+ */
+API_AVAILABLE(visionos(26.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_data_providers_t ar_session_copy_data_providers(ar_session_t session) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Session Authorization
+
+#ifdef __BLOCKS__
+/**
+ Handler to be called when there are updates to authorization.
+
+ @param authorization_result The authorization result.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (^ar_authorization_update_handler_t)(ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving authorization status updates.
+
+ @param session The session.
+ @param authorization_update_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param authorization_update_handler The handler to be called when there is an update to authorization status.
+
+ @note Setting this handler will override the function set using `ar_session_set_authorization_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void
+ar_session_set_authorization_update_handler(ar_session_t session,
+ dispatch_queue_t _Nullable authorization_update_queue,
+ ar_authorization_update_handler_t _Nullable authorization_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function to be called when there are updates to authorization.
+
+ @param context The application-defined context.
+ @param authorization_result The authorization result.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (*ar_authorization_update_handler_function_t)(void *_Nullable context,
+ ar_authorization_result_t authorization_result) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the function for receiving authorization status updates.
+
+ @param session The session.
+ @param authorization_update_queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param authorization_update_handler_function The function to be called when there is an update to authorization status.
+
+ @note Setting this function will override the handler set using `ar_session_set_authorization_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_session_set_authorization_update_handler_f(
+ ar_session_t session,
+ dispatch_queue_t _Nullable authorization_update_queue,
+ void *_Nullable context,
+ ar_authorization_update_handler_function_t _Nullable authorization_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler to be called upon completion of an authorization request.
+
+ @param authorization_results The collection of authorization results.
+ @param error The error that occurred during the authorization request, if any. The returned error supports ARC. In non-ARC files, use `ar_release()`
+ to release the error.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (^ar_authorization_results_handler_t)(ar_authorization_results_t authorization_results, ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Query the status of different authorization types.
+
+ @param session The session.
+ @param authorization_types The authorization types to query.
+ @param results_handler The handler to be called upon completion of the request. This handler will be called on an arbitrary queue.
+*/
+
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_session_query_authorization_results(ar_session_t session,
+ ar_authorization_type_t authorization_types,
+ ar_authorization_results_handler_t results_handler) AR_REFINED_FOR_SWIFT;
+
+/**
+ Request authorization for accessing ARKit data.
+
+ @param session The session.
+ @param authorization_types The authorization types to request.
+ @param results_handler The handler to be called upon completion of the request. This handler will be called on an arbitrary queue.
+
+ @discussion This will asynchronously prompt users for permission to access their data. If the authorization is already allowed or denied by the user,
+ the handler will be called without prompting the user for permission again.
+*/
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_session_request_authorization(ar_session_t session,
+ ar_authorization_type_t authorization_types,
+ ar_authorization_results_handler_t results_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function to be called upon completion of an authorization request.
+
+ @param context The application-defined context.
+ @param authorization_results The collection of authorization results.
+ @param error The error that occurred during the authorization request, if any. The returned error supports ARC. In non-ARC files, use `ar_release()`
+ to release the error.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+typedef void (*ar_authorization_results_handler_function_t)(void *_Nullable context,
+ ar_authorization_results_t authorization_results,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Query the status of different authorization types.
+
+ @param session The session.
+ @param authorization_types The authorization types to query.
+ @param context The application-defined context parameter to pass to the function.
+ @param results_handler_function The function to be called upon completion of the request. This function will be called on an arbitrary queue.
+*/
+
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_session_query_authorization_results_f(ar_session_t session,
+ ar_authorization_type_t authorization_types,
+ void *_Nullable context,
+ ar_authorization_results_handler_function_t results_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Request authorization for accessing ARKit data.
+
+ @param session The session.
+ @param authorization_types The authorization types to request.
+ @param context The application-defined context parameter to pass to the function.
+ @param results_handler_function The function to be called upon completion of the request. This function will be called on an arbitrary queue.
+
+ @discussion This will asynchronously prompt users for permission to access their data. If the authorization is already allowed or denied by the user,
+ the function will be called without prompting the user for permission again.
+*/
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_session_request_authorization_f(ar_session_t session,
+ ar_authorization_type_t authorization_types,
+ void *_Nullable context,
+ ar_authorization_results_handler_function_t results_handler_function) AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // session_h
+#else
+#import <ARKitCore/session.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/session.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/skeleton_joint.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/skeleton_joint.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/skeleton_joint.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/skeleton_joint.h 2025-05-28 02:35:24
@@ -0,0 +1,123 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/skeleton_joint.h>)
+//
+// skeleton_joint.h
+// ARKit
+//
+// Created by Nathaniel Pohl on 8/18/22.
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef skeleton_joint_h
+#define skeleton_joint_h
+
+#import <ARKit/object.h>
+
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_skeleton_joint)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0));
+
+/**
+ Returns a bool value that indicates whether the two skeleton joints are equal.
+
+ @param skeleton_joint A skeleton joint to be compared.
+ @param other_skeleton_joint The other skeleton joint to be compared to.
+
+ @return YES if the skeleton joints are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+AR_EXTERN bool ar_skeleton_joint_is_equal_to_skeleton_joint(ar_skeleton_joint_t _Nullable skeleton_joint,
+ ar_skeleton_joint_t _Nullable other_skeleton_joint) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a joint's index.
+
+ @param joint The joint.
+
+ @return The index of the joint.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN uint64_t ar_skeleton_joint_get_index(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get a joint's parent joint.
+
+ @param joint the joint.
+
+ @return Parent joint. This function will return null for the root node.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN ar_skeleton_joint_t _Nullable ar_skeleton_joint_get_parent(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from the joint to its parent joint's coordinate system.
+
+ @param joint The joint.
+
+ @note For a hand skeleton, the root of all these transforms starts at the wrist, then the next joint out (metacarpals and forearm) are relative to
+ the wrist, then all knuckles are relative to the metacarpals and so on until the finger tips.
+
+ @return The transform from the joint to its parent joint's coordinate system. This function will return an identity matrix when called for the root
+ joint.
+ */
+
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN simd_float4x4 ar_skeleton_joint_get_parent_from_joint_transform(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from the joint to the anchor's coordinate system.
+
+ @param joint The joint.
+
+ @return The transform from the joint to the anchor's coordinate system.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN simd_float4x4 ar_skeleton_joint_get_anchor_from_joint_transform(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether a joint is tracked.
+
+ @param joint The joint.
+
+ @return `true` if the joint is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0))
+AR_EXTERN bool ar_skeleton_joint_is_tracked(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler for enumerating skeleton joints.
+
+ @param joint The joint.
+
+ @return `true` to continue enumerating to the next joint name, `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (^ar_skeleton_joint_enumerator_t)(ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating skeleton joints.
+
+ @param context The application-defined context.
+ @param joint The joint.
+ @return `true` to continue enumerating to the next joint, `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+typedef bool (*ar_skeleton_joint_enumerator_function_t)(void *_Nullable context, ar_skeleton_joint_t joint) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // skeleton_joint_h
+#else
+#import <ARKitCore/skeleton_joint.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/skeleton_joint.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/stereo_properties.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/stereo_properties.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/stereo_properties.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/stereo_properties.h 2025-05-31 00:10:27
@@ -0,0 +1,126 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/stereo_properties.h>)
+//
+// stereo_properties.h
+// ARKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#ifndef stereo_properties_h
+#define stereo_properties_h
+
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <os/availability.h>
+#import <simd/types.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+API_UNAVAILABLE_BEGIN(macos);
+
+AR_OBJECT_DECL(ar_stereo_properties_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.4));
+
+AR_OBJECT_DECL_SUBCLASS(ar_stereo_properties_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.4));
+
+AR_OBJECT_DECL(ar_viewpoint_properties)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(2.4));
+
+#pragma mark - Viewpoint Properties
+
+/**
+ Create an `ar_viewpoint_properties_t`.
+
+ @return A new `ar_viewpoint_properties_t`.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN ar_viewpoint_properties_t ar_viewpoint_properties_create(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transformation matrix that converts from the left viewpoint to the device’s coordinate space.
+
+ @param viewpoint_properties The viewpoint properties.
+
+ @return The transform from the left viewpoint to the device origin.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN simd_float4x4 ar_viewpoint_properties_get_device_from_left_viewpoint_transform(ar_viewpoint_properties_t viewpoint_properties)
+ AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transformation matrix that converts from the right viewpoint to the device’s coordinate space.
+
+ @param viewpoint_properties The viewpoint properties.
+
+ @return The transform from the right viewpoint to the device origin.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN simd_float4x4 ar_viewpoint_properties_get_device_from_right_viewpoint_transform(ar_viewpoint_properties_t viewpoint_properties)
+ AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Stereo Properties Configuration
+
+/**
+ Create a stereo properties configuration object.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_stereo_properties_configuration_t`.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_stereo_properties_configuration_t ar_stereo_properties_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Stereo Properties Provider
+
+/**
+ Create a stereo properties provider.
+
+ @param configuration The configuration for the stereo properties provider.
+ @see `ar_session_t` to run this provider.
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_stereo_properties_provider_t`.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_stereo_properties_provider_t
+ar_stereo_properties_provider_create(ar_stereo_properties_configuration_t configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determines whether this device supports the stereo properties provider.
+
+ @return Returns `true` if the stereo properties provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN bool ar_stereo_properties_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the authorization type required by the stereo properties provider.
+
+ @return Authorization type.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN ar_authorization_type_t ar_stereo_properties_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+/**
+ Returns the latest viewpoint properties.
+
+ @param stereo_properties_provider The stereo properties provider.
+ @param[out] viewpoint_properties The viewpoint properties to fill out.
+ @returns True, if the viewpoint properties were updated.
+ */
+API_AVAILABLE(visionos(2.4))
+AR_EXTERN bool ar_stereo_properties_provider_get_viewpoint_properties(ar_stereo_properties_provider_t stereo_properties_provider,
+ ar_viewpoint_properties_t viewpoint_properties) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // stereo_properties_h
+#else
+#import <ARKitCore/stereo_properties.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/stereo_properties.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/strings_collection.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/strings_collection.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/strings_collection.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/strings_collection.h 2025-05-28 02:35:24
@@ -0,0 +1,89 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/strings_collection.h>)
+//
+// strings_collection.h
+// ARKit
+//
+// Copyright © 2025 Apple Inc. All rights reserved.
+//
+
+#ifndef strings_h
+#define strings_h
+
+#import <ARKit/object.h>
+
+#import <os/availability.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+#pragma mark - Strings Collection
+
+AR_OBJECT_DECL(ar_strings)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(26.0), macos(26.0));
+
+API_UNAVAILABLE_BEGIN(macos);
+
+/**
+ Returns the number of strings in this collection.
+
+ @param strings The strings collection.
+
+ @return Count of strings in the collection.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN size_t ar_strings_get_count(ar_strings_t strings) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Handler for enumerating a collection of strings.
+
+ @param string An UTF-8 encoded string representation.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(26.0))
+typedef bool (^ar_strings_enumerator_t)(const char *string) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of strings.
+
+ @param strings Strings collection.
+ @param strings_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN void ar_strings_enumerate_strings(ar_strings_t strings, ar_strings_enumerator_t strings_enumerator) AR_REFINED_FOR_SWIFT;
+
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of strings.
+
+ @param context The application-defined context.
+ @param string An UTF-8 encoded string representation.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(26.0))
+typedef bool (*ar_strings_enumerator_function_t)(void *_Nullable context, const char *string) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of strings using a function.
+
+ @param strings Strings collection.
+ @param context The application-defined context parameter to pass to the function.
+ @param strings_enumerator_function The enumerator handler.
+ */
+API_AVAILABLE(visionos(26.0))
+AR_EXTERN void ar_strings_enumerate_strings_f(ar_strings_t strings,
+ void *_Nullable context,
+ ar_strings_enumerator_function_t strings_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+API_UNAVAILABLE_END; // macos
+
+AR_ASSUME_NONNULL_END
+
+#endif // strings_h
+#else
+#import <ARKitCore/strings_collection.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/strings_collection.h>)
\ No newline at end of file
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/world_tracking.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/world_tracking.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/world_tracking.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ARKit.framework/Headers/world_tracking.h 2025-05-28 02:35:24
@@ -0,0 +1,692 @@
+#if (defined(USE_ARKIT_PUBLIC_HEADERS) && USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/world_tracking.h>)
+//
+// world_tracking.h
+// ARKit
+//
+// Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#ifndef world_tracking_h
+#define world_tracking_h
+
+#import <ARKit/anchor.h>
+#import <ARKit/data_provider.h>
+#import <ARKit/object.h>
+#import <ARKit/session.h>
+
+#import <dispatch/dispatch.h>
+#import <os/availability.h>
+#import <simd/types.h>
+#import <uuid/uuid.h>
+
+AR_ASSUME_NONNULL_BEGIN
+
+AR_OBJECT_DECL_SUBCLASS(ar_world_anchor, ar_trackable_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos);
+
+AR_OBJECT_DECL(ar_world_anchors)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos);
+
+AR_OBJECT_DECL(ar_world_tracking_configuration)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+AR_OBJECT_DECL_SUBCLASS(ar_world_tracking_provider, ar_data_provider)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+#pragma mark - World Anchor
+
+/**
+ Returns a bool value that indicates whether the two world anchors are equal.
+
+ @param anchor A world anchor to be compared.
+ @param other_anchor The other world anchor to be compared to.
+
+ @return YES if the world anchors are equal, otherwise NO.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN bool ar_world_anchor_is_equal_to_world_anchor(ar_world_anchor_t _Nullable anchor,
+ ar_world_anchor_t _Nullable other_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a world anchor initialized with a transform from the anchor to the origin coordinate system.
+
+ @param origin_from_anchor_transform The origin from anchor transform.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_world_anchor_t`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_world_anchor_t
+ar_world_anchor_create_with_origin_from_anchor_transform(simd_float4x4 origin_from_anchor_transform) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - World Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_anchor_get_identifier(ar_world_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN simd_float4x4 ar_world_anchor_get_origin_from_anchor_transform(ar_world_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN CFTimeInterval ar_world_anchor_get_timestamp(ar_world_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN bool ar_world_anchor_is_tracked(ar_world_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - World Anchors Collection
+
+/**
+ Get the count of world anchors in a collection.
+
+ @param world_anchors The collection of world anchors.
+
+ @return The number of world anchors in the collection.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN size_t ar_world_anchors_get_count(ar_world_anchors_t world_anchors) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler for enumerating a collection of world anchors.
+
+ @param world_anchor The world anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef bool (^ar_world_anchors_enumerator_t)(ar_world_anchor_t world_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of world anchors.
+
+ @param world_anchors The collection of world anchors.
+ @param world_anchors_enumerator The enumerator handler.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_anchors_enumerate_anchors(ar_world_anchors_t world_anchors,
+ ar_world_anchors_enumerator_t world_anchors_enumerator) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function for enumerating a collection of world anchors.
+
+ @param context The application-defined context.
+ @param world_anchor The world anchor.
+
+ @return `true` to continue enumerating, or `false` to stop enumerating.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef bool (*ar_world_anchors_enumerator_function_t)(void *_Nullable context, ar_world_anchor_t world_anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Enumerate a collection of world anchors using a function.
+
+ @param world_anchors The collection of world anchors.
+ @param context The application-defined context parameter to pass to the function.
+ @param world_anchors_enumerator_function The enumerator function.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_anchors_enumerate_anchors_f(ar_world_anchors_t world_anchors,
+ void *_Nullable context,
+ ar_world_anchors_enumerator_function_t world_anchors_enumerator_function) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - World Tracking Configuration
+
+/**
+ Create a world tracking configuration.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_world_tracking_configuration_t`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_world_tracking_configuration_t ar_world_tracking_configuration_create(void) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - World Tracking Provider
+
+/**
+ Create a world tracking provider.
+
+ @param world_tracking_configuration The configuration for world tracking.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_world_tracking_provider_t`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_world_tracking_provider_t
+ar_world_tracking_provider_create(ar_world_tracking_configuration_t world_tracking_configuration) AR_REFINED_FOR_SWIFT;
+
+/**
+ Function called when a request to copy all known world anchors has completed (successfully or not).
+
+ @param all_anchors The nullable collection of known world anchors. Passes null if data provider is not running and for other errors.
+
+ @note The results will be accurate at the time of callback, but not necessarily at the time of the request.
+ @note The returned anchors support ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the anchors.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+typedef void (*ar_world_tracking_provider_copy_all_world_anchors_completion_function_t)(
+ void *_Nullable context, ar_world_anchors_t _Nullable all_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copies all known world anchors from the world tracking provider asynchronously.
+
+ @param world_tracking_provider The world tracking provider.
+ @param context The application-defined context parameter to pass to the function.
+ @param copy_all_anchors_completion_handler_function The function to be called with the result of the request for all known world anchors.
+
+ @note This is not a blocking call. It will return all anchors that have been added successfully before the completion handler is called.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_copy_all_world_anchors_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ void *_Nullable context,
+ ar_world_tracking_provider_copy_all_world_anchors_completion_function_t _Nullable copy_all_anchors_completion_handler_function)
+ AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when a request to copy all known world anchors has completed (successfully or not).
+
+ @param all_anchors The nullable collection of known world anchors. Passes null if data provider is not running and for other errors.
+
+ @note The results will be accurate at the time of callback, but not necessarily at the time of the request.
+ @note The returned anchors support ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the anchors.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_provider_copy_all_world_anchors_completion_handler_t)(ar_world_anchors_t _Nullable all_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Copies all known world anchors from the world tracking provider asynchronously.
+
+ @param world_tracking_provider The world tracking provider.
+ @param copy_all_anchors_completion_handler The handler to be called with the result of the request for all known world anchors.
+
+ @note This is not a blocking call. It will return all anchors that have been added successfully before the completion handler is called.
+ */
+API_AVAILABLE(visionos(2.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_copy_all_world_anchors(
+ ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_tracking_provider_copy_all_world_anchors_completion_handler_t copy_all_anchors_completion_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+#ifdef __BLOCKS__
+/**
+ Handler called when there are updates to world anchors. This includes updates to persisted world anchors from previous runs of the app.
+
+ @param added_anchors The collection of world anchors that were added.
+ @param updated_anchors The collection of world anchors that were updated.
+ @param removed_anchors The collection of world anchors that were removed.
+
+ @note This handler will also be called for persisted world anchors from previous runs of the app, after the world tracking provider has been started.
+ World anchors persist across device restarts until they are explicitly removed. Identify the anchors you want to react to using
+ `ar_anchor_get_identifier`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_anchor_update_handler_t)(ar_world_anchors_t added_anchors,
+ ar_world_anchors_t updated_anchors,
+ ar_world_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the handler for receiving world tracking anchor updates.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_tracking_updates_queue The queue on which the handler will be called. Passing NULL will default to the main queue.
+ @param world_tracking_anchor_update_handler The handler to be called when new world anchor data arrives.
+
+ @note Setting this handler will override the function set using `ar_world_tracking_provider_set_anchor_update_handler_f`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_set_anchor_update_handler(
+ ar_world_tracking_provider_t world_tracking_provider,
+ dispatch_queue_t _Nullable world_tracking_updates_queue,
+ ar_world_tracking_anchor_update_handler_t _Nullable world_tracking_anchor_update_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when there are updates to world anchors. This includes updates to persisted world anchors from previous runs of the app.
+
+ @param context The application-defined context.
+ @param added_anchors The collection of world anchors that were added.
+ @param updated_anchors The collection of world anchors that were updated.
+ @param removed_anchors The collection of world anchors that were removed.
+
+ @note This function will also be called for persisted world anchors from previous runs of the app, after the world tracking provider has been
+ started. World anchors persist across device restarts until they are explicitly removed. Identify the anchors you want to react to using
+ `ar_anchor_get_identifier`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (*ar_world_tracking_anchor_update_handler_function_t)(void *_Nullable context,
+ ar_world_anchors_t added_anchors,
+ ar_world_anchors_t updated_anchors,
+ ar_world_anchors_t removed_anchors) AR_REFINED_FOR_SWIFT;
+
+/**
+ Set the function for receiving world tracking anchor updates.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_tracking_updates_queue The queue on which the function will be called. Passing NULL will default to the main queue.
+ @param context The application-defined context parameter to pass to the function.
+ @param world_tracking_anchor_update_handler_function The function to be called when new world anchor data arrives.
+
+ @note Setting this function will override the handler set using `ar_world_tracking_provider_set_anchor_update_handler`.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_set_anchor_update_handler_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ dispatch_queue_t _Nullable world_tracking_updates_queue,
+ void *_Nullable context,
+ ar_world_tracking_anchor_update_handler_function_t _Nullable world_tracking_anchor_update_handler_function) AR_REFINED_FOR_SWIFT;
+
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+OS_ENUM(ar_world_tracking_error_code, ar_error_code_t,
+ /// Error code indicating that a world anchor failed to be added.
+ ar_world_tracking_error_code_add_anchor_failed = 200,
+ /// Error code indicating that the maximum amount of world anchors have been added.
+ ar_world_tracking_error_code_anchor_max_limit_reached = 201,
+ /// Error code indicating that a world anchor failed to be removed.
+ ar_world_tracking_error_code_remove_anchor_failed = 202
+) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether this device supports the world tracking provider.
+
+ @return `true` if the world tracking provider is supported on this device, `false` otherwise.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN bool ar_world_tracking_provider_is_supported(void) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when a request to add a world anchor has completed (successfully or not).
+
+ @param world_anchor The world anchor to be added to the world tracking provider.
+ @param successful `true` if the world anchor was successfully added to the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_add_anchor_completion_handler_t)(ar_world_anchor_t world_anchor,
+ bool successful,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add a world anchor to the world tracking provider. This anchor will be persisted across device restarts unless explicitly removed.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_anchor The world anchor to add.
+ @param add_anchor_completion_handler The handler to be called after the request to add the world anchor to the world tracking provider completes.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void
+ar_world_tracking_provider_add_anchor(ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_anchor_t world_anchor,
+ ar_world_tracking_add_anchor_completion_handler_t add_anchor_completion_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when a request to add a world anchor has completed (successfully or not).
+
+ @param context The application-defined context.
+ @param world_anchor The world anchor to be added to the world tracking provider.
+ @param successful `true` if the world anchor was successfully added to the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (*ar_world_tracking_add_anchor_completion_handler_function_t)(void *_Nullable context,
+ ar_world_anchor_t world_anchor,
+ bool successful,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Add a world anchor to the world tracking provider. This anchor will be persisted across device restarts unless explicitly removed.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_anchor The world anchor to add.
+ @param context The application-defined context parameter to pass to the function.
+ @param add_anchor_completion_handler_function The function to be called after the request to add the world anchor to the world tracking provider
+ completes.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_add_anchor_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_anchor_t world_anchor,
+ void *_Nullable context,
+ ar_world_tracking_add_anchor_completion_handler_function_t add_anchor_completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+/**
+ Handler called when a request to remove a world anchor has completed (successfully or not).
+
+ @param world_anchor The world anchor to be removed from the world tracking provider.
+ @param successful `true` if the world anchor was successfully removed from the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_remove_anchor_completion_handler_t)(ar_world_anchor_t world_anchor,
+ bool successful,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove a world anchor from the world tracking provider.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_anchor The world anchor to remove.
+ @param remove_anchor_completion_handler The handler to be called after the request to remove the world anchor from the world tracking provider
+ completes.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void
+ar_world_tracking_provider_remove_anchor(ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_anchor_t world_anchor,
+ ar_world_tracking_remove_anchor_completion_handler_t remove_anchor_completion_handler) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove a world anchor from the world tracking provider using its identifier.
+
+ @param world_tracking_provider The world tracking provider.
+ @param anchor_identifier The identifier of the world anchor to remove.
+ @param remove_anchor_completion_handler The handler to be called after the request to remove the world anchor from the world tracking provider
+ completes.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_remove_anchor_with_identifier(
+ ar_world_tracking_provider_t world_tracking_provider,
+ uuid_t _Nonnull anchor_identifier,
+ ar_world_tracking_remove_anchor_completion_handler_t remove_anchor_completion_handler) AR_REFINED_FOR_SWIFT;
+#endif // __BLOCKS__
+
+/**
+ Function called when a request to remove a world anchor has completed (successfully or not).
+
+ @param context The application-defined context.
+ @param world_anchor The world anchor to be removed from the world tracking provider.
+ @param successful `true` if the world anchor was successfully removed from the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+typedef void (*ar_world_tracking_remove_anchor_completion_handler_function_t)(void *_Nullable context,
+ ar_world_anchor_t world_anchor,
+ bool successful,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove a world anchor from the world tracking provider.
+
+ @param world_tracking_provider The world tracking provider.
+ @param world_anchor The world anchor to remove.
+ @param context The application-defined context parameter to pass to the function.
+ @param remove_anchor_completion_handler_function The function to be called after the request to remove the world anchor from the world tracking
+ provider completes.
+ */
+API_AVAILABLE(visionos(1.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_remove_anchor_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_anchor_t world_anchor,
+ void *_Nullable context,
+ ar_world_tracking_remove_anchor_completion_handler_function_t remove_anchor_completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+/**
+ Remove a world anchor from the world tracking provider using its identifier.
+
+ @param world_tracking_provider The world tracking provider.
+ @param anchor_identifier The identifier of the world anchor to remove.
+ @param context The application-defined context parameter to pass to the function.
+ @param remove_anchor_completion_handler_function The function to be called after the request to remove the world anchor from the world tracking
+ provider completes.
+ */
+API_AVAILABLE(visionos(26.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_remove_anchor_with_identifier_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ uuid_t _Nonnull anchor_identifier,
+ void *_Nullable context,
+ ar_world_tracking_remove_anchor_completion_handler_function_t remove_anchor_completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+#ifdef __BLOCKS__
+
+/**
+ Function called when a request to remove all known world anchors has completed (successfully or not).
+
+ @param successful `true` if all anchors were successfully removed from the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(26.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_remove_all_anchors_completion_handler_t)(bool successful, ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Removes all known world anchors from the world tracking provider asynchronously.
+
+ @param world_tracking_provider The world tracking provider.
+ @param remove_all_anchors_completion_handler The handler to be called after the request to remove all known world anchors from
+ the world tracking provider completes.
+ */
+API_AVAILABLE(visionos(26.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_remove_all_anchors(
+ ar_world_tracking_provider_t world_tracking_provider,
+ ar_world_tracking_remove_all_anchors_completion_handler_t remove_all_anchors_completion_handler) AR_REFINED_FOR_SWIFT;
+
+#endif
+
+/**
+ Function called when a request to remove all known world anchors has completed (successfully or not).
+
+ @param context The application-defined context.
+ @param successful `true` if all anchors were successfully removed from the world tracking provider, `false` otherwise.
+ @param error The error that occurred, if any. The returned error supports ARC. In non-ARC files, use `ar_release()` to release the error.
+ */
+API_AVAILABLE(visionos(26.0))
+API_UNAVAILABLE(macos)
+typedef void (^ar_world_tracking_remove_all_anchors_completion_handler_function_t)(void *_Nullable context,
+ bool successful,
+ ar_error_t _Nullable error) AR_REFINED_FOR_SWIFT;
+
+/**
+ Removes all known world anchors from the world tracking provider asynchronously.
+
+ @param world_tracking_provider The world tracking provider.
+ @param context The application-defined context parameter to pass to the function.
+ @param remove_all_anchors_completion_handler_function The handler to be called after the request to remove all known world anchors from
+ the world tracking provider completes.
+ */
+API_AVAILABLE(visionos(26.0))
+API_UNAVAILABLE(macos)
+AR_EXTERN void ar_world_tracking_provider_remove_all_anchors_f(
+ ar_world_tracking_provider_t world_tracking_provider,
+ void *_Nullable context,
+ ar_world_tracking_remove_all_anchors_completion_handler_function_t remove_all_anchors_completion_handler_function) AR_REFINED_FOR_SWIFT;
+
+
+#pragma mark - Device Anchor
+
+AR_OBJECT_DECL_SUBCLASS(ar_device_anchor, ar_trackable_anchor)
+AR_REFINED_FOR_SWIFT
+API_AVAILABLE(visionos(1.0), macos(26.0));
+
+/**
+ Return status enum values for getting the device anchor at a specified timestamp from the world tracking provider.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+OS_ENUM(ar_device_anchor_query_status, intptr_t,
+ // The device anchor at the specified timestamp was successfully obtained.
+ ar_device_anchor_query_status_success = 0,
+ // The device anchor at the specified timestamp failed to be obtained.
+ ar_device_anchor_query_status_failure)
+AR_REFINED_FOR_SWIFT;
+
+/**
+ Tracking states of a device anchor.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+OS_ENUM(ar_device_anchor_tracking_state, intptr_t,
+ // The anchor is not tracked.
+ ar_device_anchor_tracking_state_untracked = 0,
+ // Only orientation is currently tracked.
+ ar_device_anchor_tracking_state_orientation_tracked,
+ // Both position and orientation are currently tracked.
+ ar_device_anchor_tracking_state_tracked)
+AR_REFINED_FOR_SWIFT;
+
+/**
+ Create a device anchor.
+
+ @note This type supports ARC. In non-ARC files, use `ar_retain()` and `ar_release()` to retain and release the object.
+ @return An instance of `ar_device_anchor_t`.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN AR_OBJECT_RETURNS_RETAINED ar_device_anchor_t ar_device_anchor_create(void) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - Device Anchor (ar_anchor convenience getters)
+
+/**
+ Get the identifier of an anchor.
+
+ @param[in] anchor The anchor.
+ @param[out] out_identifier A pointer to a UUID to fill out with the anchor identifier. Must be non-null.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+AR_EXTERN void ar_device_anchor_get_identifier(ar_device_anchor_t anchor, uuid_t _Nonnull out_identifier) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the transform from an anchor to the origin coordinate system.
+
+ @param anchor The anchor.
+
+ @return The origin from anchor transform.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+AR_EXTERN simd_float4x4 ar_device_anchor_get_origin_from_anchor_transform(ar_device_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the timestamp corresponding to an anchor.
+
+ @param anchor The anchor.
+
+ @return The timestamp associated with the anchor.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+AR_EXTERN CFTimeInterval ar_device_anchor_get_timestamp(ar_device_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Determine whether an anchor is tracked.
+
+ @param anchor The anchor.
+
+ @return `true` if the anchor is tracked, `false` otherwise.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+AR_EXTERN bool ar_device_anchor_is_tracked(ar_device_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+/**
+ Get the tracking state of the device anchor.
+
+ @param anchor The anchor.
+
+ @return Tracking state of this anchor.
+ */
+API_AVAILABLE(visionos(2.0), macos(26.0))
+
+AR_EXTERN ar_device_anchor_tracking_state_t ar_device_anchor_get_tracking_state(ar_device_anchor_t anchor) AR_REFINED_FOR_SWIFT;
+
+#pragma mark - World Tracking Prediction
+
+/**
+ Query a device anchor at the given timestamp.
+ The origin is a right-handed coordinate system and is defined such that X points to the right, Y points up, and Z points backward.
+
+ Example usage:
+ ```
+ auto timing_info = cp_drawable_get_frame_timing(drawable);
+ auto time = cp_time_to_cf_time_interval(cp_frame_timing_get_presentation_time(timing_info));
+ const ar_device_anchor_query_status_t status = ar_world_tracking_provider_query_device_anchor_at_timestamp(_provider, time, &device_anchor);
+ ```
+
+ @note This API is not thread safe.
+ @param[in] world_tracking_provider The world tracking provider.
+ @param[in] timestamp The timestamp to get the device anchor at. The timestamp should be provided as mach absolute time in seconds.
+ @param[out] device_anchor The output device anchor.
+
+ @return An `ar_device_anchor_query_status_t` value indicating whether the device anchor was successfully retrieved at the given timestamp or not.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_device_anchor_query_status_t
+ar_world_tracking_provider_query_device_anchor_at_timestamp(ar_world_tracking_provider_t world_tracking_provider,
+ CFTimeInterval timestamp,
+ ar_device_anchor_t device_anchor) AR_REFINED_FOR_SWIFT AR_MT_UNSAFE;
+
+/**
+ Get the authorization type required by the world tracking provider.
+
+ @return The required authorization type.
+ */
+API_AVAILABLE(visionos(1.0), macos(26.0))
+AR_EXTERN ar_authorization_type_t ar_world_tracking_provider_get_required_authorization_type(void) AR_REFINED_FOR_SWIFT;
+
+AR_ASSUME_NONNULL_END
+
+#endif // world_tracking_h
+#else
+#import <ARKitCore/world_tracking.h>
+#endif // #if (defined(USE_ARKIT_PUBLIC_HEADERS) \&\& USE_ARKIT_PUBLIC_HEADERS) || !__has_include(<ARKitCore/world_tracking.h>)
\ No newline at end of file