SHIMA BUILDER v5 — CHANNEL FILTER FREEZE FIX v2.8
更新日: 2026-07-19

■ 修正した問題
- 「出力先で探す」の全部／POS／NEGを押すと、表示が切り替わらないように見える問題を修正。
- 切替後に中身のない棚や大きな空白が残る問題を修正。
- 出力先ボタンを続けて押すと、Androidブラウザがフリーズする問題を修正。

■ 原因
- 出力先を1回切り替えるたび、検索欄が空でも約27,322項目の文字検索を再発火していた。
- 本体検索が「棚→子棚→全ラベル」を重ねて走査し、同じ項目を何度も判定していた。
- 個々の項目だけを非表示にして親棚を残し、多数の棚を自動展開していた。

■ 修正内容
- 起動時にPositive／Negativeの所属と棚経路を一度だけ索引化。
- 空検索の全部／POS／NEGは、索引とCSSによる棚表示だけを切り替える方式へ変更。
- NEG表示ではNEG項目を含む棚経路だけを開き、POS表示ではNEG専用棚を隠す。
- 文字が入力されている場合だけ本体検索を再実行し、連打時は古い予約を破棄。
- 文字検索は全ラベルを1回だけ調べ、該当する親棚をまとめて反映する方式へ変更。
- 選択中ボタンはaria-pressedでも強調し、描画遅延時の見分けを安定化。

■ 検証
- 実件数相当: Positive 27,283件／Negative 39件／合計27,322件。
- 旧処理は1回のPOS切替が60秒以上完了せず停止。新処理は6回連打の最遅約2.47ms。
- 空検索での余計な検索イベント0、NEG表示時の空棚0、最後の選択状態への同期を確認。
- 静的回帰テスト61件合格。
- 通常検索、同語ジャンプ、POS/NEG分離、セット試着、分解、履歴、マイプリセット、品質レシピ、リセットの通し試験に合格。
