プロダクトの仕様を記載した2つのファイル(implement.mdとlaw.md)に基づき、**「スナップショットに合わせに行く業務ゲーミフィケーション」**の実装に必要なタスクを重要度順に洗い出します。
重要度の判断基準は、「プロダクトのメイン機能(スナップショットとの比較評価)の実現」、「ユーザーへの価値提供」、**「技術的な基盤構築」**に基づいています。
実装タスクの重要度別洗い出し
🥇 最重要タスク(MVP構築に必須)
これらのタスクは、プロダクトの核となる機能を実現するために、最優先で実装する必要があります。
| タスク内容 | 関連ファイル | 概要 |
|---|---|---|
| SRTストリームの受信とフレーム処理 | implement.md | OBSから出力されるSRTストリームをWails側で受け取り(go-srt)、動画フレームに変換する。これがメインループの入力となる。 |
| フレームレートの削減(化) | implement.md | 受信した動画フレームをgoavなどで処理し、比較処理の負荷軽減のため、設定可能なフレームレート(初期は10fps)に間引く。 |
| スナップショットの作成機能 | implement.md | 録画ファイルを読み込み、比較対象となる静止画像(スナップショット)を作成・保存する機能。これがゲーミフィケーションの「ゴール」となる。 |
| 画面の比較評価ロジック(aHash) | implement.md | 間引いた現在の画面フレームとスナップショットを比較し、評価を行うアルゴリズム(まずaHash)を実装する。 |
| メイン比較ループの実装 | implement.md | 第二回作業時(ゲームプレイ時)の**「適宜画面をスナップショットと比較して評価する」**メインロジックを実装する。 |
🥈 高重要度タスク(機能補完とユーザビリティ向上)
プロダクトとして機能させるために、初期リリース段階で実装することが望ましいタスクです。
| タスク内容 | 関連ファイル | 概要 |
|---|---|---|
| 評価フィードバック機能 | law.md | 比較評価の結果に基づき、ユーザーに上達度合いやデッドラインとの関係を示すフィードバックを画面に表示する。ゲーミフィケーションの中核要素。 |
| デッドラインと責任のロジック | law.md | ゲーミフィケーションの動機づけとして、デッドラインを設定・管理し、超えた際に負のフィードバックを与えるロジックを実装する。 |
| Wailsアプリケーションの基本構成 | implement.md | GoとフロントエンドをつなぐWailsアプリケーションの初期設定と、基本UI/UX(ユーザーインターフェース/ユーザー体験)の構築。 |
| 設定機能(フレームレート・比較アルゴリズム) | implement.md | 比較するフレームレートや比較アルゴリズム(aHashなど)をユーザーが設定・選択できるようにするUI/機能の実装。 |
| スレッド分割の検討・実装 | implement.md | SRT受信、フレーム処理、比較評価などの処理負荷が高い部分で、パフォーマンス向上のためのスレッド分割(並列処理)を考慮して実装する。 |
🥉 中重要度タスク(拡張機能・将来的な改善)
プロダクトの安定性向上や、機能の多様性、長期的な運用で必要となるタスクです。
| タスク内容 | 関連ファイル | 概要 |
|---|---|---|
| 比較範囲の最適化 | implement.md | **「評価から数十秒前までの画面のみを比較」**という制約に基づき、比較対象のフレーム履歴を効率的に管理・保持する実装。 |
| 複数の比較アルゴリズムへの対応 | implement.md | aHash以外の軽量な比較アルゴリズム(pHashなど)を選択肢として追加し、評価方法の多様性を提供する。 |
| OBS連携の確立(外部OBSでの録画) | implement.md | 最初の作業時に外部OBSなどを用いて画面録画を行うフローを確立し、スナップショット作成の起点とする。 |
| 部分デバッグモードの実装 | implement.md | 開発やテストのための**「部分デバッグモード」**を実装する。 |
| 汎用的なスキル獲得への応用性の検討 | law.md | **「繰り返しをライン作業のように楽しくする」**という動機に基づき、特定の業務以外のスキル獲得にも応用できる汎用性の高い設計を検討する。 |