I've mostly implemented the options menu binding to UserDefaults, but I'm going to put off normalizing and displaying units for a separate PR (just don't have the setting consumed anywhere).
UI
The colors are chosen using the SwiftUI's ColorPicker, which allows for transparency, meaning that both the mesh colors and ambient lighting can be mixed-opacity so they don't need to be disabled to be hidden.
The units selector works and sets a setting corresponding to the preferred units, but we're not using it anywhere yet.
The 3D interaction mode setting works, and we're using it to switch modes live in the 3D viewer / MiniWorldRender.
I've mostly implemented the options menu binding to UserDefaults, but I'm going to put off normalizing and displaying units for a separate PR (just don't have the setting consumed anywhere).
UI
The colors are chosen using the SwiftUI's ColorPicker, which allows for transparency, meaning that both the mesh colors and ambient lighting can be mixed-opacity so they don't need to be disabled to be hidden.
The units selector works and sets a setting corresponding to the preferred units, but we're not using it anywhere yet.
The 3D interaction mode setting works, and we're using it to switch modes live in the 3D viewer / MiniWorldRender.