====================================================================
④の店の形を直した版（25e420d53394）で、Unity の④を建て直して3回回し直した
依頼：20261027_08_店4を建て直す_やり直し.md
2026-10-27 20:09　check-in：cs:29（保留 0）／build_id cs29_20261027_2004
====================================================================

結論

  ・④は前回と同じコード・同じ規則で建て直した。④のためだけの手直しはしていない。
    卓 28・席 88、止まる位置 28 か所はすべて NavMesh の上、届かない卓 0、確かめ A も通った。
  ・左下の隙間（左の壁ぞい、x 0〜1.4 m・y 1.8〜3.2 m）は、前はロボットの地図で
    ほぼ全部が「通れない（0）」だったのが、今は「ふだんの道（2）」と「通れる幅だけ（1）」になり、
    ロボット用の NavMesh にも乗った。受け渡し口から隙間まで道が引ける（約 10.9 m）。
  ・2台の回の 30 秒以上の止まりは 143 → 87 回（1往復あたり 1.857 → 1.036）、
    動けなくなった 116 → 65、瞬間移動 74 → 33、打ち切り 18 → 14、卓を空けた 2 → 1。
    入店待ちは 29.45 → 16.34 分。試算（3.46 分）にはまだ遠い。
  ・1台の回も止まりが減った（27 → 15 回、入店待ち 12.70 → 6.65 分）。
  ・台帳は 328 → 331 行（3行を追記）。先頭 328 行の md5 は退避と同じ。
  ・make_queue.py は何も指定しないとき③⑦の60回のまま。本番の夜は回していない。


====================================================================
1. 始める前の確かめ（5つとも合格。20:00 時点）
====================================================================

  1. Unity エディタ：起動していない（Unity Hub だけが起動していた）
  2. /Volumes/KIOXIA：マウントされている。unity_ledger_v1.lock：なし
  3. 台帳の md5：ce05588198bca70278a439aa092acf04（退避と同じ・どちらも 328 行）
  4. ServiceSim の保留：0（cs:28 head）
  5. サイトの params の meta.layout_generation：25e420d53394（1回目で新しい版だった）


====================================================================
2. 写したもの・入れたもの（cs:29）
====================================================================

  写し元：https://pixelstomotors.com/sim/（2026-10-27 20:00 に取得）
    控え：unity/site_copy_25e420d53394/（params・summary.json・unity/ の6店の JSON と地図、README.txt）
  版の番号：params の layout_generation、6店の JSON と地図の meta.generation がすべて 25e420d53394
  中身の比べ（前の版 8a5b2f6a016a と）
    ③ p1・⑦ p5：JSON は meta.generation だけが違う。地図は圧縮のバイトが違うだけで、
                 ほどいた free_class・clear_mm は同じ（counts も同じ）
    ④ p2：T01〜T05 の y が +1.0 m（止まる位置も上へ）。地図のマスの数
          2：56518 → 55988 / 1：18218 → 18520 / 0：251664 → 251892
    params：layout_generation と、stores.fam_p2 の dist_list（T01〜T05）・dist_m、
            unity_conditions の④3条件（6・7・8）の site_result だけが違う。③⑦の6条件・common は同じ
  ③⑦の .asset：版の番号の確かめは JSON の meta.generation を見ているので止まらなかった。
            .asset は変えていない（形も写した日時の字も前のまま）

  変えたファイル（cs:29 に入れたもの）
    Assets/ServiceSim/Experiment/serving-robot-params.json
    Assets/ServiceSim/Store/Layouts/p1_efficient_corner.json / p1_efficient_corner_map.json
    Assets/ServiceSim/Store/Layouts/p2_efficient_narrow.json / p2_efficient_narrow_map.json
    Assets/ServiceSim/Store/Layouts/p5_crammed.json / p5_crammed_map.json
    Assets/ServiceSim/Store/Layouts/summary.json
    Assets/ServiceSim/Store/StoreLayout_p2_efficient_narrow.asset（写した日時の字だけ。版 25e420d53394）
  プロジェクトに写したのは、プロジェクトにある p1・p2・p5 の3店だけ。
    p0・p3・p4 は控えにだけ置いた（プロジェクトに足していない）

  画面なしの実行ファイル
    build_id cs29_20261027_2004 / unity_cs ServiceSim/cs:29 / pending_changes 空（保留なし）
    Build Finished, Result: Success・error CS 0。作ったあとも保留 0

  手で戻したもの（前回と同じ）
    建てて確かめる処理を回したら ProjectSettings/NavMeshAreas.asset と Mat_RobotKeepout.mat が
    書き直されたので cm undo で cs:28 に戻した（Mat は中身が同じだった）。どちらも check-in していない
  一時的に使ったもの
    隙間を NavMesh で確かめるための一時スクリプト（Editor/TmpP2GapCheck.cs）を置き、
    画面なしのエディタで JSON Store・Map Planner の確かめと一緒に呼んだ。終わってから消した。
    check-in していない


