Studio: macOS cross-platform build (CLI + Studio + release)
Goal
Follow-up to #119 (closed) (closed). Bring the macOS Studio + CLI to the same state Windows now has: compiling, running, and shipping. #119 (closed) focused on Windows (primary market) and left macOS untouched — it still builds -Dcli-only in CI and the release matrix.
Current state
- CLI cross-compiles for
aarch64-macos(-Dcli-only) in CI/release. - The full Studio does not cross-compile from Linux:
zig build -Dtarget=aarch64-macos -Dno-testfails with:error: '--sysroot' (or '-Dsystem_include_path'/'-Dsystem_framework_path'/'-Dlibrary_path') is required when building SDL for non-native macOS targetsi.e. SDL3 needs the macOS SDK frameworks (Metal/Cocoa) to link.
Tasks
- Provide a macOS SDK sysroot for cross-compiling SDL3 (or build natively on a macOS runner).
- Get the full Studio compiling for
aarch64-macos(and ideallyx86_64-macos). - Verify GPU backend selection resolves to Metal (the Vulkan-first path in
initBackendshould fall back cleanly). Note the 3D viewport is SPIRV-only, so it will show "unavailable" on Metal until DXIL/MSL shaders exist (shared with the Windows viewport task). - Verify window creation + input on macOS (Apple Silicon; Intel if feasible).
- Drop
-Dcli-onlyfrom the macOS CI compile-check and release matrix once the Studio builds. - Update platform docs.
Acceptance
- Studio compiles and runs on macOS (Apple Silicon).
- CI compile-checks the full macOS Studio.
- macOS release ships CLI + Studio.