Skip to content

feat: establish native iOS foundation - #2

Merged
andrewmuratov merged 12 commits into
mainfrom
feat/native-ios-foundation
Sep 15, 2026
Merged

andrewmuratov merged 12 commits into
mainfrom
feat/native-ios-foundation

Conversation

@andrewmuratov

Copy link
Copy Markdown
Member

Summary

Establishes the first coherent native Swift/SwiftUI foundation for Gapwise for UTM.

This PR turns the repository from a branding/bootstrap shell into a real iPhone application foundation while keeping the current product scope UTM-only and following the boundaries already established across the Gapwise ecosystem.

Included

  • native SwiftUI app target and shared scheme
  • Today, Timetable, Gaps, Map, and Settings navigation surfaces
  • local .ics timetable import with review-before-save
  • deterministic timetable reconciliation and schedule arithmetic
  • local persistence behind explicit repository boundaries
  • portable Foundation domain/import logic with fixture-driven tests
  • conservative UTM campus integration boundary with no invented map geometry, entrance, routing, or accessibility facts
  • Linux-portable Swift validation plus macOS/iOS CI
  • README updated to describe the actual UTM-only product scope and current implementation truthfully

Architecture / trust boundaries

  • Gapwise-for-UTM/gapwise remains authoritative for canonical product/timetable/gap/routing semantics.
  • Gapwise-for-UTM/data remains authoritative for canonical UTM campus facts, geometry, provenance, entrances, and uncertainty.
  • this repository owns native iOS presentation, local timetable handling/persistence, app lifecycle/state, and Apple-platform integration.

Legacy/off-campus campus values may remain decodable/detectable so imported source data is not silently corrupted, but this PR does not claim a UTSG, UTSC, or mixed-campus product experience.

Validation

The portable core is configured to run under Swift 6.3.3 on Ubuntu Noble, while the Apple-only application path is validated separately on macOS/iOS CI. No Linux-only workaround is used to fake SwiftUI or Apple SDK validation.

Merge only after the PR checks are green.

@andrewmuratov
andrewmuratov merged commit b711692 into main Sep 15, 2026
2 checks passed
@andrewmuratov
andrewmuratov deleted the feat/native-ios-foundation branch September 20, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant