Skip to content

Vision tvOS xcode15.0 b1

Haritha Mohan edited this page Sep 25, 2023 · 3 revisions

#Vision.framework https://github.com/xamarin/xamarin-macios/pull/19099

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNClassifyImageRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNClassifyImageRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNClassifyImageRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNClassifyImageRequest.h	2023-05-31 03:50:11
@@ -52,8 +52,18 @@
 
 
 
+/*!
+	@brief Classification with a taxonomy of 1,303 possible identifiers.
+*/
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
 static const NSUInteger VNClassifyImageRequestRevision1 = 1;
+
+
+/*!
+	@brief The same taxonomy as `VNClassifyImageRequestRevision1` but with improved accuracy, reduced latency and memory utilization.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNClassifyImageRequestRevision2 = 2;
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNCoreMLRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNCoreMLRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNCoreMLRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNCoreMLRequest.h	2023-05-31 03:50:11
@@ -48,7 +48,7 @@
 
 /*!
 	@brief   The VNCoreMLRequest uses a VNCoreMLModel, that is based on a CoreML MLModel object, to run predictions with that model. Depending on the model the returned
-             observation is either a VNClassificationObservation for classifier models, VNPixelBufferObservations for image-to-image models, VNRecognizedObjectObservation for object recognition models or VNCoreMLFeatureValueObservation for everything else.
+             observation is either a VNClassificationObservation for classifier models, VNPixelBufferObservations for image-to-image models, VNRecognizedObjectObservation for object recognition models or VNCoreMLFeatureValueObservation for everything else. All -[VNObservation confidence] values are forwarded from relevant models as is, and do not conform to a common [0, 1] range rule
  */
 
 API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0))
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectAnimalBodyPoseRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectAnimalBodyPoseRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectAnimalBodyPoseRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectAnimalBodyPoseRequest.h	2023-05-31 03:50:10
@@ -0,0 +1,49 @@
+//
+//  VNDetectAnimalBodyPoseRequest.h
+//  Vision
+//
+//  Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNRequest.h>
+#import <Vision/VNTypes.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @brief Detects specific landmark points on animal bodies.
+ @discussion This request will produce a collection of VNAnimalBodyPoseObservation objects which describe the pose of each detected animal body.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNDetectAnimalBodyPoseRequest : VNImageBasedRequest
+
+/*!
+ @brief Obtain the collection of animal body joint names that are supported by a request object configured with a request revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNAnimalBodyPoseObservationJointName symbols that are supported by the request, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNAnimalBodyPoseObservationJointName>*) supportedJointNamesAndReturnError:(NSError **)error;
+
+
+/*!
+ @brief Obtain the collection of animal body joints group names that are supported by a request object configured with a request revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNAnimalBodyPoseObservationJointsGroupName symbols that are supported by the request, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNAnimalBodyPoseObservationJointsGroupName>*) supportedJointsGroupNamesAndReturnError:(NSError **)error;
+
+
+/*!
+ @discussion VNAnimalBodyPoseObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNAnimalBodyPoseObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNDetectAnimalBodyPoseRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectBarcodesRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectBarcodesRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectBarcodesRequest.h	2023-03-09 19:13:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectBarcodesRequest.h	2023-05-31 03:50:11
@@ -45,7 +45,12 @@
 */
 @property (readwrite, nonatomic, copy) NSArray<VNBarcodeSymbology> *symbologies;
 
+/*!
+ @discussion An option to coalesce multiple codes if applicable based on the symbology
+ */
+@property (readwrite, nonatomic) BOOL coalesceCompositeSymbologies API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
+
 /*!
 	@discussion VNBarcodeObservation results.
 */
@@ -54,7 +59,7 @@
 @end
 
 
-API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0))
+API_DEPRECATED_WITH_REPLACEMENT("VNDetectBarcodesRequestRevision3", macos(10.14, 14.0), ios(12.0, 17.0), tvos(12.0, 17.0))
 static const NSUInteger VNDetectBarcodesRequestRevision1 = 1;
 
 /*
@@ -68,6 +73,13 @@
  */
 API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0))
 static const NSUInteger VNDetectBarcodesRequestRevision3 = 3;
+
+/*
+    @brief expands set of detected symbologies, improves accuracy, offers supplemental payloads,
+    adds inverted color support, and may produce observations outside image bounds in comparision to prior revisions
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNDetectBarcodesRequestRevision4 = 4;
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectFaceCaptureQualityRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectFaceCaptureQualityRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectFaceCaptureQualityRequest.h	2023-03-09 19:13:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectFaceCaptureQualityRequest.h	2023-05-31 03:50:11
@@ -37,4 +37,10 @@
 API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0))
 static const NSUInteger VNDetectFaceCaptureQualityRequestRevision2 = 2;
 
+/*!
+ @brief The revision shows better correlation with human judgement on a larger and more diverse dataset. It is also more stable with respect to minor image variations.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNDetectFaceCaptureQualityRequestRevision3 = 3;
+
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPose3DRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPose3DRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPose3DRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPose3DRequest.h	2023-05-31 03:50:10
@@ -0,0 +1,67 @@
+//
+//  VNDetectHumanBodyPose3DRequest.h
+//  Vision
+//
+//	Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNRequest.h>
+#import <Vision/VNObservation.h>
+#import <Vision/VNTypes.h>
+#import <Vision/VNStatefulRequest.h>
+
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+ @brief A request that detects specific landmark points on human bodies in 3D space relative to the camera.
+        When possible,`AVDepthData` depth information is used to produce more accurate results, but the request does not require it to run.
+ @discussion This request generates a collection of VNHumanBodyPose3DObservation objects which describe the position of each detected body
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNDetectHumanBodyPose3DRequest : VNStatefulRequest
+
+
+/*!
+    @brief Creates a new VNDetectHumanBodyPose3DRequest with no completion handler.
+*/
+- (instancetype) init;
+
+
+/*!
+    @brief Creates a new VNDetectHumanBodyPose3DRequest with completion handler.
+*/
+- (instancetype) initWithCompletionHandler:(nullable VNRequestCompletionHandler)completionHandler;
+
+
+/*!
+ @brief Obtain the collection of human body joint names that are supported by a given request revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanBodyPose3DObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanBodyPose3DObservationJointName>*) supportedJointNamesAndReturnError:(NSError **)error;
+
+
+/*!
+ @brief Obtain the collection of human body joints group names that are supported by a request object configured with a request revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanBody3DPoseObservationJointsGroupName symbols that are supported by the request, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanBodyPose3DObservationJointsGroupName>*) supportedJointsGroupNamesAndReturnError:(NSError **)error;
+
+
+/*!
+	@discussion VNHumanBodyPose3DObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNHumanBodyPose3DObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNDetectHumanBodyPose3DRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPoseRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPoseRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPoseRequest.h	2023-03-09 23:50:36
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanBodyPoseRequest.h	2023-05-31 08:50:08
@@ -155,16 +155,32 @@
  @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
  @return An array of VNHumanBodyPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
 */
-+ (nullable NSArray<VNHumanBodyPoseObservationJointName>*) supportedJointNamesForRevision:(NSUInteger)revision error:(NSError **)error;
++ (nullable NSArray<VNHumanBodyPoseObservationJointName>*) supportedJointNamesForRevision:(NSUInteger)revision error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("supportedJointNamesAndReturnError", macos(11.0, 14.0), ios(14.0, 17.0), tvos(14.0, 17.0));
 
 
 /*!
+ @brief Obtain the collection of human body joint names that are supported by a given request object configured with a specific revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanBodyPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanBodyPoseObservationJointName>*) supportedJointNamesAndReturnError:(NSError **)error API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
  @brief Obtain the collection of human body joints group names that are supported by a given request revision.
  @param revision The revision of VNDetectHumanBodyPoseRequest being queried.
  @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
  @return An array of VNHumanBodyPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
 */
