====================================================================
④のドリンクバーを動かした版（39257d16b68a）で、Unity の④を建て直して3回回し直した
依頼：20261027_11_店4のドリンクバーを動かして建て直す_やり直し.md
2026-10-27 21:55　check-in：cs:30（保留 0）／build_id cs30_20261027_2150
====================================================================

結論

  ・④は前回と同じコード・同じ規則で建て直した。④のためだけの手直しはしていない。
    卓 28・席 88、止まる位置 28 か所はすべて NavMesh の上、届かない卓 0、確かめ A も通った。
    道順・確かめ A の道の長さは前回（cs:29）と1本も変わらない。
  ・ドリンクバーの点（前・立つ点2つ・並ぶ点3つ）は、ロボット用・人用どちらの NavMesh にも乗った。
  ・受け渡し口の前のまわり（x 9.8〜13.6・y 2.9〜5.0）のロボットの地図のマスの種類は、前と数が同じ
    （0：3054／1：848／2：8866）。変わったのはその下（y 1.1〜2.5）で、前の版のドリンクバーの場所が
    「通れない（0）」から「ふだんの道（2）」になった。
  ・2台の回の 30 秒以上の止まりは 87 → 85 回（1往復あたり 1.036 → 1.164）。ほぼ変わらない。
    「もう1台のロボット・受け渡し口の前」は 15 → 17 回（④の夜の種0も 17 回）。減っていない。
  ・1台の回は悪くなった（止まり 15 → 27 回、入店待ち 6.65 → 8.79 分）。
    ただし前回と同じ版・同じ種でも、前回の確かめ（p2check2）と④の夜の種0とで数字がずれている
    （2台の入店待ち 16.34 と 15.30、1台の止まり 15 と 18）ので、1回ずつの差は回ごとの揺れと見分けられない。
  ・台帳は 361 → 364 行（3行を追記）。先頭 361 行の md5 は退避と同じ。
  ・make_queue.py は何も指定しないとき③⑦の60回のまま。本番の夜は回していない。


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

  1. Unity エディタ：起動していない（Unity Hub だけが起動していた）
  2. /Volumes/KIOXIA：マウントされている。unity_ledger_v1.lock：なし
  3. 台帳の md5：d019df2c3018fcb99b9e8bd4efde7e89（退避と同じ・どちらも 361 行）
  4. ServiceSim の保留：0（cs:29 head）。作業フォルダに queue_p2.json はなかった
     前回止めた回の残り：保留も、21:00 より後に書き換わった Assets・ProjectSettings・tools のファイルも
     なかったので、cm undo はしていない
  5. サイトの params の meta.layout_generation：39257d16b68a


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

  写し元：https://pixelstomotors.com/sim/（2026-10-27 21:46 に取得）
    控え：unity/site_copy_39257d16b68a/（params・summary.json・unity/ の6店の JSON と地図、README.txt）
  版の番号：params の layout_generation、summary.json の6店、6店の JSON と地図の meta.generation が
            すべて 39257d16b68a
  中身の比べ（前の版 25e420d53394 と）
    params：layout_generation だけが違う（site_result も同じ）
    summary.json：6店の generation だけが違う
    ③ p1・⑦ p5（と p0・p3・p4）：JSON は meta.generation だけ。地図はほどいた free_class・clear_mm が同じ
    ④ p2：ドリンクバー（places の DrinkBar と rooms の drink）の rect y 1.6〜2.2 → 0.0〜0.6、
          前の点と立つ点2つ y 2.6 → 1.0、並ぶ点 y 3.5/4.0/4.5 → 1.9/2.4/2.9
          地図のマスの数 2：55988 → 59723 / 1：18520 → 17745 / 0：251892 → 248932

  変えたファイル（cs:30 に入れたもの）
    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（写した日時の字だけ。版 39257d16b68a）
  プロジェクトに写したのは前回と同じ p1・p2・p5 の3店だけ（p0・p3・p4 は控えにだけ置いた）

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

  手で戻したもの（前回と同じ）
    建てて確かめる処理を回したら ProjectSettings/NavMeshAreas.asset と Mat_RobotKeepout.mat が
    書き直されたので cm undo で cs:29 に戻した（Mat は中身が同じだった）。どちらも check-in していない
  一時的に使ったもの
    ドリンクバーの点を NavMesh で確かめるための一時スクリプト（Editor/TmpP2DrinkCheck.cs）を置き、
    画面なしのエディタで JSON Store・Map Planner の確かめと一緒に呼んだ。終わってから消した。check-in していない
  screens の書き出し
    JSON Store の確かめと Build Store の書き出しは日付だけの名前なので、前回（20:03）の分を上書きする。
    前回の分は 20261027_cs29_2003_*（9 ファイル）として screens に残した


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

                         前回（25e420d53394）      今回（39257d16b68a）
  卓・席                  28・88 で一致             28・88 で一致（summary.json とも）
  止まる位置（NavMesh）    乗らない 0 / 28           乗らない 0 / 28
  道順（全区間つながる）   28 / 28                   28 / 28
    JSON の dist との差    平均 −0.13・最大 0.43 m   同じ（卓ごとの CSV も1字も同じ）
  席に入れない卓           0                         0
  場所の点                 乗らない 0                乗らない 0
  行き止まり               届かない卓 0              届かない卓 0（ロボット・人とも）
  NavMesh のつながらない面 0 m2                      0 m2
    ロボット用の面         66.36 m2                  67.74 m2
    人用の面               73.03 m2                  74.11 m2
  確かめ A                 引けない卓 0・狭い道 0    引けない卓 0・狭い道 0（サイトと一致）
                           長さの比 1.01/1.028/1.06  同じ。卓ごとの道の長さも同じ（変わったのは探す時間だけ）
    待機場所1・2           1.331 m・2.154 m          同じ
  A01 の人用の歩ける幅     0.68 m（0.12 m 足りない） 同じ（変わらず）
  通れない場所の NavMesh   ドリンクバー 0 m2         ドリンクバー（x 10.4〜12.4・y 0〜0.6）0 m2

  ドリンクバーの点（ロボット用・人用とも、0.2 m 以内に NavMesh があるか）
    ドリンクバーの前   (11.4, 1.0)  乗る／乗る
    立つ点 1・2        (10.9, 1.0)・(11.9, 1.0)  乗る／乗る
    並ぶ点 1・2・3     (11.4, 1.9)・(11.4, 2.4)・(11.4, 2.9)  乗る／乗る
    受け渡し口の前 (11.05, 4.45) からの人の道：前 3.47 m・立つ点 3.45／3.55 m・
      並ぶ点 2.57／2.08／1.59 m（どれも PathComplete）
    並ぶ点 3 (11.4, 2.9) は、受け渡し口の前から 1.59 m・y の差 1.55 m。
    前の版の並ぶ点 3 (11.4, 4.5) は受け渡し口の前とほぼ同じ高さだった

  ロボットの地図のマスの種類
    受け渡し口の前のまわり（x 9.8〜13.6・y 2.9〜5.0。この範囲のマスの数）
      前回：0 3054 / 1 848 / 2 8866　clear_mm 最大 1400
      今回：0 3054 / 1 848 / 2 8866　clear_mm 最大 2038
      → マスの種類は1マスも変わらない。下が空いたぶん、壁までの空き（clear_mm）だけが広がった
    その下（ドリンクバーのまわり、x 10.0〜12.8・y 0〜3.2）
      前回：0 8240 / 1 1469 / 2 4627
      今回：0 5280 / 1 776 / 2 8280
      前の版のドリンクバーの場所（x 10.4〜12.4・y 1.6〜2.2）：全部 0 → 全部 2
      新しいドリンクバーの場所（x 10.4〜12.4・y 0〜0.6）：0 1200・1 320・2 400 → 全部 0
      0.2 m ごとに見ると、前は y 1.3〜2.5 の帯が x 10.1 から右で 0（通れない）で、
      受け渡し口の前の下は x 9.9 の1列だけが 2 だった。
      今は y 1.1〜3.1 が x 9.9〜12.3 まで 2 でつながり（x 12.5 は 1）、x 10.1 より右の 0 は y 0.9 以下だけ
    ロボット用の NavMesh（0.2 m ごと）
      x 9.9〜13.3・y 0.9〜4.9 はすべて乗る（x 13.5 は y 2.9 より下で乗らない＝レジのそば）。
      乗らないのは y 0.7 以下の x 10.3〜12.3 あたり（新しいドリンクバー）と、壁ぎわの y 0.1 の行だけ

  回の中で（2台の回）
    ドリンクバーのまわり（x 10.0〜12.8・y 3.2 未満）での 30 秒以上の止まり：0（前回 0・夜の種0 0）
    受け渡し口の前のまわり（x 9.8〜13.6・y 2.9〜5.0）での 30 秒以上の止まり：
      今回 23 ／ 前回 19 ／ 夜の種0 17


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

  打ったコマンド（作業フォルダ ServiceSim で）
    python3 tools/make_queue.py --stores fam_p2 --seeds 0 --label p2check3 --out /tmp/p2c3/queue_p2check3.json
    python3 tools/night_runner.py --queue /tmp/p2c3/queue_p2check3.json --parallel 4 --night 20261027
      --label p2check3 --record-name 20261027_p2check3
  出力フォルダ   20261027_p2check3_cs30_fam_p2_r{0,1,2}_s0_passon
  記録          night/20261027_p2check3/（runner_log・runs.csv・queue.json・judge.md・judge.csv・logs/）
  runner        終了コード 0。completed 3・失敗 0。実時間 3.0 / 3.2 / 4.0 分
  judge.md      基準なし 3（④の基準データはないので判定していない）

  書き方：今回 Unity（cs:30）／ 前回 Unity（cs:29・p2check2）／ 試算（site_result）。単位は分。割合は 0〜1
                              0台                    1台                    2台
  最後まで回ったか            completed／completed    completed／completed    completed／completed
  全員帰ったか                はい／はい             はい／はい             はい／はい
  （参考）店の時間            192.6／192.8           198.1／189.2           239.8／216.3
  入れた組の数                48／48／55.95          48／48／54.30          48／48／55.30
  入店待ち                    6.41／6.61／10.39      8.79／6.65／2.93       20.74／16.34／3.46
   うち席は空いているのに待った 5.27／5.46／8.37      7.51／5.38／2.01       19.49／15.04／1.99
  料理の待ち                  1.26／1.32／0.88       2.65／1.67／1.28       4.02／2.93／0.47
  会計待ち                    1.48／1.59／4.20       3.26／2.35／4.91       3.22／2.81／5.25
  ロボットが運んだ皿の割合    0／0／0                0.825／0.900／0.956    0.817／0.925／1.000
  往復の数                    0／0                   66／80                 73／84
  30秒以上の止まり            0／0                   27／15                 85／87
   （1往復あたり）            0／0                   0.409／0.188           1.164／1.036
  動けなくなった（60秒）      0／0                   24／12                 66／65
  卓を空けた（逃がし弁）      0／0                   0／0                   1／1
  瞬間移動                    0／0                   30／15                 32／33
  打ち切り                    0／0                   2／0                   16／14
  （参考）あきらめた          0／0                   39／19                 80／77
  （参考）冷めた皿の割合      0.033／0.050／0.003    0.258／0.158／0.039    0.425／0.317／0
  （参考）卓が使えるまで      22.9／22.9／16.8       23.2／20.0／5.2        36.1／33.4／4.9

  試算の値は前回と同じ（params の site_result は変わっていない）。

  （参考）同じ版 cs:29・同じ種0の、④の夜（20261030_p2）の回
                              0台      1台      2台
    入店待ち                  6.61     7.78     15.30
    料理の待ち                1.29     1.90     3.87
    往復の数                  0        80       78
    30秒以上の止まり          0        18       87
    動けなくなった            0        13       67
    瞬間移動                  0        23       29
    打ち切り                  0        0        15
  → 前回の確かめと同じ版・同じ種でも数字がずれる。今回と前回の差（とくに1台の回）が
    ドリンクバーを動かしたせいかどうかは、1回ずつでは見分けられない。差の理由は調べていない。


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

  数え方は前回と同じ（stops.csv の duration_s が 30 秒以上の行。場所は止まった点の座標）
    受け渡し口の前：x 9.8 m 以上
    下の列        ：x 9.8 m 未満で y 2.9 m 未満
    左の列        ：x 3.0 m 未満で y 2.9 m 以上
    上の列        ：y 8.5 m 以上
    その他        ：残り（真ん中の通路）
  この数え方で前回 p2check2 を数え直し、87 回・理由ごと・場所ごとが前回の報告と同じになることを確かめた。

  並びは 今回（p2check3）／ 前回（p2check2）／ ④の夜の種0（20261030_p2・r2_s0）
  往復の数                       73 ／ 84 ／ 78

  理由ごと
    もう1台のロボット           36 ／ 44 ／ 36
    人が立ち止まっていた        28 ／ 23 ／ 29
    スタッフとすれ違った        15 ／ 12 ／ 16
    お客さんとすれ違った         5 ／  4 ／  5
    椅子・荷物・ベビーカー       1 ／  4 ／  1
    分からない                   0 ／  0 ／  0
    合わせて                    85 ／ 87 ／ 87

  場所ごと
    受け渡し口の前              26 ／ 19 ／ 23
    下の列                      25 ／ 50 ／ 28
    左の列                      28 ／ 15 ／ 24
    その他（真ん中の通路）       5 ／  3 ／ 12
    上の列                       1 ／  0 ／  0

  理由×場所（多いもの）
    もう1台のロボット・受け渡し口の前     17 ／ 15 ／ 17
    もう1台のロボット・左の列             12 ／  9 ／ 14
    人が立ち止まっていた・下の列          12 ／ 19 ／ 17
    人が立ち止まっていた・左の列          10 ／  1 ／  5
    スタッフとすれ違った・下の列           6 ／  6 ／  4
    もう1台のロボット・下の列              5 ／ 20 ／  4
    スタッフとすれ違った・受け渡し口の前   5 ／  3 ／  6
    人が立ち止まっていた・受け渡し口の前   4 ／  1 ／  0
    スタッフとすれ違った・左の列           4 ／  3 ／  3
    お客さんとすれ違った・下の列           2 ／  2 ／  3
    人が立ち止まっていた・その他           1 ／  2 ／  7
    椅子など・下の列                       0 ／  3 ／  0

  受け渡し口の前の止まり 26 回は、すべて y 2.9 以上（受け渡し口の前のまわり x 9.8〜13.6・y 2.9〜5.0 の中は 23 回）。
  ドリンクバーのまわり（y 3.2 未満・x 10.0〜12.8）の止まりは 0。


