# SHIMA UI STARTUP CONSISTENCY FIX v6.4.1 CHANGELOG

## 症状

- Androidの同じ完全版でも、初回読み込み時に下部が `棚／出力` の2表示になり、`選択中` が現れないことがある。
- 同じ不調時には `SHIMA START DECK` と `制作航路` も現れない。
- ローダー表示は `成功101／失敗0`、`Manifest loading complete` まで進むため、画面上は成功に見える。

## 原因

- `ext_zero_assist.v1.js` と `ext_shima_navigation.v1.js` はHTML末尾から直接読まれ、Manifestの成功・失敗集計外だった。
- ZERO Assistだけ成功し、シマナビのscript requestだけが取りこぼされると、ZERO Assist所有の `棚／出力` は出るが、シマナビ所有の `選択中`、START DECK、制作航路はまとめて欠ける。
- 旧完全性監視は既存の `#mini-ui-fixed` に接続した後で監視を終了するため、footer自体の後発差し替えや開始デッキ側の欠損を回収できなかった。
- `state.mounted` 後の健康判定はSTART DECKと制作航路の外箱IDだけを見ており、途中生成された不完全な箱を完成扱いする余地があった。

## 修正

- `ext_manifest.v1.js` / `ext_manifest.v2.js`
  - ZERO Assistとシマナビを末尾へ追加し、直読みが落ちてもManifestの再試行経路から取得する。
  - 読み順は必ず ZERO Assist → シマナビ。
- `ext_manifest_loader.v1.js`
  - 3表示、2 API、2ソース、ZERO toolbar、選択トレイ、START DECK、制作航路、2カウンターの13条件を起動契約にする。
  - 欠けたhelper sourceを再取得し、両APIへ再水和を要求する。
  - 完成後4秒、欠損中1.2秒の軽量heartbeatを継続する。
  - `pageshow` と表示復帰でも即時再検査する。
- `ext_zero_assist.v1.js`
  - UI APIを1.3.0へ更新。
  - footer rootが差し替わった時、古いObserverを解除して新rootへ接続する。
  - mounted後もtoolbar、選択トレイ、dialog、固定ナビの内部まで再水和する。
- `ext_shima_navigation.v1.js`
  - UI APIを1.3.0へ更新。
  - START DECK／制作航路の内部構造まで健康判定する。
  - 不完全な案内UIだけを再構築し、prompt inputや選択状態へ触れない。
  - 開始デッキ側の専用Observerと2.8秒heartbeatを追加する。
  - footer rootの差し替えと、既存の選択中buttonに欠けた属性・countを再水和する。

## 維持

- 世界祭典72背景、参加案216、祭典部品147、観光背景480、完成表情120、意味的ブースト744、食棚11・1,999項目は変更なし。
- checkbox、prompt、stable ID、checked、Positive／Negative、履歴、お気に入り、マイプリセット、リセット、R-18境界は変更なし。
- 初期closed、一列表示、直チェック、制作航路の非選択案内を維持。

## 検証

- JavaScript構文：5 / 5合格。
- 起動ガード専用：15 / 15合格。
- 全回帰：408 / 408合格。
- 直読みのシマナビを意図的に1回失敗：Manifest再取得1、失敗0、最終3表示、START DECK、制作航路、両APIあり。
- 完成後に `選択中` とSTART DECKを同時削除：3.2秒以内に両方復旧、3表示、deck 1、固定nav 1、重複0。