-+ (nullable NSArray<VNHumanBodyPoseObservationJointsGroupName>*) supportedJointsGroupNamesForRevision:(NSUInteger)revision error:(NSError **)error;
++ (nullable NSArray<VNHumanBodyPoseObservationJointsGroupName>*) supportedJointsGroupNamesForRevision:(NSUInteger)revision error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("supportedJointsGroupNamesAndReturnError", macos(11.0, 14.0), ios(14.0, 17.0), tvos(14.0, 17.0));
+
+
+/*!
+ @brief Obtain the collection of human body joints group names that are supported by a given request object configured with a specific revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanBodyPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanBodyPoseObservationJointsGroupName>*) supportedJointsGroupNamesAndReturnError:(NSError **)error API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
 
 /*!
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanHandPoseRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanHandPoseRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanHandPoseRequest.h	2023-03-09 19:17:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectHumanHandPoseRequest.h	2023-05-31 08:50:08
@@ -154,8 +154,14 @@
  @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
  @return An array of VNHumanHandPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
 */
-+ (nullable NSArray<VNHumanHandPoseObservationJointName>*) supportedJointNamesForRevision:(NSUInteger)revision error:(NSError **)error;
++ (nullable NSArray<VNHumanHandPoseObservationJointName>*) supportedJointNamesForRevision:(NSUInteger)revision error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("supportedJointNamesAndReturnError", macos(11.0, 14.0), ios(14.0, 17.0), tvos(14.0, 17.0));
 
+/*!
+ @brief Obtain the collection of human hand joint names that are supported by a given request object configured with a specific revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanHandPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanHandPoseObservationJointName>*) supportedJointNamesAndReturnError:(NSError **)error API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
 /*!
  @brief Obtain the collection of human hand joints group names that are supported by a given request revision.
@@ -163,7 +169,14 @@
  @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
  @return An array of VNHumanHandPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
 */
-+ (nullable NSArray<VNHumanHandPoseObservationJointsGroupName>*) supportedJointsGroupNamesForRevision:(NSUInteger)revision error:(NSError **)error;
++ (nullable NSArray<VNHumanHandPoseObservationJointsGroupName>*) supportedJointsGroupNamesForRevision:(NSUInteger)revision error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("supportedJointsGroupNamesAndReturnError", macos(11.0, 14.0), ios(14.0, 17.0), tvos(14.0, 17.0));
+
+/*!
+ @brief Obtain the collection of human hand joints group names that are supported by a given request object configured with a specific revision.
+ @param error The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
+ @return An array of VNHumanHandPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
+*/
+- (nullable NSArray<VNHumanHandPoseObservationJointsGroupName>*) supportedJointsGroupNamesAndReturnError:(NSError **)error API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
 /*!
 	@brief Defines an upper bounds to the maximum number of hands that will be processed for key points in an image.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectedPoint.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectedPoint.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectedPoint.h	2023-03-09 19:13:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNDetectedPoint.h	2023-05-31 03:50:11
@@ -12,12 +12,6 @@
 NS_ASSUME_NONNULL_BEGIN
 
 
-typedef NSString * VNRecognizedPointKey NS_STRING_ENUM;
-
-typedef NSString * VNRecognizedPointGroupKey NS_STRING_ENUM;
-
-
-
 /*!
  @class VNDetectedPoint
  @brief VNDetectedPoint is a VNPoint with a confidence value.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNError.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNError.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNError.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNError.h	2023-05-31 03:50:11
@@ -34,5 +34,7 @@
     VNErrorDataUnavailable  API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0)),
     VNErrorTimeStampNotFound  API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0)),
     VNErrorUnsupportedRequest  API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0)),
-    VNErrorTimeout  API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0))
+    VNErrorTimeout  API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)),
+    VNErrorUnsupportedComputeStage API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)),
+    VNErrorUnsupportedComputeDevice API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)),
 };
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateAttentionBasedSaliencyImageRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateAttentionBasedSaliencyImageRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateAttentionBasedSaliencyImageRequest.h	2023-03-09 19:13:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateAttentionBasedSaliencyImageRequest.h	2023-05-31 03:50:10
@@ -32,4 +32,11 @@
 static const NSUInteger VNGenerateAttentionBasedSaliencyImageRequestRevision1 = 1;
 
 
+/*!
+	@brief Improved accuracy, reduced latency and memory utilization.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNGenerateAttentionBasedSaliencyImageRequestRevision2 = 2;
+
+
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateForegroundInstanceMaskRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateForegroundInstanceMaskRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateForegroundInstanceMaskRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateForegroundInstanceMaskRequest.h	2023-05-31 03:50:11
@@ -0,0 +1,34 @@
+//
+//  VNGenerateForegroundInstanceMaskRequest.h
+//  Vision
+//
+//	Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNRequest.h>
+#import <Vision/VNObservation.h>
+
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+	@brief A request that generates an instance mask of salient objects that can be separated from the background.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNGenerateForegroundInstanceMaskRequest : VNImageBasedRequest
+
+/*!
+	@discussion VNObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNInstanceMaskObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNGenerateForegroundInstanceMaskRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateImageFeaturePrintRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateImageFeaturePrintRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateImageFeaturePrintRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateImageFeaturePrintRequest.h	2023-05-31 03:50:11
@@ -15,7 +15,7 @@
 /*!
 	@brief A request for generating a feature print of an image.
 
-	@discussion This request will produce a VNFeaturePrintObservation object.
+	@discussion This request will produce a `VNFeaturePrintObservation` object.
 */
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
 @interface VNGenerateImageFeaturePrintRequest : VNImageBasedRequest
@@ -23,21 +23,31 @@
 /*!
 	@brief Determine what type of croping and scaling action should be applied to the image before generating the feature print.
  
-	@discussion The default value for this property is VNImageCropAndScaleOptionScaleFill.
+	@discussion The default value for this property is `VNImageCropAndScaleOptionScaleFill`.
 */
 @property (nonatomic, readwrite, assign) VNImageCropAndScaleOption imageCropAndScaleOption;
 
 
 /*!
-	@discussion VNFeaturePrintObservation results.
+	@discussion `VNFeaturePrintObservation` results.
 */
 @property (readonly, copy, nullable) NSArray<VNFeaturePrintObservation*>* results;
 
 @end
 
 
+
+/*!
+	@brief The feature print produced by the `VNClassifyImageRequestRevision1` classifier.
+*/
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
 static const NSUInteger VNGenerateImageFeaturePrintRequestRevision1 = 1;
+
+/*!
+	@brief The feature print produced by the `VNClassifyImageRequestRevision2` classifier.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNGenerateImageFeaturePrintRequestRevision2 = 2;
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateObjectnessBasedSaliencyImageRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateObjectnessBasedSaliencyImageRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateObjectnessBasedSaliencyImageRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateObjectnessBasedSaliencyImageRequest.h	2023-05-31 03:50:11
@@ -26,8 +26,16 @@
 @end
 
 
+
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
 static const NSUInteger VNGenerateObjectnessBasedSaliencyImageRequestRevision1 = 1;
+
+
+/*!
+	@brief Improved accuracy, reduced latency and memory utilization.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNGenerateObjectnessBasedSaliencyImageRequestRevision2 = 2;
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateOpticalFlowRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateOpticalFlowRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateOpticalFlowRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGenerateOpticalFlowRequest.h	2023-05-31 03:50:11
@@ -14,7 +14,6 @@
 
 /*!
  @brief The level of optical flow computational accuracy.
- @details Computational accuracy settings are only available for VNGenerateOpticalFlowRequestRevision1.
  */
 API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0))
 typedef NS_ENUM(NSUInteger, VNGenerateOpticalFlowRequestComputationAccuracy)
