ponshu-room-lite/docs/archive/CURSOR_HANDOFF_REPORT.md

12 KiB
Raw Permalink Blame History

Cursor申し送り事項・残課題リスト

📅 作成日時

2026年2月3日

完了事項Claude実施済み

Phase D6完全実装

定数統一化

リリースビルド

  • Lite版: ponshu-room-lite-v1.0.10+19-release.apk (88.9MB)
  • Pro版: ponshu-room-pro-v1.0.10+19-release.apk (50.5MB)

🔴 残課題(優先度: 高)

1. flutter analyze残存issues58件

現状: 61 issues → 58 issues3件改善済み

内訳:

  • deprecated_member_use: 約20件Tutorial関連、Share関連、ExpansionTileController
  • use_build_context_synchronously: 約15件
  • withOpacity → withValues()への移行: 約10件
  • その他: 約13件

Cursorへの依頼事項:

優先度順に修正してください:

1. **Tutorial関連のdeprecated警告** (7箇所)
   - lib/models/user_profile.dart
   - lib/models/user_profile.g.dart
   - lib/providers/theme_provider.dart
   - これらのフィールドは既に削除予定としてマークされているが、完全削除されていない
   - 削除しても問題ないか確認後、完全削除を検討

2. **withOpacity → withValues()への移行** (約10箇所)
   - Flutter 3.x以降のAPIに準拠
   - 精度損失を防ぐための推奨修正
   - 一括置換可能(デグレリスクは低い)

3. **use_build_context_synchronously警告** (約15箇所)
   - async処理後のBuildContext使用に関する警告
   - mounted チェックが必要な箇所を特定
   - デグレリスクあり(慎重に対応)

4. **Share → SharePlus移行** (2箇所)
   - lib/screens/placeholders/sommelier_screen.dart:51
   - 新しいパッケージへの移行
   - pubspec.yamlの依存関係確認が必要

5. **ExpansionTileController → ExpansibleController** (2箇所)
   - lib/widgets/sake_detail/sake_detail_specs.dart:24
   - Flutter 3.31.0以降のAPI変更

2. セット商品のUI設計検討

現状の課題: ユーザーコメント:

セット商品はあくまでビジネスモードのお品書き作成でしか使いません。 ビジネスモードでも、カード一覧ではない場所から選択できた方がいいのかもしれない。

現在の動作:

  • 個人モード: セット商品は完全除外Phase D6完了
  • ビジネスモード: カード一覧にセット商品が混在

検討オプション:

Option A: メニュー作成画面専用UI

メリット:
- セット商品と通常商品を明確に分離
- お品書き作成時のUXが向上
- 「セット商品」の用途が明確化

デメリット:
- 新規UIコンポーネント作成が必要
- 実装工数: 中〜大

推奨度: ★★★★☆

Option B: カード一覧に「セット商品タブ」追加

メリット:
- 既存UIの延長で実装可能
- ビジネスモード全体でセット商品にアクセス可能

デメリット:
- タブが増えてUIが複雑化
- 実装工数: 小〜中

推奨度: ★★★☆☆

Option C: 現状維持

メリット:
- 追加実装不要
- デグレリスクゼロ

デメリット:
- ビジネスモードでカード一覧が混雑
- 「セット商品」の特殊性が視覚的に不明確

推奨度: ★★☆☆☆

Cursorへの依頼事項:

AI_CONSULTATION_PROMPT.mdを参考に、他のAIGemini、GPT-4と協議して、
最適なUI設計を提案してください。

検討ポイント:
1. セット商品の登録頻度・使用頻度
2. お品書き作成フローの最適化
3. ビジネスモードの全体的なUX
4. 実装工数とメンテナンス性

🟡 残課題(優先度: 中)

3. ライトモードのUI/UX統一

現状:

  • ダークモードは統一済みAppBar背景色: #1E1E1E
  • ライトモードは Material Design 3 の標準動作(スクロールで色変化)

Cursorへの依頼事項:

ライトモードでAppBarとNavigationBarの背景色を統一する場合:

1. 検索フィールドのテキスト色を変更する必要があるか確認
   - 現在: Colors.whiteAppBarが常にダーク背景前提
   - 変更後: appColors.textPrimary など

2. Material Design 3のスクロール時色変化を無効化
   - backgroundColor を明示的に指定

3. 全テーマSumi, Kohaku, Ai, Wakakusaで確認

⚠️ デグレリスク中程度(慎重に実施)
⚠️ ユーザーに確認を取ってから実施推奨

4. iOS準備将来的

必要作業:

  1. Info.plist権限追加

    <key>NSPhotoLibraryUsageDescription</key>
    <string>写真ライブラリにアクセスして日本酒の画像を選択します</string>
    
    <key>NSCameraUsageDescription</key>
    <string>カメラで日本酒のラベルを撮影します</string>
    
  2. Firebase iOS設定

    • GoogleService-Info.plist作成
    • Firebase ConsoleでiOSアプリ追加
  3. 2017 MacBook Air制約

    • Xcode最新版が動作するか確認
    • メモリ不足の可能性あり8GB

Cursorへの依頼事項:

iOS配布前に以下を実施:

1. Info.plistに必要な権限をすべて追加
2. Firebase iOS設定の手順書作成
3. 2017 MacBook Airでの動作確認手順
4. TestFlightまたはAd-Hoc配布の手順書

🟢 残課題(優先度: 低)

5. 未使用コード・コメントのクリーンアップ

