[John Gelynse](https://twitter.com/jgeleynse) ## The Building - Built specifically for Apple Developers - Wants to have every developer in the room here at some point - World class building[]() - LEED Gold Certified - 70,000 square ft - 1st Floor - Entirely developer meeting spaces - 200 person Theater - Another 300 developers can fit in the building - Interior Design - Same as Apple park - Wood Paneling - Microperferation - Stone Floors - Glass - Natural Light - Floor to Ceiling Windows - Landscaping everywhere - Rooms - Labs - Can also be configured as classrooms - 16 people x 4 labs - Soundproof - 7 Pods - Great rooms for a single team - Soft seating - Dolby Vision and Atmos - Soundproof - 2 Briefing Centers - 32 people per center - Giant Display - Video cameras - Back of House - Wire up gear - Charge iPhones - etc - Big Sur - In person - Live brodcast - Content production - 200 person theater - Screen - 16,588,800 pixels - P3 Color - 1000 nits ## [[ Vision Pro]] - Your apps now live all around you. - Building Blocks - Shared Space - Windows - 2D content - face one direction - Volume - 3D - Full Space - Take over their surrondings - Place 2D and 3D content anywhere - Windows and volumes of other apps are hidden - Immersion Styles - Mixed: Surroundings are shown - Progressive: Peripheral is still visible - Full: Complete immersion - Can be mixed and matched - Interaction remains consistent. - Ways of interacting - Eyes - Hands - Accessories - Accessibility - Privacy - Only selections are communicated to apps - Only in full space can the app get data about the surroundings with permission from the user - Brining your apps to [[visionOS]] - App Store Apps - Existing apps run as they are on Vision Pro - Unity - Metal and Compositor ## SwiftUI - Your journey to the next dimension - Tutorial 1. Open Xcode 2. Supported Destinations 3. Add Vision Pro - Sample App - World app - Will be released later in the month with the SDK - `ImmersiveSpace` API - Meet the [[visionOS Simulator]] - Use the mouse to simulate looking - Tab Control - Redesigned for visionOS - Ornament - A type of control placed just outside your window - Open windows for detail views using the `openWindow` Action - Reality Kit - Entity Component System - **Reality View** = SwiftUI + RealityKit - `View.gesuture(DragGesutre())` - Animations - From-to-by - Orbit - Sampled - Example - `AnimationResource` - Lighting - Image-based lighting - Environment probes - System IBL - Adds extra highlights to make sure content always looks good - Custom IBL - ImageBasedLightComponent - ImageBasedLightReceiverComponent - Materials - Texture - Custom Color - Image - Wood - Bricks - More advanced - Physically based materials - How metallic or how rough an object is - New: `ShaderGraphMaterial` - Based on [[MATERIALX]] standard ## Reality Composer Pro - Project structure - Swift package - Compiled into a library - Assets organized by function - Code and resources - Supports Robust Collaboration - Viewport - Scene layout - Flexible camera handling - Projet browser - Browse media in the scene - Scene hierarchy - Reorder - Filter - Show references - Canvas - Inspector - Precise object transformation - Add and modify RealityKit components ## ARKit - Hand Tracking - Custom gestures and augmentation - Skeletal data for each hand - Requires permission - Plane Estimation - Precise object placement - Shape estimation - Semantic classifcation - Floor - Seat - Window - Wall - Scene reconstruction - Polygonal mesh of the physical world - Multiple subdivided meshes - Semantic classicatoin - Realistic physics interactions - Image anchoring - Detect and augment images - Track the pose and scale of the image - Overlay virtual content relative to real world images, paintings, etc. - World tracking - Anchor content - Precisely placeAutomatic anchor persistence and map loading - Device position and orientation - Available as a Swift and C API - Data providers - Sources of anchor data - [[ARKitSession]] - Sessions encapsulate ARKit features - [[ARKItSession]] - [[HandTrackingProvider]] - [[SceneReconstructionProvider]] -