@@ -57,8 +56,6 @@
 /*!
  @brief The level of accuracy used to compute the optical flow. Default is VNGenerateOpticalFlowRequestComputationAccuracyMedium.
  @discussion The computational time typically trends with the accuracy level.  This parameter allows for selective tuning by the client application.
-             Computational accuracy settings are only available for VNGenerateOpticalFlowRequestRevision1.
-             VNGenerateOpticalFlowRequestRevision2 uses a neural network to generate the optical flow.
  */
 @property (readwrite, nonatomic, assign) VNGenerateOpticalFlowRequestComputationAccuracy computationAccuracy;
 
@@ -69,7 +66,7 @@
 @property (readwrite, nonatomic, assign) OSType outputPixelFormat;
 
 /*!
- @brief Setting this to YES will keep the raw pixel buffer coming the the ML network. The default is NO.
+ @brief Setting this to YES will keep the raw pixel buffer coming from the the ML network. The default is NO.
  @discussion When set to YES, the outputPixelFormat is ignored. Setting this for revision 1 is a no-op as it is not ML-based.
  */
 @property (readwrite, nonatomic, assign) BOOL keepNetworkOutput API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0));
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonInstanceMaskRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonInstanceMaskRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonInstanceMaskRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonInstanceMaskRequest.h	2023-05-31 03:50:11
@@ -0,0 +1,34 @@
+//
+//  VNGeneratePersonInstanceMaskRequest.h
+//  Vision
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNRequest.h>
+#import <Vision/VNObservation.h>
+
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+    @brief A request that generates an instance mask of individual people found in the image.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNGeneratePersonInstanceMaskRequest : VNImageBasedRequest
+
+/*!
+    @discussion VNObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNInstanceMaskObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNGeneratePersonInstanceMaskRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonSegmentationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonSegmentationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonSegmentationRequest.h	2023-03-09 19:13:59
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeneratePersonSegmentationRequest.h	2023-05-31 03:50:11
@@ -14,7 +14,7 @@
 
 /*!
  @brief     Person segmentation level options to favor speed over recognition accuracy.
-            VNPersonSegmentationRequestLevelAccurate is the default option.
+            VNGeneratePersonSegmentationRequestQualityLevelAccurate is the default option.
  @details   fast - generates a low accuracy segmentation mask that can be used in streaming scenarios on devices that have a neural engine
             balanced - generates a high accuracy segmentation mask
             accurate - generates a mask based on the balanced output that includes matting refinement
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeometry.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeometry.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeometry.h	2023-03-09 23:53:42
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNGeometry.h	2023-05-31 05:40:31
@@ -84,6 +84,21 @@
 
 
 
+/*!
+@class VNPoint3D
+@brief VNPoint3D represents a single, immutable, three-dimensional point in an image.
+@discussion It should be noted that VNPoint3D is not intended as an overall replacement of simd float4x4, but is used by observations that need to present points which may contain additional metadata.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNPoint3D : NSObject < NSCopying, NSSecureCoding >
+
+- (instancetype) init NS_UNAVAILABLE;
+- (nullable instancetype)initWithPosition:(simd_float4x4)position NS_DESIGNATED_INITIALIZER;
+
+@property (readonly) simd_float4x4 position;
+
+@end
+
 
 
 /*!
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNHumanBodyRecognizedPoint3D.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNHumanBodyRecognizedPoint3D.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNHumanBodyRecognizedPoint3D.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNHumanBodyRecognizedPoint3D.h	2023-05-31 03:50:11
@@ -0,0 +1,26 @@
+//
+//  VNHumanBodyRecognizedPoint3D.h
+//  Vision
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNRecognizedPoint3D.h>
+#import <Vision/VNTypes.h>
+
+NS_ASSUME_NONNULL_BEGIN
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+/*!
+ @brief
+ */
+@interface VNHumanBodyRecognizedPoint3D : VNRecognizedPoint3D
+
+@property (readonly) simd_float4x4 localPosition;
+@property (readonly) VNHumanBodyPose3DObservationJointName parentJoint;
+
++ (instancetype) new NS_UNAVAILABLE;
+- (instancetype) init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNImageRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNImageRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNImageRegistrationRequest.h	2023-03-09 19:13:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNImageRegistrationRequest.h	2023-05-31 03:50:10
@@ -42,7 +42,6 @@
 static const NSUInteger VNTranslationalImageRegistrationRequestRevision1 = 1;
 
 
-
 /*!
 	@brief An image registration request that will calculate a homographic transformation for morphing a "floating" image onto an unchanging "reference" image.
 	
@@ -62,6 +61,7 @@
 
 API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0))
 static const NSUInteger VNHomographicImageRegistrationRequestRevision1 = 1;
+
 
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNObservation.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNObservation.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNObservation.h	2023-03-09 23:53:41
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNObservation.h	2023-05-31 03:50:11
@@ -16,7 +16,6 @@
 #import <Vision/VNDetectedPoint.h>
 #import <Vision/VNRequestRevisionProviding.h>
 
-
 /*!
  @header VNObservation VNObservations describe the results of performing a VNRequest. The type of request determines the type of observations.
  */
@@ -29,6 +28,9 @@
 @class MLFeatureValue;
 @class VNFaceLandmarks2D;
 @class VNPixelBufferObservation;
+@class VNImageRequestHandler;
+@class VNRecognizedPoint3D;
+@class VNHumanBodyRecognizedPoint3D;
 
 
 /*!
@@ -45,7 +47,7 @@
 @property (readonly, nonatomic, strong) NSUUID *uuid;
 
 /*!
- * @brief The level of confidence normalized to [0, 1] where 1 is most confident
+ * @brief The level of confidence normalized to [0, 1] where 1 is most confident. The only exception is results coming from VNCoreMLRequest, where confidence values are forwarded as is from relevant CoreML models
  * @discussion Confidence can always be returned as 1.0 if confidence is not supported or has no meaning
  */
 @property (readonly, nonatomic, assign) VNConfidence confidence;
@@ -256,7 +258,7 @@
 
 /*!
  @class VNRectangleObservation
- @superclass VNObservation
+ @superclass VNDetectedObjectObservation
  @brief VNRectangleObservation is the result of a rectangle detector
  @discussion The VNRectangleObservation has a bounding box that encompasses the rectangle found in the image. The rectangle itself is defined by the four corner point properties. The rectangle can be rotated in or even out of plane. A common use case is to use the CIPerspectiveTransform filter to correct a detected rectangle to its 'flat upright' representation. All coordinates are normalized and the coordinates can be outside the image.
 
@@ -264,8 +266,37 @@
 API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0))
 @interface VNRectangleObservation : VNDetectedObjectObservation
 
-+ (instancetype)rectangleObservationWithRequestRevision:(NSUInteger)requestRevision topLeft:(CGPoint)topLeft bottomLeft:(CGPoint)bottomLeft bottomRight:(CGPoint)bottomRight topRight:(CGPoint)topRight API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0));
+/*!
+	@brief Create a synthesized `VNRectangleObservation`.
+	@note The clockwise parameter ordered `+[VNRectangleObservation rectangleObservationWithRequestRevision:topLeft:topRight:bottomRight:bottomLeft:]` is the preferred initializer.
+	
+	@param requestRevision The revision of the VNDetectRectanglesRequest that the observation is to be treated as originating from.
+	@param topLeft The top-left corner of the rectangle in normalized coordinate space.
+	@param bottomLeft The bottom-left corner of the rectangle in normalized coordinate space.
+	@param bottomRight The bottom-right corner of the rectangle in normalized coordinate space.
+	@param topRight The top-right corner of the rectangle in normalized coordinate space.
+*/
++ (instancetype) rectangleObservationWithRequestRevision:(NSUInteger)requestRevision
+												 topLeft:(CGPoint)topLeft
+											  bottomLeft:(CGPoint)bottomLeft
+											 bottomRight:(CGPoint)bottomRight
+												topRight:(CGPoint)topRight API_DEPRECATED_WITH_REPLACEMENT("rectangleObservationWithRequestRevision:topLeft:topRight:bottomRight:bottomLeft:", macos(10.15, 14.0), ios(13.0, 17.0), tvos(13.0, 17.0));
 
