起動〜タブ構成

flowchart TD Launch([起動]) --> Root[RootView] Root -- onboardingCompleted=false --> Onb[OnboardingView] Root -- onboardingCompleted=true --> Tabs[ContentView TabView] Onb -- 完了 --> Tabs Tabs --> THome[Tab: ホーム] Tabs --> TToday[Tab: 今日] Tabs --> TCal[Tab: カレンダー] Tabs --> TReport[Tab: レポート] Tabs --> TSet[Tab: 設定]

ホーム経路(タイマー)

flowchart LR Home[HomeView] -- 開始 --> Running[タイマー実行中] Running -- 一時停止 --> Paused[一時停止中] Paused -- 再開 --> Running Running -- 停止 --> Save[StudySession保存] Save --> Home Running -. 連動 .-> LA[Live Activity] Save -. 同期 .-> Widget[ホーム画面Widget]

レポート・シェア経路

flowchart LR Report[ReportView] -- 期間選択 --> Filter{週/月/通期} Filter --> Chart[グラフ表示] Chart -- シェア --> ShareSheet[StudyShareSheet] ShareSheet --> Daily[Daily Card] ShareSheet --> Summary[Summary Card] ShareSheet --> Heatmap[Heatmap Card] ShareSheet --> Graph[Graph Card]

設定経路

flowchart TD Set[SettingsView] --> Subj[SubjectEditView (sheet)] Set --> Premium[PremiumView] Set --> Privacy[PrivacyPolicyView] Set --> Notif[通知時刻設定]

主要な遷移トリガー

起点操作遷移先
RootViewonboarding完了済ContentView
HomeViewSTARTタップタイマー実行中UI
HomeViewSTOPタップStudySession保存
TodayViewシェアアイコンStudyShareSheet
ReportView期間Picker同画面(再集計)
SettingsView科目追加SubjectEditView (sheet)
SettingsViewプレミアムPremiumView

画面ID対応表

画面ID画面ファイル
SS-HOME-01ホーム(タイマー)Views/Timer/HomeView.swift
SS-TODAY-01今日Views/Today/TodayView.swift
SS-CAL-01カレンダーヒートマップViews/Calendar/CalendarHeatmapView.swift
SS-REPORT-01レポートViews/Report/ReportView.swift
SS-SHARE-01シェアViews/Share/StudyShareSheet.swift
SS-SET-01設定Views/Settings/SettingsView.swift
SS-PREMIUM-01プレミアムViews/Settings/PremiumView.swift
SS-ONB-01オンボーディングViews/Onboarding/OnboardingView.swift
SS-SUBJ-01科目編集Views/Settings/SubjectEditView.swift
SS-LA-01Live ActivityStudyStopwatchLiveActivity/
SS-WID-01WidgetStudyStopwatchWidget/

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成(ソースコードからリバース)