====================================================================
3. ④を建て直して分かったこと（前回 cs:28 との比べ）
====================================================================

                         前回（8a5b2f6a016a）      今回（25e420d53394）
  卓・席                  28・88 で一致             28・88 で一致（summary.json とも）
  止まる位置（NavMesh）    乗らない 0 / 28           乗らない 0 / 28
  道順（全区間つながる）   28 / 28                   28 / 28
    JSON の dist との差    平均 −0.12・最大 0.43 m   平均 −0.13・最大 0.43 m（T06）／30%超 0
  席に入れない卓           0                         0
  場所の点                 乗らない 0                乗らない 0
  行き止まり               届かない卓 0              届かない卓 0（ロボット・人とも）
  NavMesh のつながらない面 0 m2                      0 m2（ロボット用 66.36 m2・人用 73.03 m2）
  確かめ A                 引けない卓 0・狭い道 0    引けない卓 0・狭い道 0（サイトと一致）
                                                     長さの比 最小 1.01・平均 1.028・最大 1.06
    T01〜T05 の道の長さ    —                         T01 9.82→10.76 m など、上へずれた分だけ延びた
  A01 の人用の歩ける幅     0.68 m（0.12 m 足りない） 同じ（変わらず）

  左下の隙間（x 0〜1.4 m・y 1.8〜3.2 m）
    ロボットの地図のマスの種類（この範囲のマスの数）
      前回：0（通れない）3046 / 1（通れる幅だけ）34 / 2（ふだんの道）0　clear_mm 最大 388
      今回：0 1495 / 1 381 / 2 1204　clear_mm 最大 878
      0.2 m ごとに見ると、y 2.0〜2.6 の帯が左の壁ぎわ（x 0.4）から左の列の通路（x 2.1 付近）まで
      2 でつながった。その下の角（x 0.4〜1.2・y 0.4〜1.8）は前から 2 だったが、
      前は周りが 0 で囲まれていて、つながっていなかった。今はつながった
    ロボット用の NavMesh
      今回：x 0.2〜1.4・y 0.2〜2.8 がほぼ全部乗る（0.2 m ごとの点で確かめた）
      受け渡し口 → (0.8, 2.4)：道が引けた（PathComplete・10.91 m）
      受け渡し口 → (1.0, 2.2)：引けた（10.72 m）／ → (0.8, 1.2)：引けた（11.37 m）
    回の中で使われたか（2台の回）
      ロボットの軌跡が隙間に入ったのは 3 点（2 回の時間帯・どれも「卓へ」）。前回は 0
      隙間の中での止まりの記録は 34 件、そのうち 30 秒以上は 0


====================================================================
4. ③⑦の確かめ A（建て直していない）
====================================================================

  ③：狭い道 0 卓（サイト 0）・引けない卓 0 / 42・長さの比 0.959 / 1.018 / 1.057・待機場所3つとも引けた
  ⑦：狭い道 24 卓（サイト 24）・引けない卓 0 / 42・長さの比 0.959 / 1.037 / 1.227・待機場所3つとも引けた
  → ③⑦とも通った。地図の中身（ほどいたもの）も道を引くコードも cs:28 と同じなので、結果は前と同じ。
    ※ 書き出しが残っている③⑦の確かめ A は 2026-10-24（v9・古い地図でマスの数が違う）のものしかなく、
      それと比べると、合否・狭い道の卓数・引けない卓数は同じ。長さの比の平均が③で 1.019 → 1.018、
      卓ごとの道の長さが数 cm 違う（地図の版が違うため）
  書き出し：screens/20261027_2003_map_planner_checkA.txt・_map_plan_p1/p5 の CSV