+/*!
+	@brief Create a synthesized `VNRectangleObservation`.
+	
+	@param requestRevision The revision of the VNDetectRectanglesRequest that the observation is to be treated as originating from.
+	@param topLeft The top-left corner of the rectangle in normalized coordinate space.
+	@param topRight The top-right corner of the rectangle in normalized coordinate space.
+	@param bottomRight The bottom-right corner of the rectangle in normalized coordinate space.
+	@param bottomLeft The bottom-left corner of the rectangle in normalized coordinate space.
+*/
++ (instancetype) rectangleObservationWithRequestRevision:(NSUInteger)requestRevision
+												 topLeft:(CGPoint)topLeft
+												topRight:(CGPoint)topRight
+											 bottomRight:(CGPoint)bottomRight
+											  bottomLeft:(CGPoint)bottomLeft API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
 @property (readonly, nonatomic, assign) CGPoint topLeft;
 @property (readonly, nonatomic, assign) CGPoint topRight;
 @property (readonly, nonatomic, assign) CGPoint bottomLeft;
@@ -312,7 +343,7 @@
 
 /*!
  @class VNTextObservation
- @superclass VNDetectedObjectObservation
+ @superclass VNRectangleObservation
  @brief VNTextObservation Describes a text area detected by the VNRequestNameDetectTextRectangles request.
  */
 API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0))
@@ -354,7 +385,7 @@
 
 /*!
  @class VNRecognizedTextObservation
- @superclass VNDetectedObjectObservation
+ @superclass VNRectangleObservation
  @brief VNRecognizedTextObservation Describes a text area detected and recognized by the VNRecognizeTextRequest request.
  */
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
@@ -396,6 +427,46 @@
 */
 @property (readonly, nonatomic, copy, nullable) NSString* payloadStringValue;
 
+
+/*!
+    @brief The raw data representation of the barcode's payload if available.
+ */
+@property (readonly, nonatomic, copy, nullable) NSData* payloadData API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
+    @brief Boolean indicating if the barcode carries any GS1 application specific data
+ */
+@property (readonly, nonatomic) BOOL isGS1DataCarrier API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
+    @brief A boolean indicating if the barcode is color inverted
+ */
+@property (readonly, nonatomic) BOOL isColorInverted API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
+    @brief Represents the supplemental composite type. Currently, this can only refer to the composite flag of the 2D symbology as part of a GS1 composite symbology.
+ This attribute only exists when the primary descriptor is the 1D symbology of a GS1 composite symbology, and of which a valid 2D counterpart has been coalesced into.
+ */
+@property (readonly, nonatomic) VNBarcodeCompositeType supplementalCompositeType API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
+    @brief Decode the supplemental code in the descriptor as a string value. Note: this property might be expensive the first time it is accessed
+ When non-NULL, and if the descriptor has supplemental raw payload data, the pointee will be set to the decoded supplemental payload string value.
+ */
+@property (readonly, nonatomic, copy, nullable) NSString* supplementalPayloadString API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
+    @brief Decode the supplemental code in the descriptor as a string value. Note: this property might be expensive the first time it is accessed
+ When non-NULL, and if the descriptor has supplemental raw payload data, the pointee will be set to the decoded supplemental payload raw data value.
+ */
+@property (readonly, nonatomic, copy, nullable) NSData* supplementalPayloadData API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
 @end
 
 
@@ -664,5 +735,233 @@
 
 @end
 
