# SHIMA HISTORY MENU FIX v7.1.1 — 検証記録
作成日: 2026-09-15
入力: SHIMA_ARMORED_BODYSUIT_COLLECTION_v7.1_FULL.zip
SHA-256: cda47a7574ded1bb33a59dd302e2b1cb3002a84b7563c1c478f2d4d90799c87e

【症状と原因】
右下「メニュー」→「履歴」の一回のタップでメニューが閉じ、履歴一覧も直ちに消える。
ext_ui_reforge.v1.jsはdocumentのclickリスナーから旧footer-history-btn.click()を呼び履歴を開く。
続いてext_history.jsのdocument上の外側クリック判定に元のメニューボタンのタップが届く。
そのボタンは履歴本体にも旧履歴ボタンにも含まれないため、同じ操作で履歴を閉じていた。
同一documentに登録した他のリスナーはstopPropagationでは停止しないため、初期化順によって発生する。

【修正】
ext_history.jsの外側クリック判定で、data-shima-reforge-action="history"を持つ開くボタンとその子要素を除外。
旧履歴ボタンもcontains判定にして子要素を含める。
他のdocumentイベント処理、コピー、復元、履歴保存のコードは維持。
実行用JavaScriptの変更はext_history.jsだけ。UIを再設計する変更や追加のタイマーはない。
全棚・prompt・stable ID・履歴保存キー・保存形式を保持。

【試験】
- 修正前の実スクリプトを同じイベント試験へ載せ、表示がblockからnoneへ戻る不具合を再現。
- 履歴機能の初期化が先の場合には発生しないことも再現。
- tests/history_menu.test.mjs: 10/10合格。
  作る／選択中／出力からのメニュー→履歴、ボタン子要素、初期化順、旧履歴ボタン、
  0件表示、他documentリスナーの維持、内側・外側タップ、閉じる、再表示、コピー、
  生成→保存→復元、単発再生成、change大量発火なし、全削除のキャンセル／承認を確認。
- 既存619件を含む全回帰: 629/629合格、失敗0、スキップ0。
- トップ階層JavaScript: 123/123構文合格。manifest.json構文合格。
- 既存26テストの変更は配布版名の期待値のみ。既存の検証条件は維持。
- v7.1の正規8bundleとSFアーマード・ボディスーツ32件のデータ／UIはbyte一致。
- 完全版ZIPの全ファイル展開、および正規v7.1＋専用差分／正規v6.9.4＋専用差分の全ファイル展開を比較。
  両差分適用後の全ファイルが完全版とbyte一致することを配布前に検証。
- 実ブラウザーとAndroid実機での目視確認は未実施。この環境にはブラウザー本体がない。
  DOMイベント用fixtureに描画・レイアウトエンジンはなく、画面寸法の実測をしたとは扱わない。

【正規bundle SHA-256】
c3fbbf2c4dedf81b6aba4523faeaa1b44aec6d2dc3114fa00c2e4d5158c1ee57  builder_ui.section.attire.bundle.js
b1f94b2e8641ab6bfd0f6d7a17b04f268e12cce1c414ff70a8f3fe1ac6a4046d  builder_ui.section.camera.bundle.js
12562cf95321620cc3c9624e26c8859df1d798cd15eb7397f8c8747824efb813  builder_ui.section.lighting.bundle.js
408b6865d0ce7bdba30480dedd6615fd9630a2362337a1b7eafd68d04d0f2f94  builder_ui.section.effect.bundle.js
836702926f851f116c176c45ebad7a2315fcda3e3f4e4cba27f8bdb12a64cdd9  builder_ui.section.background.bundle.js
19f4ae705c37b7934d447899d15f4cfd4acccc9bcd217a7667221fabd02ccfb7  builder_ui.section.pose.bundle.js
c8724c731ebc984b64870f1af2735d3ba867200bfca5e789e70ed9bc6707470b  builder_ui.section.accessories.bundle.js
850fe09c18add7e023108ebd3cbd7b1a72d4c162e21291bcd6d6090aa1e5c0db  builder_ui.section.expression.bundle.js
