
A year ago last October as Artemis 1 was preparing to launch on its test flight, I realized that I had not done work on MissionOrion 2 for a while and decided to finish it.
Naturally, I started a new app project in Xcode. One reason was because the older code looked like it would be more trouble than it was worth to fix-up. So, new Xcode project using Swift and SwiftUI.
One of best choices I made was to use SwiftUI, specifically SwiftUI’s SceneView, and not fall back to UIKit or UIViewRepresentable, for displaying the content using SceneKit. Yes, it meant learning a lot of things of which I had no idea how to do. Like building from scratch inertia in a DragGesture in SceneView. Or a SceneView in a SceneView, each with their own SCNSceneRendererDelegate implementation. Getting a line–there is no SCNGeometry for a line in SceneKit–that would give a visualization for users as to Orion’s past as well as upcoming orbit path. And getting instance objects whose classes conform to ObservableObject to “publish” state changes to other instance objects whose classes conform to ObservableObject while still taking advantage of Combine’s @Published vars.
There still remains a lot to do, but MissionOrion 2 is coming along. Here’s a short video that I did last week.
You must be logged in to post a comment.