+
+#pragma mark ---- VNInstanceMaskObservation ----
+
+
+/*!
+    @brief An observation resulting from an instance mask generation request. It contains an instance mask that labels instances in the mask that labels per pixel an instance.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNInstanceMaskObservation : VNObservation
+
+/*!
+ *@brief The resulting mask represents all instances in a mask image where 0 represents the background and all other values represent the indices of the instances identified.
+ Note that a pixel can only correspond to one instance and not multiple instances.
+ */
+@property (readonly, nonatomic) CVPixelBufferRef instanceMask CF_RETURNS_NOT_RETAINED;
+
+
+/*!
+ *@brief *The IndexSet that encompases all instances except the background
+ */
+@property (readonly, copy) NSIndexSet* allInstances;
+
+/*!
+ @brief The low res mask from the selected instances in the resolution of the performed analysis which is not upscaled to the image resolution.
+ @param instances An NSIndexSet of selected instances where 0 is the background. An empty set selects all instances but the background
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ The pixel format of kCVPixelFormatType_OneComponent32Float
+ */
+- (nullable CVPixelBufferRef) generateMaskForInstances:(NSIndexSet*)instances error:(NSError**)error CF_RETURNS_RETAINED ;
+
+
+/*!
+ *@brief High res image with everything but the selected instances removed to transparent black.
+ @param instances An NSIndexSet of selected instances where 0 is the background.
+ @param croppedToInstancesExtent Crops the image to the smallest rectangle containg all instances with remaining alpha elements.
+ Setting this value to NO does not perform any cropping.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ */
+- (nullable CVPixelBufferRef) generateMaskedImageOfInstances:(NSIndexSet*)instances fromRequestHandler:(VNImageRequestHandler*)requestHandler croppedToInstancesExtent:(BOOL)cropResult error:(NSError**)error CF_RETURNS_RETAINED;
+
+
+/*!
+ *@brief High res mask with the selected instances preserved while everything else is removed to transparent black.
+ @param forInstances An NSIndexSet of selected instances where 0 is the background.
+ Setting this value to NO does not perform any cropping.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ */
+- (nullable CVPixelBufferRef) generateScaledMaskForImageForInstances:(NSIndexSet*)instances fromRequestHandler:(VNImageRequestHandler*)requestHandler error:(NSError**)error CF_RETURNS_RETAINED;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNAnimalBodyPoseObservation : VNRecognizedPointsObservation
+
+/*!
+ @brief All animal joint names available in the observation.
+ */
+@property (readonly, copy) NSArray<VNAnimalBodyPoseObservationJointName>* availableJointNames;
+
+
+/*!
+ @brief All animal joints group names available in the observation.
+ */
+@property (readonly, copy) NSArray<VNAnimalBodyPoseObservationJointsGroupName>* availableJointGroupNames;
+
+
+/*!
+ @brief Obtain a specific normalized point for a named animal body joint.
+ 
+ @param jointName The name of the animal body joint.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return the recognized point, or nil if the point could not be obtained.
+*/
+- (nullable VNRecognizedPoint*) recognizedPointForJointName:(VNAnimalBodyPoseObservationJointName)jointName
+                                                      error:(NSError**)error NS_SWIFT_NAME(recognizedPoint(_:));
+
+/*!
+ @brief Obtains the collection of points associated with a named animal body joints group.
+ 
+ @discussion The obtained collection is a dictionary that provides the mapping of animal join names to the recognized point.
+ 
+ @param jointsGroupName The name of the animal body joints group.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return a dictionary of recognized points in the group, or nil if an error was encountered.
+*/
+- (nullable NSDictionary<VNAnimalBodyPoseObservationJointName, VNRecognizedPoint*>*) recognizedPointsForJointsGroupName:(VNAnimalBodyPoseObservationJointsGroupName)jointsGroupName
+                                                                                                                  error:(NSError**)error NS_SWIFT_NAME(recognizedPoints(_:));
+
+@end
+
+#pragma mark ---- VNRecognizedPoints3DObservation ----
+
+VN_EXPORT VNRecognizedPointGroupKey const VNRecognizedPoint3DGroupKeyAll API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
+/*!
+ @class VNRecognizedPoints3D
+ Observation
+ @superclass VNObservation
+ @brief VNRecognizedPointsObservation is a request result detailing points in an image.
+ */
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0))
+@interface VNRecognizedPoints3DObservation : VNObservation
+
++ (instancetype) new NS_UNAVAILABLE;
+- (instancetype) init NS_UNAVAILABLE;
+
+/*!
+ @brief Returns all of the point group keys available in the observation.
+ */
+@property (readonly, copy) NSArray<VNRecognizedPointKey>* availableKeys;
+
+
+/*!
+ @brief The availableGroupKeys property returns all of the point group labels usable with the observation.
+ */
+@property (readonly, copy) NSArray<VNRecognizedPointGroupKey>* availableGroupKeys;
+
+/*!
+ @brief Obtains a specific normalized recognized point.
+ @param pointKey The key specifying the desired recognized point.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return the recognized point, or nil if the specific point is not defined.
+ */
+- (nullable VNRecognizedPoint3D*) recognizedPointForKey:(VNRecognizedPointKey)pointKey error:(NSError**)error;
+
+/*!
+ @brief Obtains the collection of points associated with an identified grouping.
+ @discussion The obtained collection is a dictionary that provides the mapping of a recognized point's key to the recognized point.
+ @param groupKey The key representing a specific grouping of points.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return the dictionary of recognized points in the group, or nil if an error was encountered.
+ */
+- (nullable NSDictionary<VNRecognizedPointKey, VNRecognizedPoint3D*>*) recognizedPointsForGroupKey:(VNRecognizedPointGroupKey)groupKey error:(NSError**)error;
+
+@end
+
+#pragma mark ---- VNHumanBodyPose3DObservation ----
+
+/*!
+ @brief     Height estimation technique used in observation based on available metadata
+            VNHumanBodyPose3DObservationHeightEstimationReference is the default if no LiDAR depth is present
+ @details   reference -   Since no depth was present, a reference height of 1.8 meters is used
+            measured -   LiDAR depth was used to measure a more accurate `bodyHeight` in meters
+ */
+typedef NS_ENUM(NSInteger, VNHumanBodyPose3DObservationHeightEstimation)
+{
+    VNHumanBodyPose3DObservationHeightEstimationReference = 0,
+    VNHumanBodyPose3DObservationHeightEstimationMeasured ,
+}  NS_SWIFT_NAME(VNHumanBodyPose3DObservation.HeightEstimation);
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNHumanBodyPose3DObservation : VNRecognizedPoints3DObservation
+
+/*!
+ @brief Technique used to estimate body height.   `VNHumanBodyPose3DObservationHeightEstimationMeasured`   indicates`bodyHeight` returns measured height in meters more accurate to true world height.
+ `VNHumanBodyPose3DObservationHeightEstimationReference` indicates `bodyHeight` returns reference height of 1.8 m
+ */
+@property(readonly) VNHumanBodyPose3DObservationHeightEstimation heightEstimation;
+
+/*!
+ @brief A transform from root (at hip) to Camera as projection center.
+ */
+@property(nonatomic, readonly) simd_float4x4 cameraOriginMatrix;
+
+/*!
+ @brief All of the joints group names available in the observation.
+ */
+@property (readonly, copy) NSArray<VNHumanBodyPose3DObservationJointsGroupName>* availableJointsGroupNames;
+
+/*!
+ @brief All of the joint names available in the observation.
+ */
+@property (readonly, copy) NSArray<VNHumanBodyPose3DObservationJointName>* availableJointNames;
+
+/*!
+ @brief Estimated human height, in meters.
+ @note A measured height will be returned in meters if  `heightEstimation` is  `VNHumanBodyPose3DObservationHeightEstimationMeasured`, otherwise reference height of 1.8 meters is returned for `VNHumanBodyPose3DObservationHeightEstimationReference`
+ */
+@property (nonatomic, readonly) float bodyHeight;
+
+/*!
+ @brief Obtains the collection of joints associated with a named human body joints group.
+ @discussion The obtained collection is a dictionary that provides the mapping of human joint names to the recognized point.
+ @param jointsGroupName The name of the human body joints group.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return a dictionary of recognized points in the group, or nil if an error was encountered.
+ */
+- (nullable NSDictionary<VNHumanBodyPose3DObservationJointName, VNHumanBodyRecognizedPoint3D*>*) recognizedPointsForJointsGroupName:(VNHumanBodyPose3DObservationJointsGroupName)jointsGroupName
+                                                                                                            error:(NSError **)error NS_SWIFT_NAME(recognizedPoints(_:));
+/*!
+ @brief Obtain a specific point for a named human body joint.
+    Each returned `VNHumanBodyRecognizedPoint3D` instance contains position relative to the model (`position`) and the parent joint (`localPosition`)
+    Model position is relative to root joint (hip) for a named human body joint in meters .
+    Local position is relative to parent joint for a named human body joint in meters.
+ @param jointName The name of the human body joint.
+ @param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+ @return The recognized point, or nil if the point could not be obtained.
+ */
+
+- (nullable VNHumanBodyRecognizedPoint3D*) recognizedPointForJointName:(VNHumanBodyPose3DObservationJointName)jointName
+                                                                 error:(NSError**)error NS_SWIFT_NAME(recognizedPoint(_:));
+
+/*!
+ @brief Obtain 2D point relative to the input image for named human body joint
+ @param jointName The name of the human body joint
+ @return A projection of the determined 3D position onto the original 2D image in normalized, lower left origin coordinates
+ */
+- (nullable VNPoint*) pointInImageForJointName:(VNHumanBodyPose3DObservationJointName)jointName
+                                         error:(NSError**)error NS_SWIFT_NAME(pointInImage(_:));
+
+/*!
+ @brief Obtain the parent joint of a specified joint
+ @param jointName The name of the human body joint
+ @return The name of the parent joint
+ */
+- (nullable VNHumanBodyPose3DObservationJointName) parentJointNameForJointName:(VNHumanBodyPose3DObservationJointName)jointName NS_SWIFT_NAME(parentJointName(_:));
+
+/*!
+ @brief Obtain position relative to camera for a named human body joint in meters
+ @param modelPositionOut A reference to a simd_float4x4 that will be updated to contain position of a joint relative to the camera if successful
+ @param jointName The name of the human body joint
+ @return BOOL indicating success of determing position
+ */
+- (BOOL) getCameraRelativePosition:(simd_float4x4*) modelPositionOut
+                        forJointName:(VNHumanBodyPose3DObservationJointName)jointName
+                             error:(NSError**)error;
+
+@end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRecognizedPoint3D.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRecognizedPoint3D.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRecognizedPoint3D.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRecognizedPoint3D.h	2023-05-31 03:50:11
@@ -0,0 +1,34 @@
+//
+//  VNRecognizedPoint3D.h
+//  Vision
+//
+//  Copyright © 2023 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <Vision/VNGeometry.h>
+#import <Vision/VNTypes.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+    @class VNRecognizedPoint3D
+    @brief An extension of VNPoint3D that associates an identifier to the point.
+    @discussion It should be noted that VNRecognizedPoint3D is not intended as an overall replacement of simd float 4x4, but is used by observations that recognize labeled points of interest.
+ */
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNRecognizedPoint3D : VNPoint3D
+
++ (instancetype) new NS_UNAVAILABLE;
+- (instancetype) init NS_UNAVAILABLE;
+
+/*!
+    @brief The is the identifier that provides context as to the kind of point that was recognized.
+    @discussion The string is defined by the model that recognized the point. Usually these are technical labels that are not localized and not meant to be used directly to be presented to an end user in the UI.
+ */
+@property (readonly, copy) VNRecognizedPointKey identifier;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequest.h	2023-03-09 19:17:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequest.h	2023-05-31 05:40:31
@@ -7,6 +7,7 @@
 
 #import <Foundation/Foundation.h>
 #import <CoreGraphics/CoreGraphics.h>
+#import <CoreML/CoreML.h>
 #import <Metal/Metal.h>
 
 #import <Vision/VNObservation.h>
@@ -62,7 +63,7 @@
 /*!
  @abstract This property, if set to YES, signifies that the request should be performed exclusively on the CPU and not on the GPU. The default value is NO, which signifies that the request is free to leverage the GPU to accelerate any work the request may require.
  */
