047 屋上菜園 教材QA / 2026-10-05 UTC

環境: クラウドLinux、Python3.12.14、実Pyxel2.9.9。
仕様Python3.11以上。3.11実インタプリターとWindows/macOS GUIは未確認。

純粋規則・合成Controller: 28テスト成功（qa/full_tests.txt）。
配布単独とCP932既定read_text模擬: 27成功＋任意の外部原作比較1件skip。
qa/standalone_tests.txt、qa/cp932_tests.txt。CP932模擬はWindows実測ではない。
影の同一行境界、W/E/曇り、古い株からの同時成長、描画予告の不変性、
収穫/採種/植付け、時間0、納品、最終朝と締切、種条件、終端凍結、
全状態Undo、無効操作で履歴不変、実メニュー入力、長押し/同時押し/リセット、
改造課題、ASCII描画範囲、本文抜粋、MIT、Python3.11構文を検査。

原作Aとの直接比較:
04と05それぞれ、全8126到達State×8行動＝65008遷移を探索し、全フィールド一致。
原作invariantによる種・食材・株数の帳簿も毎状態で確認。
対象はA・通常の影あり規則。01〜03は縮小練習。B/C、影なし比較、原作UIの同等性は主張しない。
ソースは-Bで読み取りのみ。qa/original_sha256.jsonに原ファイルのハッシュ。

実Pyxelの描画:
初期5本を各12フレーム、意味ある合成キー操作の到達点5本を12フレーム以上描画。
全10プロセスが正常終了。qa/render_results.json、各PNGとログ。
全10画像を実際に開き、鉢・株・影・現在値/次値・資源・期限・操作・WON表示を確認。
01は朝1で株3/1。02は影により3/0。03は朝3・食材2・種2。
04/05は朝4を締め、納品2・種2・WON。
更新中に合成キー集合をControllerへ渡しており、人やOSのキー操作ではない。

独立起動:
各.pyだけを日本語・空白のある別フォルダーへコピーし、無関係cwdから既存Pyxelで起動。
全5本正常終了、PNG生成。qa/isolation_results.json。前段階・元ゲーム・画像データへの依存なし。
通常のGUI起動とヘッドレス検証は別。SDL_AUDIODRIVER=dummyを使用。音声の成功証拠ではない。

権利:
原作MIT全文をLICENSEと各段階先頭に保持。教材はASCII/図形のみでNotoデータを含まない。
原作コード・素材・権利表記は変更していない。配布ファイルのhashはFROZEN_SHA256.json。

未確認:
人の面白さ/学習理解、OSのキーボード・窓操作、Windows/macOS実GUI、ブラウザー、音声再生。
このゲームは無音。QAのPNGは実エンジンへ自動入力した記録で、人の試遊資料ではない。