====================================================================
6. 台帳
====================================================================

  行数：361 → 364（3 行足した。追記だけ。版 cs:30・店の形の版 39257d16b68a）
  先頭 361 行の md5：d019df2c3018fcb99b9e8bd4efde7e89（退避と同じ）
  鍵ファイルは残っていない


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

  python3 tools/make_queue.py --out /tmp/p2c3/q_default.json
    → 条件 6（fam_p1・fam_p5 × 0・1・2 台）× 種 0〜9 ＝ 60 回・すれ違い入 60
    → v4 の夜の night/20261029/queue.json と runs が並び順まで同じ
      （違うのは queue の layout_generation の字と stores の欄だけ）
  プロジェクトの queue.json（③⑦の60回）は触っていない（md5 07f2acccf5b13abbf1a96148fbc70e9f のまま）


====================================================================
8. 一時ファイル
====================================================================

  queue は作業フォルダの外（/tmp/p2c3/queue_p2check3.json）に作った。
  night/20261027_p2check3/queue.json と中身が同じ（cmp で一致）。作業フォルダに queue の一時ファイルはない。
  最後の保留：0（cs:30 head）


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

  1. ドリンクバーを動かしても、2台の回の「もう1台のロボット・受け渡し口の前」は減らなかった
     （今回 17・前回 15・夜の種0 17）。受け渡し口の前のまわりのロボットの地図のマスの種類も前と同じ。
     この先、受け渡し口の前の止まりをどう扱うか（ほかの直し方を考えるか、このまま④の夜を回すか）。
  2. 1台の回は今回のほうが悪かったが、同じ版・同じ種でも回ごとに数字がずれるため、1回では判断できない。
     ④の夜（種10個）を cs:30 で回し直して比べるかどうか。
  3. 入れた組の数は今回も3回とも 48 組で、試算（54〜56 組）より少ない（前回からの持ち越し）。