====================================================================
5. 確かめの3回（④・種0・すれ違い入・ラベル p2check2・同時 4 本の設定で 3 本）
====================================================================

  出力フォルダ   20261027_p2check2_cs29_fam_p2_r{0,1,2}_s0_passon
  記録          night/20261027_p2check2/（runner_log・runs.csv・queue.json・judge.md）
  runner        終了コード 0。completed 3・失敗 0。実時間 2.8 / 2.9 / 3.7 分
  judge.md      基準なし 3（④の基準データはないので判定していない）

  書き方：今回 Unity ／ 前回 Unity（cs:28）／ 試算（新しい site_result）。単位は分。割合は 0〜1
                              0台                    1台                    2台
  最後まで回ったか            completed／completed    completed／completed    completed／completed
  全員帰ったか                はい／はい             はい／はい             はい／はい
  （参考）店の時間            192.8／193.6           189.2／206.5           216.3／285.9
  入れた組の数                48／48／55.95          48／48／54.30          48／48／55.30
  入店待ち                    6.61／6.31／10.39      6.65／12.70／2.93      16.34／29.45／3.46
   うち席は空いているのに待った 5.46／5.17／8.37      5.38／11.39／2.01      15.04／27.82／1.99
  料理の待ち                  1.32／1.32／0.88       1.67／2.11／1.28       2.93／5.19／0.47
  会計待ち                    1.59／1.80／4.20       2.35／1.89／4.91       2.81／3.69／5.25
  ロボットが運んだ皿の割合    0／0／0                0.900／0.858／0.956    0.925／0.833／1.000
  往復の数                    0／0                   80／77                 84／77
  30秒以上の止まり            0／0                   15／27                 87／143
   （1往復あたり）            0／0                   0.188／0.351           1.036／1.857
  動けなくなった（60秒）      0／0                   12／22                 65／116
  卓を空けた（逃がし弁）      0／0                   0／0                   1／2
  瞬間移動                    0／0                   15／21                 33／74
  打ち切り                    0／0                   0／0                   14／18
  （参考）あきらめた          0／0                   19／39                 77／166
  （参考）冷めた皿の割合      0.050／0.042／0.003    0.158／0.267／0.039    0.317／0.550／0
  （参考）卓が使えるまで      22.9／22.9／16.8       20.0／26.1／5.2        33.4／63.6／4.9

  前回の試算の値（参考）：入店待ち 9.72 / 3.37 / 3.17、組 56.1 / 56.3 / 54.6
  差の理由は調べていない（依頼のとおり）。


====================================================================
6. 2台の回の 30 秒以上の止まり（理由ごと・場所ごと）
====================================================================

  数え方：stops.csv の duration_s が 30 秒以上の行。場所は止まった点（JSON の座標）で分けた
    受け渡し口の前：x 9.8 m 以上
    下の列        ：x 9.8 m 未満で y 2.9 m 未満（T24〜T28 の前の通路。左下の角もここ）
    左の列        ：x 3.0 m 未満で y 2.9 m 以上（T01〜T05・T12〜T14 の前の通路）
    上の列        ：y 8.5 m 以上（T06〜T11 の前の通路）
    その他        ：残り（真ん中の通路 x 5.8 m・x 9.5 m のあたり）

  理由ごと                  前回（cs:28）  今回（cs:29）
    もう1台のロボット           57            44
    人が立ち止まっていた        38            23
    スタッフとすれ違った        29            12
    椅子・荷物・ベビーカー      11             4
    お客さんとすれ違った         7             4
    分からない                   1             0
    合わせて                   143            87

  場所ごと                  前回          今回
    左の列                      32            15
    上の列                       2             0
    下の列                      75            50
    受け渡し口の前              27            19
    その他（真ん中の通路）       7             3

  理由×場所（多いもの）      前回          今回
    もう1台のロボット・下の列     32            20
    人が立ち止まっていた・下の列  25            19
    もう1台のロボット・受け渡し口 15            15
    もう1台のロボット・左の列     10             9
    スタッフとすれ違った・下の列  10             6
    椅子など・左の列               9             1
    スタッフとすれ違った・左の列   9             3


====================================================================
7. 台帳
====================================================================

  行数：328 → 331（3 行足した。追記だけ。版 cs:29・店の形の版 25e420d53394）
  先頭 328 行の md5：ce05588198bca70278a439aa092acf04（退避と同じ）
  鍵ファイルは残っていない


====================================================================
8. 何も指定しないときに③⑦の60回のままか（台帳には書いていない）
====================================================================

  python3 tools/make_queue.py --out /tmp/p2logs/q_default.json
    → 条件 6（fam_p1・fam_p5 × 0・1・2 台）× 種 0〜9 ＝ 60 回・すれ違い入 60
    → v4 の夜の night/20261029/queue.json と runs が並び順まで同じ
      （違うのは queue の layout_generation の字だけ：8a5b2f6a016a → 25e420d53394）


====================================================================
9. 決めてほしいこと
====================================================================

  1. ④の夜を回すかどうか。2台の回の止まりは減ったが（1往復あたり 1.86 → 1.04）、
     入店待ちは 16.3 分で試算の 3.5 分とまだ大きく離れている。
  2. 入れた組の数は今回も3回とも 48 組で、試算（54〜56 組）より少ない（前回からの持ち越し）。
     調べるかどうか。
  3. プロジェクトに写したのは、使っている p1・p2・p5 の3店だけ（p0・p3・p4 は控えにだけ置いた）。
     6店ともプロジェクトに入れるべきなら言ってください。
