057 紙片のラリー / 5段階の日本語Pyxel教材

Python3.11以降、Pyxel2.9.9。実検査はLinux/Python3.12.14。3.11は構文のみ。
各ファイルは単独、別名、素材なし、日本語/空白パスで起動できます。
  python 01_distance_ticks.py
  python 02_speed_counters.py
  python 03_curve_shoulders.py
  python 04_fold_bank.py
  python 05_replay_ghost.py
新規導入時: python -m pip install -r requirements.txt
Enter/Zで出走してキーを離します。02以降上加速・下減速、03以降左右操舵。
P停止/再開、R同道再走、X即座に試走を捨てて準備、Esc終了。一手Undoはありません。
04以降、準備で1/2/3コース、Space折道巡回。BはAのA折道の幅比較だけ。
編集は保存→終了→再実行。Rは編集後のコードを再読込しません。

01は固定速度の直線、02速度、03曲率/接触、04全有限道、05リプレイ/同道ゴースト。
先に置いたState欄や画面欄は、その機能が導入されるまで0のままです。
通常7ルート＋幅比較1。任意折紙や乱数レベル生成ではありません。
日本語字形、折りアニメ、X確認、通常S保存/F12/GIFは未実装。ASCII画面です。

本文LESSON.md、標準データlessons.json/lesson_meta.json、隣接完全差分diffs/。
  python -B test_stages.py
  python -B qa/cp932_check.py
  python -B qa/exercise_checks.py
  python -B qa/replay_cli_checks.py
  python -B qa/reference_check.py ORIGINAL_GAME_DIRECTORY NEW_JSON_PATH
  python -B qa/runtime_checks.py NEW_DIRECTORY
  python -B qa/render_boundaries.py NEW_DIRECTORY
  python -B qa/verify_freeze.py
初期描画（出力親フォルダは存在、同名ファイルは禁止）:
  python 05_replay_ghost.py --headless-smoke --screenshot initial.png --report initial.json
自動入力途中は --demo-checkpoint を追加。05のreportにreplayも入ります。
  python 05_replay_ghost.py --check-replay initial.json
相対出力はPyxelより前の起動cwdへ絶対化し、既存のPNG/JSONを保護。
全ファイル入出力をUTF-8に指定。CP932試験は実既定読込をCP932に置換したもの。
OS実キー、Windows/macOS GUI、ブラウザ、音聴取、人の学習効果は未検証。
実Pyxel描画・合成held入力と純粋モデルを検査。qa/VALIDATION.md参照。

LICENSE/LICENSE.txtと各.py先頭に原作MIT全文。
Noto通知assets/NOTO-LICENSE.txt（ASCII教材は字形未使用）、Pyxel通知assets/PYXEL-LICENSE.txt。
原典のコード、素材、権利表示は変更していません。
