024 まちがい時計 QA
2026-10-02 UTC / 実装・機能検証済み／面白さは人による確認待ち

技術
18テスト成功（test_results.txt）。純粋モデルはPyxelをimportしない。
A27、B625、C625の全有限割当を列挙。成立割当数1/1/2、候補集合B/B/B+C。
独立の手計算相対基準[0,1,2]、[0,2,3,4]、[0,1,2,3]から、各時計を0へ平行移動する検査と一致。
40通りの答え集合を全て提出し、各票の正しい集合だけを受理。
全候補仮置きと全列挙の一致、辺逆転と符号反転、札順序、時計ID置換、画面順序を検査。
複数の0がある仮定の棄却、不連結や成立割当ゼロの票拒否を検査。
候補だけのundo、成功の解除、新分岐、無効操作と終端での不変を検査。
X仮置きは候補・選択履歴を変えない。誤答提出を連打しても履歴は増えない。
初期化・開始・次票・メニュー・説明復帰の同時/時間差キー持越し、速い押し直しを模擬検査。
全票・全仮説・成功・誤答・説明・比較基準・自動映像字幕の文字範囲と日本語glyph存在を検査。
UTF-8指定読書き、cp932既定模擬、日本語/空白のコピー先、任意cwd起動、ASCII BATの引用符と失敗pauseを検査。

Linuxの実画面と実キー入力
共有クラウドLinuxのPyxelウィンドウをUIから起動し、キーを通常150ms、持越し試験500〜650msで入力。
A: SPACE長押し開始後は未選択。A仮定→候補Aの誤答に規格外理由。Zで候補を戻し、Bで成功。
B: N+SPACE長押しで移行しても全候補未選択。P+SPACEで停止/復帰しても未選択。
  Aの仮定でC+3/D+4が規格外。表示順C,A,D,BのBを選び成功。
C: Bだけ提出すると未確定候補が残る表示。C仮定も成立し、B+Cを選ぶと成功。
  成功からZでBだけへ復元。R+SPACEは空集合へ戻り、M+SPACEはタイトルで止まった。
ESCで終了し、ウィンドウ不在を新しい一覧で確認。gui_events.jsonとnative_*.pngを保存。
映像とネイティブ操作のapp.py/model.py hashは現行ソースと一致。
音は実装していない。音声実聴の検証はしていない。Windows実機GUIとmacOSは未検証。

映像
実Pyxelの自動入力・無音GIFから、全718元フレームを順に一度ずつrawvideoへ復号。
ffmpegの入力framerateを30とし、-rによる間引きは行わない。
MP4: 30/1fps、718フレーム、23.933333秒、映像streamのみ。検査詳細timing_validation.json。
元GIFのcentisecond delay丸めと再生尺を区別している。録画表示のタイトルや字幕も文字幅試験に含む。
PNGは実際のPyxel描画であり、別の図に差し替えていない。

設計レビュー
問いは「正確でありうる集合」。相対差だけで絶対時刻を決める誤りを入れていない。
Cの複数仮説は正当であり、唯一解に見せる隠れた情報を加えていない。
全台選択、画面中央1台、常に1台だけ、最も札の多い1台だけでは3票を通過できない。
各候補をXで順番に調べる方法は合法。正解集合を全て自動登録する機能はないが、ボタン総当たりでも到達は可能。
その方法が推理の言語化につながるかは未測定。試行を罰するための残機やタイマーは追加しない。
Bの最初の2札でBが唯一候補。3枚目はCのずれの確認で、候補をさらに減らさないことを明記。
札を全部読んだフラグや仮置き回数はクリア条件ではない。
3票は固定で、解いた後の再演の新規性は限定的。乱数・長い作業・見かけの機能数で深さを主張しない。

一変更比較
B、同じ初期状態、同じカーソルA、同じX入力で仮置き補助なし/ありだけを変えた。
札・規格・並び・選択と採点・可解性は同一。対応するPNGとexperiment_results.jsonを保存。
仮置きありではA=0の帰結と規格外の線を表示。補助なしでは札から自分で計算する。
実在した旧版の失敗や改善率は主張しない。人による比較結果はなし。

人の試遊
n=0。この024に関する人の面白さ・理解速度・リプレイ率は未測定。
質問候補: 「その時計を正確とすると、どこが規格を超える？」
「最後の二つをさらに絞る情報はある？」「二つを選ぶのと、二つ同時に正確は同じ？」
機能テストと、自分の言葉で納得できたかという確認を別扱いにする。
