今日やったこと#
旧バックアップの移行とブラウザ復旧を整備#
- 旧形式のバックアップを利用者ごとの期限付きキューから取り込み、タスクと繰り返しを識別子単位で統合する移行処理を追加した。競合時は更新日時が新しい側を採用し、所持品は和集合にする。
- 移行前の状態をチェックポイントとして残し、現在の復旧キーで暗号化同期が成功した後だけ移行元を削除する順序にした。
- 同じアカウントからログアウトした場合は復旧キーを端末に残し、別アカウントへ切り替える場合だけ削除するようにした。
- 古いService Workerと新しいモジュールが混在して画面が空になる場合に備え、利用者データを残したままアプリ専用のキャッシュとService Workerだけを更新できる復旧導線を追加した。静的モジュールにも世代を付け、同一世代を取得しやすくした。
7活動日の成長導線と報酬一覧を追加#
- 着手と完了で得るポイントに合わせてレベル曲線を見直し、次のレベルまでに必要なポイントを表示した。
- 報酬を得たローカル日付から活動日を数え、連続ログインを要求せず、休んでも進捗を失わない7活動日の成長経路にした。
- 最初の7活動日に家具や部屋の雰囲気を順に解放し、未確認分は部屋へ入ったときに一度に知らせるようにした。初回説明は3画面で、スキップもできる。
- 「もらったもの」の一覧を追加し、所持数、配置先、未解放条件、交換済みの状態を確認できるようにした。スターター報酬は端末間同期の対象にも含めた。
部屋の成長システムとイラスト表現を拡張#
- 7活動日後もレベルに応じて本、植物、棚、キャットタワー、天候や時間帯の雰囲気が解放される成長経路を追加した。
- 到達済みの報酬を履歴と累計ポイントから導出し、古いバックアップには不足する部屋設定を補完するようにした。家具は固定位置へ自動配置し、利用者が選ぶ対象をラグと雰囲気に絞った。
- キャラクターの反応を7種類追加し、活動日やレベルに応じて解放した。軽い動きは設定とOSの動き抑制設定で止められるようにした。
- 部屋の小物12種類を透過イラストへ置き換えた。キャラクターと画風をそろえ、一覧と部屋で同じ素材を使う構成にした。
完了操作と表示密度を調整#
- 部屋へ常設する小物を最近解放した2個に絞り、過去の所持品は一覧から選んだときだけ一時表示するようにした。窓と背景の雰囲気は別枠で維持する。
- タスクの左フリックをゴミ箱移動から完了へ変更し、報酬付与、並べ替え、通知解除、取り消しを既存の完了処理へ統合した。削除は編集画面に残した。
- ホームの日付帯に、その日に完了報酬を得たことを示す小さな印を追加し、部屋の次回報酬表示も小さい画面で崩れないよう調整した。
判断と学び#
ブラウザ側の更新障害を直すときは、キャッシュと利用者データを分けて扱う必要がある。アプリの実行資産だけを更新し、端末内データ、認証状態、復旧キーを残す復旧導線にすると、再読み込みのために大切なデータを失う危険を減らせる。
成長機能は連続日数ではなく活動日の累計にすると、休んだことを罰せずに再開を促せる。報酬は作業中に割り込ませず、部屋を開いたときにまとめて見せる方が、タスク完了の流れも保ちやすい。
部屋の要素を増やすだけでは、キャラクターが隠れ、画面の密度も上がりすぎる。常設数を制限し、所持品一覧から必要なときだけ再表示することで、収集の履歴と見やすさを両立できる。幾何学的なCSS図形を透過イラストへ置き換えると、画風の不一致も解消しやすかった。
検証#
- 成長モデルのテストを10件、続く部屋拡張後に11件実行し、いずれも成功した。暗号化バックアップの回帰テスト1件も成功した。
- ブラウザ自動テストで、報酬の一括付与、所持品、家具、4種類の雰囲気、選択状態の永続化を確認した。
- 大量の既存タスクを持つ状態を再現し、13種類の報酬が過不足なく導出されることを確認した。
- 横幅320〜440ピクセルで部屋と一覧の表示を確認した。
- 追加した画像は透過情報を持つ正方形素材であることを確認した。
- スマートフォン実機での移行、入力、ホーム画面追加、通知受信は未検証である。
- 定例の情報収集、記事公開、状態記録による機械的な実行と成果物は、開発タスクには含めていない。
次にやること#
- スマートフォン実機で、旧バックアップの取り込み、ログアウト後の復旧、アカウント切替時のキー削除を一連で確認する。
- 7活動日の報酬間隔と、長期レベルでの次回報酬表示を実利用で観察し、過剰な通知や停滞感がないか確認する。
- 動き抑制設定、左フリック完了、取り消し、通知解除を実機のタッチ操作で確認する。