-@property (readwrite, nonatomic) BOOL usesCPUOnly;
+@property (readwrite, nonatomic) BOOL usesCPUOnly API_DEPRECATED_WITH_REPLACEMENT("-setComputeDevice:forComputeStage:", macos(10.13, 14.0), ios(11.0, 17.0), tvos(11.0, 17.0));
 
 /*!
  @property results
@@ -110,6 +111,42 @@
 */
 API_AVAILABLE(macos(10.14), ios(12.0), tvos(12.0))
 static const NSUInteger VNRequestRevisionUnspecified = 0;
+
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNRequest ()
+
+/*!
+	@brief Obtain the collection of compute device per stage that are supported by the request.
+	@discussion This method's result is based on the current state of configuration of the target request at the time of the call.
+
+	@param error The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
+
+	@return A dictionary of per-stage supported compute devices, or `nil` if an error occurs.
+*/
+- (nullable NSDictionary<VNComputeStage, NSArray<id<MLComputeDeviceProtocol>>*>*) supportedComputeStageDevicesAndReturnError:(NSError**)error NS_SWIFT_NAME(supportedComputeStageDevices());
+
+/*!
+	@brief Determine what the currently configured compute device is for a specific compute stage.
+	
+	@param computeStage The compute stage to be introspected.
+
+	@return The currently assigned compute device, or `nil` if there is no explicit assignment.
+*/
+- (nullable id<MLComputeDeviceProtocol>) computeDeviceForComputeStage:(VNComputeStage)computeStage;
+
+/*!
+	@brief Assign a specific compute device for a compute stage.
+	@discussion It is important to note that any compute device can be configured for a given compute stage.  Only when the request is performed is the validity of the (compute device / compute stage) assignments checked.  Valid compute devices for a request's compute stages can be obtained via `-supportedComputeStageDevicesAndReturnError:`.
+	
+	@param computeDevice The compute device to assign to the compute stage.  Passing nil for this parameter will remove any explicit compute device assignment, allowing Vision to select which device to use.
+	@param computeStage The compute stage being configured.
+*/
+- (void) setComputeDevice:(nullable id<MLComputeDeviceProtocol>)computeDevice forComputeStage:(VNComputeStage)computeStage;
+
+@end
+
 
 
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequestHandler.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequestHandler.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequestHandler.h	2023-03-09 19:13:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNRequestHandler.h	2023-05-31 03:51:24
@@ -20,11 +20,10 @@
 #import <Vision/VNDefines.h>
 #import <Vision/VNRequest.h>
 
-
 NS_ASSUME_NONNULL_BEGIN
 
 @class CIImage;
-
+@class AVDepthData;
 /*!
  @brief Options keys passed into the VNImageRequestHandler creations or requests that take an auxiliary image. These are options that either describe specific properties of an image like the VNImageOptionCameraIntrinsics or how an image needs to be handled like the VNImageOptionCIContext.
 */
@@ -57,7 +56,6 @@
 
 VN_EXPORT VNImageOption const VNImageOptionCIContext API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0));
 
-
 /*!
  @brief Performs requests on a single image.
  @discussion The VNImageRequestHandler is created with an image that is used to be used for the requests a client might want to schedule. The VNImageRequestHandler retains, but never modifies, the image source for its entire lifetime. The client also must not modify the content of the image source once the VNImageRequestHandler is created otherwise the results are undefined.
@@ -86,6 +84,18 @@
 - (instancetype)initWithCVPixelBuffer:(CVPixelBufferRef)pixelBuffer orientation:(CGImagePropertyOrientation)orientation options:(NSDictionary<VNImageOption, id> *)options;
 
 /*!
+ @brief initWithCVPixelBuffer:depthData:orientation:options creates a VNImageRequestHandler to be used for performing requests against the image passed in as buffer with depth information.
+ @param pixelBuffer A CVPixelBuffer containing the image to be used for performing the requests. The content of the buffer cannot be modified for the lifetime of the VNImageRequestHandler.
+ @param depthData An AVDepthData instance associated with the pixelBuffer
+ @param orientation The orientation of the image and depth buffers based on the EXIF specification. For details see kCGImagePropertyOrientation. The value has to be an integer from 1 to 8. This supersedes every other orientation information and should match for both buffers.
+ @param options A dictionary with options specifying auxiliary information for the buffer/image
+ */
+- (instancetype)initWithCVPixelBuffer:(CVPixelBufferRef)pixelBuffer
+                            depthData:(AVDepthData*)depthData
+                          orientation:(CGImagePropertyOrientation)orientation
+                              options:(NSDictionary<VNImageOption, id> *)options API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+/*!
  @brief initWithCGImage:options creates a VNImageRequestHandler to be used for performing requests against the image passed in as a CGImageRef.
  
  @param image A CGImageRef containing the image to be used for performing the requests. The content of the image cannot be modified.
@@ -200,6 +210,20 @@
  */
 - (instancetype)initWithCMSampleBuffer:(CMSampleBufferRef)sampleBuffer orientation:(CGImagePropertyOrientation)orientation options:(NSDictionary<VNImageOption, id> *)options API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
 
+/*!
+ @brief Creates a VNImageRequestHandler to be used for performing requests against the image buffer contained in the CMSampleBufferRef
+ 
+ @param sampleBuffer A CMSampleBuffer containing the imageBuffer that will be used for performing the requests. Not all types of sample buffers are supported. They need to contain a CVImageBuffer, be valid and ready.
+ @param depthData An AVDepthData instance associated with the pixelBuffer
+ @param orientation The orientation of the image and depth buffers based on the EXIF specification. For details see kCGImagePropertyOrientation. The value has to be an integer from 1 to 8. This supersedes every other orientation information and should match for both buffers.
+ @param options A dictionary with options specifying auxiliary information for the buffer/image
+ @note CMSampleBuffers can contain metadata like camera intrinsics that will be used by algorithms supporting it unless overwritten by the options.
+ @note:  Because CoreImage is unable to render certain pixel formats in the iOS simulator, request results may not be accurate in those cases.
+ */
+- (instancetype)initWithCMSampleBuffer:(CMSampleBufferRef)sampleBuffer
+                             depthData:(AVDepthData*)depthData
+                           orientation:(CGImagePropertyOrientation)orientation
+                               options:(NSDictionary<VNImageOption, id> *)options API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
 /*!
  @brief performRequests schedules one or more VNRequests to be performed. The function returns once all requests have been finished.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNStatefulRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNStatefulRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNStatefulRequest.h	2023-03-09 19:13:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNStatefulRequest.h	2023-05-31 03:50:11
@@ -39,10 +39,9 @@
 
 /*!
  @brief The reciprocal of maximum rate at which buffers will be processed.
- @discussion The request will not process buffers that fall within the requestFrameAnalysisSpacing after it has performed the analysis. The analysis is not done by wall time but by analysis of of the time stamps of the samplebuffers being processed.
+ @discussion The request will not process buffers that fall within the `frameAnalysisSpacing` after it has performed the analysis. The analysis is not done by wall time but by analysis of of the time stamps of the samplebuffers being processed.
  */
 @property (readonly) CMTime frameAnalysisSpacing;
