Swift Student Challenge 2024
Organize help you organize.
Organize uses a wide range of technologies on iPadOS. Including technologies such as UI, AR, Photogrammetry, Computer Vision, Room Scanning, Machine Learning, Camera, and etc.
UI & Application Frameworks
- SwiftUI: UI/Application Framework
- UIKit: Adopt UIKit only framework
- Metal: Pattern system and shader support
- Observation: MVVM and Composable Architecture, but mostly for view models
- SwiftChart: Data visualization
- SwiftData: Persistent storage
- TipKit: Tips
Space/Room Scanning
- RoomPlan: Space scanning framework
- CoreLocation: Locate space location
- MapKit: Your space on a map
Object Capture / Photogrammetry
- RealityKit: Object Capture and Photogrammetry
- Vision: Subject masking of thumbnail and other previews
- AVKit: Video player for capture instruction
- QuickLookThumbnailing: Generate thumbnail for captured items
Camera
- AVFoundation: Custom camera implementation
- PhotosUI: System permission-less photo picker support
AR Experience & Preview
- ARKit: Provide custom AR experience for RoomPlan and ObjectCapture
- QuickLook: AR Preview
3D Preview
- SceneKit: For previewing USDZ in SwiftUI
- SceneKit.ModelIO: For converting USDZ to SCNNode
Machine Learning
- CoreML: ML Image classification service (MobileNet)
Item Bucket - 2D Game Engine
- SpriteKit: 2D game engine that runs Item Bucket
- GamePlayKit: Entity Component System supports (mainly component system)
- CoreMotion: Real gravity in game!
Auxiliary Framework:
- Combine: Bridging and duct-tapping
- Dispatch: Grand Central Dispatch & Multiprocessing
- UTTyoe: Documents browser support
- Accelerate: SIMD for fast matrix transformation. 3D to 2D projection.
- OS: File system and good old logging
- VideoToolbox: CGImage to UIImage conversion