完了済みTrackの履歴資料: Track #56の初回実装に使用した一度限りの指示書であり、現行の実装指示ではない。現在のUI変更では「Drogger Tablet UIデザイン指針」を最初に参照する。
Issue #38配下のTrack #56「P6-13 作業・記録モードの分離と測位画面レイアウト再設計」を実装してください。
現在のUIは、機能追加のたびに地図上へButtonを縦積みしてきたため、ライブ作業と保存記録の区別、操作の優先順位、画面全体の一貫性が不足しています。今回の目的は装飾変更ではなく、画面構造と操作導線の再設計です。
画像は必ず原寸で確認してください。文章だけから見た目を推測しないでください。
完成形はA・Bどちらかの模写ではなく、次のハイブリッドです。
色、余白、角丸、コントラスト、アイコンと文字の併用は画像の雰囲気を参考にしつつ、既存のMaterial 3とJetpack Composeで無理なく保守できる実装にしてください。
画面を次の3領域へ整理してください。
┌──────────────────────────┐
│ 測位品質 │ プロファイル │ 記録状態 │
├──────────────────────────┤
│ │
│ 地図 │
│ [現在地]│
│ [表示] │
│ │
├──────────────────────────┤
│ [記録を見る] [状態別の主操作] │
└──────────────────────────┘
WorkStatusBarWorkDockMapUtilityControlsとして「現在地」「表示」MapDisplayControlsとWorkControlsのButton縦積みは廃止する横並びで次だけを表示してください。
固定解 1.4cm停止中または赤い点付きの記録中要件:
常時表示する操作は2つだけです。
記録を見る記録を開始記録を停止要件:
停止中に既存軌跡がある場合、記録を開始を押すと選択シートを開きます。
続きから再開新しい記録を開始キャンセル記録中に記録を停止を押した場合は即時停止せず、確認シートを開きます。
停止する続ける既存のViewModel処理を再利用し、画面遷移だけで記録状態を変更しないでください。
現在地は地図右下寄りに56dp以上の丸型ボタンとして常設表示はその上に48〜56dpのボタンとして配置表示から、地図/航空写真、筆ポリゴン表示を変更するシートまたは小型パネルを開く軌跡をクリアをWorkDockから除外する再接続が画面外へ消えない保存記録と明示作業へ戻るを置く作業へ戻るは履歴をたどらずライブ作業画面へ直接戻るライブ記録中と表示保存記録と記録日時または名称を表示作業へ戻ると一覧へ戻るを区別して用意作業へ戻るはライブ作業画面へ直接戻るライブ記録中と表示現在のMainActivityはshowTrajectoryList、replayingRecord、showLayer0Settings等の複数状態と優先順位分岐で画面を切り替えています。今回の対象画面については、少なくとも次の行き先をsealed class等の単一状態で表してください。
Work
SavedRecords.List
SavedRecords.Replay(record)
Profile.Select
Profile.Edit(profile)
Layer0Settings
Diagnostics
要件:
Work作業へ戻るは常にWorkへ直接遷移apps/android-tablet/app/src/main/java/dev/drogger/tablet/MainActivity.ktapps/android-tablet/app/src/main/java/dev/drogger/tablet/ui/MapScreen.ktapps/android-tablet/app/src/main/java/dev/drogger/tablet/ui/TrajectoryListScreen.ktapps/android-tablet/app/src/main/java/dev/drogger/tablet/ui/TrajectoryReplayScreen.ktui配下へWorkStatusBar、WorkDock等を追加app/src/testまたはCompose UIテスト既存の無関係な変更を上書きしないでください。まず現状コードとテストを読み、既存のコールバック、診断ログ、記録状態永続化を再利用してください。
最低限、状態を純粋関数またはUI状態へ切り出し、次を自動テストしてください。
記録を開始記録を停止と停止確認作業へ戻ると一覧へ戻るが異なる遷移になるWork既存テストも全て実行してください。
cd apps/android-tablet
./gradlew testDebugUnitTest
./gradlew assembleRelease
Redmi Pad SE 8.7、縦向き800×1340で次を確認してください。
実機確認前に、800×1340のスクリーンショットを各主要状態で取得して比較してください。
このリポジトリではButlerとTrack Ledgerを使います。
work_session_start(project_root)work_observe()track_summarize(parent_issue_id=38)track_record(track_issue_id=56, ...)work_record(issue_ids=[56, 38], ...)仕様と実装が衝突する場合、勝手に別案へ変更せず、Track #56へ判断材料を記録して利用者へ確認してください。