確認が必要な箇所:

  1. lib/models/user_profile.dart の tutorial関連フィールド

    • hasSeenCameraTutorial
    • hasSeenProfileTutorial
    • hasSeenSommelierTutorial
    • これらは既に @Deprecated だが完全削除されていない
  2. tools/ ディレクトリのスクリプト

    • avoid_print 警告が多数
    • デバッグ用途なら問題ないが、不要なら削除

Cursorへの依頼事項:

以下をクリーンアップ:

1. Deprecatedフィールドの完全削除
   - マイグレーション処理が必要か確認
   - 既存ユーザーデータとの互換性確認

2. tools/ ディレクトリのスクリプト整理
   - 使用されているスクリプトと未使用スクリプトを分類
   - 未使用なら削除、使用中ならdebug用として明示

6. パッケージアップデート

現状:

Lite版: 60 packages have newer versions incompatible with dependency constraints.
Pro版: 33 packages have newer versions incompatible with dependency constraints.

注意事項:

  • flutter_riverpod 3.1.0 → 3.2.0
  • google_fonts 6.3.3 → 8.0.0
  • connectivity_plus 6.1.5 → 7.0.0 (Breaking changes likely)
  • その他多数

Cursorへの依頼事項:

⚠️ 慎重に実施Breaking changes多数

1. flutter pub outdated でBreaking changesを確認
2. 影響範囲が小さいパッケージから順次アップデート
3. 各アップデート後に flutter analyze と flutter test を実行
4. 実機テストで動作確認

優先度:
- Low: 現状でも動作している
- ただし、長期的にはメンテナンスが必要

📝 保護すべきコード(絶対に変更しないこと)

1. 空状態判定ロジック

// lib/screens/home_screen.dart:176
final isListActuallyEmpty = ref.watch(rawSakeListItemsProvider).asData?.value.isEmpty ?? true;

// lib/screens/menu_creation_screen.dart:134
final isListActuallyEmpty = ref.watch(rawSakeListItemsProvider).asData?.value.isEmpty ?? true;

理由: 「完全に空」vs「フィルタで0件」の区別に必須


2. 開発者メニューの全データアクセス

// lib/screens/dev_menu_screen.dart:189
final allItems = ref.read(rawSakeListItemsProvider).asData?.value ?? [];

理由: セット商品含む全データ解析が必要


3. 意図的なハードコーディング

画像オーバーレイ (lib/widgets/home/sake_grid_item.dart:102):

color: Colors.black54, // Changed from gradient to solid for "Transparent Black" underlay request

理由: 以前の入念な調整結果。視認性確保のため。

AppBar検索フィールド (複数箇所):

style: const TextStyle(color: Colors.white)

理由: AppBarは常にダーク背景のため、白テキストが正解。

詳細: SAFE_FIXES_REPORT.md参照


🎯 Cursorへの推奨作業順序

フェーズ1: 安全な修正(デグレリスク: 低)

  1. withOpacity → withValues() 一括置換
  2. Tutorial関連のDeprecated削除マイグレーション確認後
  3. Share → SharePlus移行
  4. ExpansionTileController → ExpansibleController移行

期待される成果: flutter analyze 58 issues → 35 issues程度


フェーズ2: 慎重な修正(デグレリスク: 中)

  1. ⚠️ use_build_context_synchronously警告の修正

    • mounted チェック追加
    • 各箇所を個別に検証
  2. ⚠️ ライトモードUI統一ユーザー確認後

期待される成果: flutter analyze 35 issues → 20 issues程度


フェーズ3: 長期的改善(デグレリスク: 中〜高)

  1. ⚠️ セット商品のUI設計変更Option A推奨
  2. ⚠️ パッケージアップデート(段階的に)
  3. ⚠️ iOS準備将来的

📊 現状の品質指標

ビルド

  • Lite版: 88.9MB(リリースビルド成功)
  • Pro版: 50.5MB(リリースビルド成功)

静的解析

  • flutter analyze: 58 issuesinfo levelのみ、error/warningなし

Phase D6実装

  • 個人モード: セット商品完全除外
  • ビジネスモード: セット商品表示
  • タグフィルター: セット商品除外(個人モード)
  • 都道府県フィルター: セット商品除外(個人モード)
  • 空状態判定: 正常動作

UI/UX

  • ダークモード: AppBar/NavigationBar統一
  • ⚠️ ライトモード: Material Design 3標準動作要検討

📚 参考ドキュメント

  1. PHASE_D6_COMPLETION_REPORT.md: Phase D6完全実装の詳細
  2. IMPLEMENTATION_SUMMARY_v1.0.10+19.md: 全実装内容のサマリー
  3. CURSOR_PROPOSAL_FINAL_REVIEW.md: Cursor提案の批判的レビュー
  4. SAFE_FIXES_REPORT.md: 意図的なハードコーディングのリスト
  5. AI_CONSULTATION_PROMPT.md: セット商品UI設計の相談用プロンプト
  6. CURSOR_REVIEW_PROMPT_UPDATED.md: 包括的レビュープロンプト

🎉 完了の定義Definition of Done

Android友人配布版

  • Phase D6完全実装完了
  • リリースビルド成功Lite/Pro両方
  • デグレなしflutter analyze安定
  • 実機テスト推奨(ユーザー実施)

次期バージョンv1.0.11+20

  • flutter analyze 20 issues以下
  • セット商品UI改善Option A実装
  • iOS TestFlight配布準備完了
  • パッケージアップデート完了

作成者: Claude (Sonnet 4.5) 作成日時: 2026年2月3日 対象バージョン: v1.0.10+19 Cursor申し送り: このドキュメントに従って段階的に改善してください