/Organize

Primary LanguageSwift

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