AI-generated Key Takeaways
- 
          Interfaces like FutureandTrackablerepresent asynchronous operation completion and objects ARCore can track.
- 
          ARCore provides various classes such as Anchor,Session, andFramefor managing AR system state, defining real-world locations, and capturing system changes.
- 
          Several classes like AugmentedFace,AugmentedImage, andStreetscapeGeometrydescribe detected real-world elements with associated data and methods.
- 
          Enums within ARCore define states, behaviors, types, and availability for various features including Cloud Anchors, camera configurations, and tracking. 
- 
          Asynchronous operations related to Cloud Anchors, Rooftop Anchors, and Terrain Anchors are handled by specific Future classes. 
Interfaces
| Future | Futures represent the eventual completion of an asynchronous operation. | 
| Trackable | A Trackable is something that ARCore can track and that Anchors can be attached to. | 
Classes
| Anchor | Describes a fixed location and orientation in the real world. | 
| ArCoreApk | Static methods for managing the status of ARCore on the device. | 
| AugmentedFace | Describes a face detected by ARCore and provides methods to access additional center and face region poses as well as face mesh related data. | 
| AugmentedImage | Describes the current best knowledge of a real-world augmented image. | 
| AugmentedImageDatabase | Database containing a list of images to be detected and tracked by ARCore. | 
| Camera | Provides information about the camera that is used to capture images. | 
| CameraConfig | Provides details of a camera configuration such as size of the CPU image and GPU texture. | 
| CameraConfigFilter | Allows the application to select the camera config filters it needs to enable/disable so that it can obtain the list of camera configs that are supported on the device camera. | 
| CameraIntrinsics | Provides information about the physical characteristics of the device camera, for the camera image (CPU) or texture (GPU). | 
| Config | Holds settings that are used to configure the session. | 
| DepthPoint | On supported devices, represents a depth image based HitResultreturned byFrame.hitTest(float, float). | 
| Earth | A Trackableimplementation representing the Earth. | 
| Frame | Captures the state and changes to the AR system from a call to Session.update(). | 
| GeospatialPose | Describes a specific location, elevation, and orientation relative to Earth. | 
| HitResult | Defines an intersection between a ray and estimated real-world geometry. | 
| HostCloudAnchorFuture | Handle to an async operation launched by Session.hostCloudAnchorAsync(Anchor, int, BiConsumer). | 
| ImageFormat | Image formats produced by ARCore. | 
| ImageMetadata | Provides access to metadata from the camera image capture result. | 
| InstantPlacementPoint | Trackable Instant Placement point returned by Frame.hitTestInstantPlacement(float, float, float). | 
| LightEstimate | Holds information about the estimated lighting of the real scene. | 
| Mesh | Represents a polygon mesh describing geometry. | 
| Plane | Describes the current best knowledge of a real-world planar surface. | 
| Point | Represents a point in space that ARCore is tracking. | 
| PointCloud | Contains a set of observed 3D points and confidence values. | 
| Pose | Represents an immutable rigid transformation from one coordinate space to another. | 
| RecordingConfig | Configuration related to session recording. | 
| ResolveAnchorOnRooftopFuture | Handle to an async operation launched by Earth.resolveAnchorOnRooftopAsync(double, double, double, float, float, float, float, BiConsumer). | 
| ResolveAnchorOnTerrainFuture | Handle to an async operation launched by Earth.resolveAnchorOnTerrainAsync(double, double, double, float, float, float, float, BiConsumer). | 
| ResolveCloudAnchorFuture | Handle to an async operation launched by Session.resolveCloudAnchorAsync(String, BiConsumer). | 
| Session | Manages AR system state and handles the session lifecycle. | 
| SharedCamera | The SharedCamera class allows the app to share control of the camera with ARCore and obtain image readers and surfaces for rendering. | 
| StreetscapeGeometry | Defines geometry such as terrain, buildings, or other structures obtained from the Streetscape Geometry API. | 
| Track | Configuration of a Track for recording data on session recording. | 
| TrackData | Data that was recorded to a track. | 
| VpsAvailabilityFuture | Handle to an async operation launched by Session.checkVpsAvailabilityAsync(double, double, Consumer). | 
Enums
| Anchor.CloudAnchorState | Result of a Cloud Anchor hosting or resolving operation. | 
| Anchor.RooftopAnchorState | Describes the Rooftop anchor state of asynchronous operation launched by Earth.resolveAnchorOnRooftopAsync(double, double, double, float, float, float, float, BiConsumer). | 
| Anchor.TerrainAnchorState | Describes the result of a Terrain anchor operation. | 
| ArCoreApk.Availability | Describes the current state of ARCore availability on the device. | 
| ArCoreApk.InstallBehavior | Controls the behavior of the installation UI. | 
| ArCoreApk.InstallStatus | Indicates the outcome of a call to requestInstall(). | 
| ArCoreApk.UserMessageType | Controls the message displayed by the installation UI. | 
| AugmentedFace.RegionType | Defines face regions to query the pose for. | 
| AugmentedImage.TrackingMethod | Indicates whether an image is being tracked using the camera image, or is being tracked based on its last known pose. | 
| CameraConfig.DepthSensorUsage | Depth sensor usage. | 
| CameraConfig.FacingDirection | Describes the direction a camera looks relative to the device. | 
| CameraConfig.StereoCameraUsage | Stereo camera usage. | 
| CameraConfig.TargetFps | Target camera capture frame rates. | 
| Config.AugmentedFaceMode | Selects the behavior of Augmented Faces subsystem. | 
| Config.CloudAnchorMode | Describes the desired behavior of the ARCore Cloud Anchor API. | 
| Config.DepthMode | Selects the desired depth mode. | 
| Config.FlashMode | Selects the desired behavior of the camera flash subsystem. | 
| Config.FocusMode | On supported devices, selects the desired camera focus mode. | 
| Config.GeospatialMode | Describes the desired behavior of the ARCore Geospatial API. | 
| Config.ImageStabilizationMode | Describes the behavior of the Electronic Image Stabilization (EIS) API. | 
| Config.InstantPlacementMode | Select the behavior of Instant Placement. | 
| Config.LightEstimationMode | Select the behavior of the lighting estimation subsystem. | 
| Config.PlaneFindingMode | Select the behavior of the plane detection subsystem. | 
| Config.SemanticMode | Describes the desired behavior of the Scene Semantics API. | 
| Config.StreetscapeGeometryMode | Describes the behavior of the Geospatial Streetscape Geometry API. | 
| Config.TextureUpdateMode | Describes how ARCore will update the camera texture. | 
| Config.UpdateMode | Selects the behavior of Session.update(). | 
| Coordinates2d | 2D coordinate systems supported by ARCore. | 
| Coordinates3d | 3D coordinates supported by ARCore. | 
| Earth.EarthState | Describes the current state of Earth. | 
| FutureState | The state of an asynchronous operation. | 
| InstantPlacementPoint.TrackingMethod | Tracking methods for InstantPlacementPoint. | 
| LightEstimate.State | Light Estimate States. | 
| Plane.Type | Simple summary of the normal vector of a plane, for filtering purposes. | 
| PlaybackStatus | Describes the current playback status. | 
| Point.OrientationMode | Indicates the point orientation mode. | 
| RecordingStatus | Describes the current recording status. | 
| SemanticLabel | Defines the labels the Scene Semantics API is able to detect and maps human-readable names to per-pixel semantic labels. | 
| Session.Feature | Fundamental session features that can be requested using Session.Session(Context, Set). | 
| Session.FeatureMapQuality | Indicates the quality of the visual features seen by ARCore in the preceding few seconds from a
 given camera Pose. | 
| StreetscapeGeometry.Quality | Describes the quality of the mesh data. | 
| StreetscapeGeometry.Type | Describes the type of a Streetscape Geometry. | 
| TrackingFailureReason | Describes possible AR tracking failure reasons. | 
| TrackingState | Describes the tracking state of the Trackable. | 
| VpsAvailability | Asynchronous result of calling Session.checkVpsAvailabilityAsync(double, double, Consumer). |