-@property (readonly) CMTime requestFrameAnalysisSpacing API_DEPRECATED_WITH_REPLACEMENT("-frameAnalysisSpacing", macos(11.0, 11.0), ios(14.0, 14.0), tvos(14.0, 14.0));
 
 @end
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackHomographicImageRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackHomographicImageRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackHomographicImageRegistrationRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackHomographicImageRegistrationRequest.h	2023-05-31 03:50:10
@@ -0,0 +1,46 @@
+//
+//  VNTrackHomographicImageRegistrationRequest.h
+//  Vision
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNStatefulRequest.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+	@brief An image registration request that will produce a homographic transformation that can morph one image to another.
+	@discussion Because this is a stateful request, it must be performed on at least two images in order to produce an observation.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNTrackHomographicImageRegistrationRequest : VNStatefulRequest
+
+/*!
+	@brief Create a new request that can statefully track the homographic registration of two images.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero and a nil completion handler.
+*/
+- (instancetype) init;
+
+/*!
+	@brief Create a new request that can statefully track the homographic registration of two images.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero.
+*/
+- (instancetype) initWithCompletionHandler:(nullable VNRequestCompletionHandler)completionHandler;
+
+/*!
+	@discussion VNImageHomographicAlignmentObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNImageHomographicAlignmentObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNTrackHomographicImageRegistrationRequestRevision1 = 1;
+
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackOpticalFlowRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackOpticalFlowRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackOpticalFlowRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackOpticalFlowRequest.h	2023-05-31 03:50:10
@@ -0,0 +1,106 @@
+//
+//  VNTrackOpticalFlowRequest.h
+//  Vision
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNStatefulRequest.h>
+#import <Vision/VNObservation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+ @brief The level of optical flow computational accuracy.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+typedef NS_ENUM(NSUInteger, VNTrackOpticalFlowRequestComputationAccuracy)
+{
+    VNTrackOpticalFlowRequestComputationAccuracyLow = 0,
+    VNTrackOpticalFlowRequestComputationAccuracyMedium,
+    VNTrackOpticalFlowRequestComputationAccuracyHigh,
+    VNTrackOpticalFlowRequestComputationAccuracyVeryHigh
+
+} NS_SWIFT_NAME(VNTrackOpticalFlowRequest.ComputationAccuracy);
+
+
+/*!
+	@brief `VNTrackOpticalFlowRequest` will determine directional change vectors for each pixel from a previous to current image, reporting this result with a single `VNPixelBufferObservation`.
+
+	@discussion	Because this request works at the pixel level, both images must have the same dimensions in order for the request to be successfully performed.
+				Setting a region of interest will isolate where the change determination is performed; however, the resultant observation will still be reported
+				with a full resolution `VNPixelBufferObservation.
+				
+				Being a stateful request, at least two images must me processed in order to produce an observation.
+				
+                Optical flow requests are very resource intensive, so it is recommended that only one request at a time be created and that the handler
+                where the request was issued be released immediately after generating optical flows.
+
+				Example usage:
+
+					- (nullable VNPixelBufferObservation*) opticalFlowFromImage:(CVPixelBufferRef)fromImage toImage:(CVPixelBuffer)toImage error:(NSError**)error
+					{
+						VNTrackOpticalFlowRequest* request = [[VNTrackOpticalFlowRequest alloc] init];
+
+						VNImageRequestHandler* imageRequestHandler = [[VNImageRequestHandler alloc] initWithCVPixelBuffer:fromImage options:@{}];
+						if (![imageRequestHandler performRequests:@[ request ] error:error])
+						{
+							return nil;
+						}
+						
+						imageRequestHandler = [[VNImageRequestHandler alloc] initWithCVPixelBuffer:toImage options:@{}];
+						if (![imageRequestHandler performRequests:@[ request ] error:error])
+						{
+							return nil;
+						}
+
+						return [[request results] firstObject];
+					}
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNTrackOpticalFlowRequest : VNStatefulRequest
+
+/*!
+	@brief Create a new request that can statefully track the optical from from one image to another.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero and a nil completion handler.
+*/
+- (instancetype) init;
+
+/*!
+	@brief Create a new request that can statefully track the optical from from one image to another.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero.
+*/
+- (instancetype) initWithCompletionHandler:(nullable VNRequestCompletionHandler)completionHandler;
+
+/*!
+ @brief The level of accuracy used to compute the optical flow. Default is VNTrackOpticalFlowRequestComputationAccuracyMedium.
+ @discussion The computational time typically trends with the accuracy level.  This parameter allows for selective tuning by the client application.
+ */
+@property (readwrite, nonatomic, assign) VNTrackOpticalFlowRequestComputationAccuracy computationAccuracy;
+
+/*!
+	@brief Pixel format type of the output buffer. Valid values are `kCVPixelFormatType_TwoComponent32Float` and `kCVPixelFormatType_TwoComponent16Half`.  Default is `kCVPixelFormatType_TwoComponent32Float`.
+*/
+@property (readwrite, nonatomic, assign) OSType outputPixelFormat;
+
+/*!
+	@brief Setting this to `YES` will keep the raw pixel buffer coming from the the ML network. The default is `NO`.
+	@discussion When set to `YES`, the outputPixelFormat is ignored.
+*/
+@property (readwrite, nonatomic, assign) BOOL keepNetworkOutput;
+
+/*!
+	@discussion VNPixelBufferObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNPixelBufferObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNTrackOpticalFlowRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackTranslationalImageRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackTranslationalImageRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackTranslationalImageRegistrationRequest.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackTranslationalImageRegistrationRequest.h	2023-05-31 03:50:10
@@ -0,0 +1,45 @@
+//
+//  VNTrackTranslationalImageRegistrationRequest.h
+//  Vision
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Vision/VNStatefulRequest.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+/*!
+	@brief An image registration request that will produce a translational transformation which will morph one image to another.
+	@discussion Because this is a stateful request, it must be performed on at least two images in order to produce an observation.
+*/
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+@interface VNTrackTranslationalImageRegistrationRequest : VNStatefulRequest
+
+/*!
+	@brief Create a new request that can statefully track the translational registration of two images.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero and a nil completion handler.
+*/
+- (instancetype) init;
+
+/*!
+	@brief Create a new request that can statefully track the translational registration of two images.
+	@discussion This is a convenience initializer for a frame analysis spacing of kCMTimeZero.
+*/
+- (instancetype) initWithCompletionHandler:(nullable VNRequestCompletionHandler)completionHandler;
+
+/*!
+	@discussion VNImageTranslationAlignmentObservation results.
+*/
+@property (readonly, copy, nullable) NSArray<VNImageTranslationAlignmentObservation*>* results;
+
+@end
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+static const NSUInteger VNTrackTranslationalImageRegistrationRequestRevision1 = 1;
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackingRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackingRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackingRequest.h	2023-03-09 19:13:58
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTrackingRequest.h	2023-05-31 03:50:11
@@ -32,6 +32,20 @@
 @interface VNTrackingRequest : VNImageBasedRequest
 
 /*!
+ @brief This class method returns a maximum number of allowed simultaneously executed trackers for [request revision x tracking level] combination
+ 
+ @details The total number of simultaneously running trackes is limited due to performance concerns. There is a limit for each combination of
+          [request revision x tracking level] and this method could be used to query that limit
+                     
+ @param revision The revision of a specific tracking request (an object of a subclass of VNTrackingRequest).
+ @param trackingLevel Tracking level of a specific tracking request (an object of a subclass of VNTrackingRequest).
+ @param error The address of a variable that will be populated with an error upon failure. If the caller does not need this information, NULL can be passed.
+ 
+ @result Maximum number of trackers for a given combination [request revision x tracking level], or 0 if such combination doesn't exist
+ */
+- (NSUInteger)supportedNumberOfTrackersAndReturnError:(NSError **)error API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+/*!
  @property property inputObservation
  @abstract The observation object that defines a region to track. Providing an observation not returned from a tracker (e.g. user-defined, or from a detector) begins a new tracker for the sequence. Providing an observation that was returned from a tracker continues the use of that tracker, to track the region to the next frame. In general, unless documented in the request's documentation, the rectangle must be defined in normalized coordinates (both dimensions normalized to [0,1] with the origin at the lower-left corner).
 */
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTypes.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTypes.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTypes.h	2023-03-09 23:50:35
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/VNTypes.h	2023-05-31 05:40:30
@@ -25,7 +25,24 @@
     VNImageCropAndScaleOptionScaleFillRotate90CCW = 0x100 + VNImageCropAndScaleOptionScaleFill, // scale image and rotate by 90 degrees counter clockwise to optimize portrait images to fill into landscape buffers for algorithms that are rotation agnostic
 };
 
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+typedef NSString* VNComputeStage NS_STRING_ENUM;
+
 /*!
+	@brief The stage of a request where the main functionality is being performed.
+	@discussion All requests will have this compute stage.
+*/
+VN_EXPORT VNComputeStage const VNComputeStageMain NS_SWIFT_NAME(main) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+/*!
+	@brief A compute stage for additional analysis and/or conversion of the data produced by the `VNComputeStageMain`.
+	@discussion This is an optional compute stage that some requests may expose.
+*/
+VN_EXPORT VNComputeStage const VNComputeStagePostProcessing NS_SWIFT_NAME(postProcessing) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+
+/*!
 	@brief Barcode symbologies that are supported by the Vision framework.
 	
 	@discussion The actual set of barcode symbologies that can actually be recognized by a specific version of the Vision framework should be determined by using the VNRequestNameSupportedBarcodeSymbologies request.
@@ -56,6 +73,7 @@
 VN_EXPORT VNBarcodeSymbology const VNBarcodeSymbologyGS1DataBarLimited NS_SWIFT_NAME(gs1DataBarLimited) API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0));
 VN_EXPORT VNBarcodeSymbology const VNBarcodeSymbologyMicroPDF417 NS_SWIFT_NAME(microPDF417) API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0));
 VN_EXPORT VNBarcodeSymbology const VNBarcodeSymbologyMicroQR NS_SWIFT_NAME(microQR) API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0));
+VN_EXPORT VNBarcodeSymbology const VNBarcodeSymbologyMSIPlessey NS_SWIFT_NAME(msiPlessey) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
 
 
 API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0))
@@ -91,3 +109,92 @@
 	VNPointsClassificationOpenPath,
 	VNPointsClassificationClosedPath
 };
+
+
+API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0))
+typedef NS_CLOSED_ENUM(NSInteger, VNBarcodeCompositeType)
+{
+    VNBarcodeCompositeTypeNone= 0,
+    VNBarcodeCompositeTypeLinked,
+    VNBarcodeCompositeTypeGS1TypeA,
+    VNBarcodeCompositeTypeGS1TypeB,
+    VNBarcodeCompositeTypeGS1TypeC,
+};
+
+
+
+typedef NSString * VNRecognizedPointKey NS_STRING_ENUM;
+
+typedef NSString * VNRecognizedPointGroupKey NS_STRING_ENUM;
+
+
+typedef VNRecognizedPointKey VNAnimalBodyPoseObservationJointName NS_TYPED_ENUM NS_SWIFT_NAME(VNAnimalBodyPoseObservation.JointName) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftEarTop API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));              // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightEarTop API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));             // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftEarMiddle API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightEarMiddle API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));          // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftEarBottom API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightEarBottom API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));          // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftEye API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));                 // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightEye API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));                // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameNose API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));                    // Head
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameNeck API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));                    // Trunk
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftFrontElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));          // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightFrontElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));         // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftFrontKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightFrontKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));          // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftFrontPaw API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));            // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightFrontPaw API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Forelegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftBackElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightBackElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));          // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftBackKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));            // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightBackKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));           // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameLeftBackPaw API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));             // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameRightBackPaw API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));            // Hindlegs
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameTailTop API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));                 // Tail
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameTailMiddle API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));              // Tail
+VN_EXPORT VNAnimalBodyPoseObservationJointName const VNAnimalBodyPoseObservationJointNameTailBottom API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));              // Tail
+
+
+typedef VNRecognizedPointGroupKey VNAnimalBodyPoseObservationJointsGroupName NS_TYPED_ENUM NS_SWIFT_NAME(VNAnimalBodyPoseObservation.JointsGroupName) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameHead API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));        // Nose, eyes and ears
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameTrunk API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));       // Neck
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameForelegs API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));    // Front left/right elbows, knees and paws
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameHindlegs API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));    // Back left/right elbows, knees and paws
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameTail API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));        // Top, middle, bottom parts of tail
+VN_EXPORT VNAnimalBodyPoseObservationJointsGroupName const VNAnimalBodyPoseObservationJointsGroupNameAll API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));         // All
+
+
+/*!
+ @brief Human Body 3D Pose Joints that are suppported by Vision framework
+ */
+typedef VNRecognizedPointKey VNHumanBodyPose3DObservationJointName NS_TYPED_ENUM NS_SWIFT_NAME(VNHumanBodyPose3DObservation.JointName) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRoot API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightHip API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightAnkle API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftHip API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftKnee API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftAnkle API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameSpine API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameCenterShoulder API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameCenterHead API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameTopHead API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftShoulder API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameLeftWrist API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightShoulder API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightElbow API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointName const VNHumanBodyPose3DObservationJointNameRightWrist API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
+typedef VNRecognizedPointGroupKey VNHumanBodyPose3DObservationJointsGroupName NS_TYPED_ENUM NS_SWIFT_NAME(VNHumanBodyPose3DObservation.JointsGroupName) API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameHead API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); // center head, and top of head
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameTorso API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); // shoulders, spine, and hips
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameLeftArm API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); // left shoulder, left elbow, and left wrist
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameRightArm API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); // right shoulder, right elbow, and right wrist
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameLeftLeg API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); //  left ankle, left knee, and left hip
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameRightLeg API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0)); //  right ankle, right knee, and right hip
+VN_EXPORT VNHumanBodyPose3DObservationJointsGroupName const VNHumanBodyPose3DObservationJointsGroupNameAll API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0));
+
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.apinotes /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.apinotes
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.apinotes	2023-03-04 12:35:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.apinotes	2023-05-31 03:42:43
@@ -43,3 +43,64 @@
     SwiftName: __normalizedPoints
     SwiftPrivate: true
     Nullability: N
