065 まばたき劇場
目を向けた人形・橋・灯りだけが止まる。何を進めたいから、何を見守る？

目的
全員を出口へ送れば基本成功。星を持ち帰るのは任意。取り逃しても落下、体力、手数制限はありません。
目のマークだけがルール上の視線です。画面を見るだけでは時間は動きません。

起動
Python 3.10以降。実行時の依存はPyxelのみです。初回はネット接続が必要。
Windows: setup.bat → play.bat。ファイル名と親フォルダーに日本語や空白があっても引用して呼び出します。Windows実機未検証。
Linux/macOS: bash setup.sh → bash play.sh。今回の実操作はクラウドLinuxです。macOS未検証。
launch.shは開発用クラウド絶対パスです。配布利用ではplay.shを使います。

操作
矢印: 目を移す / Z: 一回まばたき / X: 一回まばたく前へ / R: 同じ演目を最初から
P: 説明・停止 / 1・2・3: 演目 / Space: 予告の表示切替 / S: 再現記録を保存
M: 表紙 / B: 一規則比較を切替・再開 / Esc: 終了
開始・停止・再開後はキーを離してから操作します。押しっぱなしは連続入力になりません。

一回の順序
1. 目を置いた対象を確認。2. 視線外の橋と灯りが一段進む。3. 視線外の人形が新しい橋で歩く。
4. 新位置と新しい灯りで星を受取。5. 出口に到着した人形が退場。
橋は0畳む、1開きかけ、2開く、3閉じかけ。通れるのは2だけ。閉じた橋では安全に待ちます。
見守られて歩みが止まった人形にも、届く光は止まらないので星を受け取れます。
予告は同じモデルの次状態。「星を残す」と出たら、歩みを止めて灯りを待つか選べます。
全員退場後もXで戻れます。退場した人形は先へ歩かず、星へ引き返す操作はありません。

三つの演目と確認済み最短
A 橋を見守る: 基本4回、星あり4回。最初に人形を見守り橋を開く方法は6回で星も取れます。
B 二度渡る舞台: 基本5回、星あり7回。最初から開いた橋を保つ安全策は星を残して5回。
C 二人の幕間: 基本4回、両方の星あり6回。同じ装置を共有する別の台。人形同士は衝突しません。
手数は自動探索の値です。人による難度や面白さの評価ではありません。

比較
Bキーは「視線対象の停止」だけを無効にします。初期値、位相、更新順、予告、基本目標は同じです。
通常/比較の最短基本回数: A 4/4、B 5/9、C 4/7。全進行版でも安全に退場します。
比較版では全星目標が到達不能なので、星の成功率による優劣比較は行いません。

再現と学習
model.py: immutable State/Timeline、Level、step、forecast、exact record。app.py: 入出力・描画のみ。
設定、意味入力、論理tick、全状態のSHA-256、終了stateをrecordsへ保存。tools/replay_record.pyで完全一致を確認できます。
実時間やPythonのhash順で規則は変わりません。公開IDは065-A/B/C-v1。任意seedや無限の生成問題ではありません。
python -m unittest -v、python experiments.pyで検査。実験出力はGUI証拠と別ファイルです。

素材と範囲
図形はオリジナル。日本語は同梱Noto CJK由来のビットマップ。assets/NOTO-LICENSE.txtに全文。
本作は無音です。映像の音声トラックもありません。音でしか分からない情報はありません。
mediaの動画は実Pyxel描画への自動入力です。人のプレイ、実聴、Windows確認の代わりにはしません。
NOTE.txtは制作意図、QA.txtは検査範囲、X_POSTS.txtは140字以内の原稿3本です。公開投稿はしていません。