+
+- Name: VNDetectHumanBodyPoseRequest
+  Methods:
+  - Selector: "supportedJointNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+  - Selector: "supportedJointsGroupNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointsGroupNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+
+- Name: VNDetectHumanHandPoseRequest
+  Methods:
+  - Selector: "supportedJointNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+  - Selector: "supportedJointsGroupNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointsGroupNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+
+- Name: VNDetectAnimalBodyPoseRequest
+  Methods:
+  - Selector: "supportedJointNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+  - Selector: "supportedJointsGroupNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointsGroupNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+
+- Name: VNHumanBodyPose3DObservation
+  Methods:
+  - Selector: "getCameraRelativePosition:forJointName:error:"
+    MethodKind: Instance
+    SwiftName: "__getCameraRelativePosition(_:_:)"
+    SwiftPrivate: true
+    NullabilityOfRet: N
+    
+- Name: VNDetectHumanBodyPose3DRequest
+  Methods:
+  - Selector: "supportedJointNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+  - Selector: "supportedJointsGroupNamesAndReturnError:"
+    MethodKind: Instance
+    SwiftName: "__supportedJointsGroupNames"
+    SwiftPrivate: true
+    NullabilityOfRet: O
+
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.h	2023-03-09 19:13:57
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Vision.framework/Headers/Vision.h	2023-05-31 03:50:10
@@ -47,6 +47,15 @@
 #import <Vision/VNDetectTrajectoriesRequest.h>
 #import <Vision/VNGeneratePersonSegmentationRequest.h>
 #import <Vision/VNDetectDocumentSegmentationRequest.h>
+#import <Vision/VNGenerateForegroundInstanceMaskRequest.h>
+#import <Vision/VNGeneratePersonInstanceMaskRequest.h>
+#import <Vision/VNTrackTranslationalImageRegistrationRequest.h>
+#import <Vision/VNTrackHomographicImageRegistrationRequest.h>
+#import <Vision/VNTrackOpticalFlowRequest.h>
+#import <Vision/VNDetectAnimalBodyPoseRequest.h>
+#import <Vision/VNDetectHumanBodyPose3DRequest.h>
+#import <Vision/VNHumanBodyRecognizedPoint3D.h>
+#import <Vision/VNRecognizedPoint3D.h>
 
 /* The version of the Vision framework */
 VN_EXPORT double VNVisionVersionNumber API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0));
Clone this wiki locally