commit de01a0ed250eeb3c6bb94397760dd53d3dbdbb71
Author: Claude <noreply@anthropic.com>
Date:   Sat Nov 7 15:18:13 2026 +0900

    ⑧の待機点を元の1列に戻し、待機点へまっすぐ入る決まり（standby_straight_entry・既定は切）を足す

2列の形（18d23fe）は Unity で奥の列へ台が戻れなかったため、2026-11-07 エイイチの (2) で、店の形は元の1列（large-99db3254b08b）に戻し、
⑧の試算もページ・params とも元の値に戻した。止まり合いは入り方の決まりで直す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LevEXUFMhag721ag4sz8Jz


 public/sim/layouts/large/p6_large_center.json      |    50 +-
 .../layouts/large/p6_large_center_analysis.json    |    92 +-
 public/sim/layouts/large/p7_large_b.json           |     2 +-
 public/sim/layouts/large/p7_large_b_analysis.json  |     2 +-
 public/sim/layouts/large/summary.json              |     8 +-
 .../sim/layouts/large/unity/p6_large_center.json   | 14650 +++++++++----------
 .../layouts/large/unity/p6_large_center_map.json   |     2 +-
 public/sim/layouts/large/unity/p7_large_b.json     |     2 +-
 public/sim/layouts/large/unity/p7_large_b_map.json |     2 +-
 public/sim/serving-robot-params.json               |   874 +-
 public/sim/serving-robot.html                      |     5 +-
 tools/serving_sim/build_page_large.py              |     2 -
 tools/sim_layouts/README.md                        |     2 +-
 tools/sim_layouts/famires_v3.py                    |    14 +-
 tools/sim_layouts/large_store.py                   |    12 -
 15 files changed, 7521 insertions(+), 8198 deletions(-)
commit de01a0ed250eeb3c6bb94397760dd53d3dbdbb71
Author: Claude <noreply@anthropic.com>
Date:   Sat Nov 7 15:18:13 2026 +0900

    ⑧の待機点を元の1列に戻し、待機点へまっすぐ入る決まり（standby_straight_entry・既定は切）を足す
    
    2列の形（18d23fe）は Unity で奥の列へ台が戻れなかったため、2026-11-07 エイイチの (2) で、店の形は元の1列（large-99db3254b08b）に戻し、
    ⑧の試算もページ・params とも元の値に戻した。止まり合いは入り方の決まりで直す。
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01LevEXUFMhag721ag4sz8Jz

diff --git a/public/sim/serving-robot-params.json b/public/sim/serving-robot-params.json
index 3d1fb7e..153328e 100644
--- a/public/sim/serving-robot-params.json
+++ b/public/sim/serving-robot-params.json
@@ -5,7 +5,7 @@
   "reps": 40,
   "ng_min": 10,
   "layout_generation": "9b8dae7ebf8c",
-  "layout_generation_large": "large-b13cd179e6bf",
+  "layout_generation_large": "large-99db3254b08b",
   "layout_dirs": {
    "fam_": "public/sim/layouts/（unity/ に建てるための形）",
    "large_": "public/sim/layouts/large/（unity/ に建てるための形。2026-11-02 に足した大型店⑧⑨）"
@@ -430,6 +430,12 @@
    "value": false,
    "role": "site_rule",
    "note": "（切）待機点を台ごとに決めず、列で使う（2026-11-07 エイイチと決めた。⑧で今のままと比べる）。店の形の RobotStandby は、受け渡し口に近い順に1番から並べる。次の往復に出るのは、待機している台のうち受け渡し口に一番近い台。往復を終えて戻る台は、待機している台より受け渡し口に近い側の空いている待機点のうち、一番遠い所（いる台のすぐ手前）へ入る。待機している台がいなければ一番遠い待機点へ入る。こうすると、出る台も戻る台も、待機している台の前を通らない。店の形（待機点の位置と数）は変えない。試算の数字は変わらない"
+  },
+  "standby_straight_entry": {
+   "value": false,
+   "role": "site_rule",
+   "entry_back_m": 1.0,
+   "note": "（切）待機点へ戻るロボットは、待機点の真正面（壁から離れる向き）に entry_back_m（1.0m）下がった「入る点」まで来てから、待機点へまっすぐ入る。出るときも、入る点までまっすぐ下がってから向きを変える（2026-11-07 エイイチと決めた。⑧で今のままと比べる）。待機点の間が0.8mの1列では、斜めに寄ると前のセンサー（中心から0.85m）に隣の待機点の台が入って止まり合っていたため。待機点の間を広げる案は、受け渡し口の前と右の卓へ上がる道があって⑧では1.1mまでしか取れず、2列の案は手前の列のすき間で台が戻れなかったので、店の形は変えず、入り方の決まりで直す。入る点がほかの台・人でふさがっていたら、入る点の手前で待つ。店の形と試算の数字は変わらない"
   }
  },
  "stores": {
@@ -1029,7 +1035,7 @@
    "tables": 70,
    "dist_m": [
     6.9,
-    21.4
+    22.0
    ],
    "peak_min": 120,
    "first_dishes": [
@@ -1123,32 +1129,32 @@
     19.07,
     19.37,
     21.22,
-    21.38,
-    19.53,
-    17.68,
-    17.08,
+    21.97,
+    20.12,
+    18.27,
+    17.66,
     15.47,
     17.32,
-    17.18,
-    15.33,
-    13.48,
+    17.77,
+    15.92,
+    14.07,
     19.43,
     21.28,
-    21.14,
-    19.29,
-    17.44,
-    9.81,
-    9.04,
-    8.35,
+    21.73,
+    19.88,
+    18.03,
+    9.46,
+    8.69,
+    7.93,
     7.23,
-    7.44,
+    7.66,
     15.38,
     17.23,
-    17.09,
-    15.24,
-    13.39,
-    16.38,
-    17.15,
+    17.68,
+    15.83,
+    13.98,
+    16.97,
+    17.74,
     10.52,
     11.28,
     12.27,
@@ -4454,13 +4460,13 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.5612,
-    "dish_wait_p90": 1.1555,
-    "cold_share": 0.0002,
-    "seat_wait_mean": 7.7119,
-    "turn_mean": 3.6546,
-    "walk_km_per_staff": 4.3528,
-    "staff_util": 0.671,
+    "dish_wait_mean": 0.5945,
+    "dish_wait_p90": 1.2434,
+    "cold_share": 0.0001,
+    "seat_wait_mean": 7.0762,
+    "turn_mean": 3.8446,
+    "walk_km_per_staff": 4.3531,
+    "staff_util": 0.6728,
     "robot_util": 0.0,
     "robot_share": 0.0,
     "robot_bus_share": 0.0,
@@ -4468,13 +4474,13 @@
     "rescues": 0,
     "pauses": 0,
     "fragile_robot": 0,
-    "groups": 138.975,
-    "entry_wait_mean": 8.24,
-    "blocked_wait_mean": 1.6557,
-    "guide_wait_mean": 0.2706,
-    "staff_wait_mean": 1.9263,
-    "full_wait_mean": 6.0563,
-    "pay_wait_mean": 33.6306
+    "groups": 137.95,
+    "entry_wait_mean": 7.6329,
+    "blocked_wait_mean": 1.7186,
+    "guide_wait_mean": 0.2974,
+    "staff_wait_mean": 2.016,
+    "full_wait_mean": 5.3576,
+    "pay_wait_mean": 33.4507
    }
   },
   {
@@ -4489,27 +4495,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.352,
-    "dish_wait_p90": 3.1438,
-    "cold_share": 0.1375,
-    "seat_wait_mean": 8.6567,
-    "turn_mean": 2.518,
-    "walk_km_per_staff": 3.552,
-    "staff_util": 0.5942,
-    "robot_util": 0.672,
-    "robot_share": 0.5104,
+    "dish_wait_mean": 2.3446,
+    "dish_wait_p90": 3.125,
+    "cold_share": 0.1341,
+    "seat_wait_mean": 5.9739,
+    "turn_mean": 2.5357,
+    "walk_km_per_staff": 3.4071,
+    "staff_util": 0.5897,
+    "robot_util": 0.661,
+    "robot_share": 0.5048,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 1,
-    "pauses": 22.8,
-    "fragile_robot": 39.3,
-    "groups": 141.875,
-    "entry_wait_mean": 9.0055,
-    "blocked_wait_mean": 0.9619,
-    "guide_wait_mean": 0.0899,
-    "staff_wait_mean": 1.0518,
-    "full_wait_mean": 7.6948,
-    "pay_wait_mean": 35.5143
+    "rescues": 0.75,
+    "pauses": 20.2,
+    "fragile_robot": 37.6,
+    "groups": 135.35,
+    "entry_wait_mean": 6.3214,
+    "blocked_wait_mean": 0.8027,
+    "guide_wait_mean": 0.0876,
+    "staff_wait_mean": 0.8903,
+    "full_wait_mean": 5.1712,
+    "pay_wait_mean": 33.9434
    }
   },
   {
@@ -4524,27 +4530,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.8581,
-    "dish_wait_p90": 2.9396,
-    "cold_share": 0.0905,
-    "seat_wait_mean": 6.9812,
-    "turn_mean": 2.4111,
-    "walk_km_per_staff": 2.8138,
-    "staff_util": 0.537,
-    "robot_util": 0.6085,
-    "robot_share": 0.8609,
+    "dish_wait_mean": 1.8623,
+    "dish_wait_p90": 2.9531,
+    "cold_share": 0.0949,
+    "seat_wait_mean": 6.9302,
+    "turn_mean": 2.4288,
+    "walk_km_per_staff": 2.859,
+    "staff_util": 0.5405,
+    "robot_util": 0.6115,
+    "robot_share": 0.8664,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 1.125,
-    "pauses": 44.7,
-    "fragile_robot": 61,
-    "groups": 138.625,
-    "entry_wait_mean": 7.278,
-    "blocked_wait_mean": 0.8318,
-    "guide_wait_mean": 0.0393,
-    "staff_wait_mean": 0.871,
-    "full_wait_mean": 6.1494,
-    "pay_wait_mean": 34.7543
+    "rescues": 1.5,
+    "pauses": 44.35,
+    "fragile_robot": 60.125,
+    "groups": 138.85,
+    "entry_wait_mean": 7.2357,
+    "blocked_wait_mean": 0.826,
+    "guide_wait_mean": 0.0446,
+    "staff_wait_mean": 0.8707,
+    "full_wait_mean": 6.1042,
+    "pay_wait_mean": 34.9124
    }
   },
   {
@@ -4559,13 +4565,13 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.4927,
-    "dish_wait_p90": 0.9757,
-    "cold_share": 0.0001,
-    "seat_wait_mean": 0.1662,
-    "turn_mean": 3.2174,
-    "walk_km_per_staff": 3.2802,
-    "staff_util": 0.627,
+    "dish_wait_mean": 0.4654,
+    "dish_wait_p90": 0.907,
+    "cold_share": 0.0,
+    "seat_wait_mean": 0.0422,
+    "turn_mean": 2.9786,
+    "walk_km_per_staff": 3.2205,
+    "staff_util": 0.6232,
     "robot_util": 0.0,
     "robot_share": 0.0,
     "robot_bus_share": 0.0,
@@ -4573,13 +4579,13 @@
     "rescues": 0,
     "pauses": 0,
     "fragile_robot": 0,
-    "groups": 104.075,
-    "entry_wait_mean": 0.6291,
-    "blocked_wait_mean": 0.154,
-    "guide_wait_mean": 0.2049,
-    "staff_wait_mean": 0.3588,
-    "full_wait_mean": 0.0122,
-    "pay_wait_mean": 17.6891
+    "groups": 101.475,
+    "entry_wait_mean": 0.482,
+    "blocked_wait_mean": 0.0369,
+    "guide_wait_mean": 0.1791,
+    "staff_wait_mean": 0.2161,
+    "full_wait_mean": 0.0053,
+    "pay_wait_mean": 16.2233
    }
   },
   {
@@ -4594,27 +4600,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.2494,
-    "dish_wait_p90": 3.0278,
-    "cold_share": 0.1081,
-    "seat_wait_mean": 0.0158,
-    "turn_mean": 2.4498,
-    "walk_km_per_staff": 2.5471,
-    "staff_util": 0.5456,
-    "robot_util": 0.6762,
-    "robot_share": 0.5454,
+    "dish_wait_mean": 2.2783,
+    "dish_wait_p90": 3.0578,
+    "cold_share": 0.1196,
+    "seat_wait_mean": 0.061,
+    "turn_mean": 2.5018,
+    "walk_km_per_staff": 2.6039,
+    "staff_util": 0.5497,
+    "robot_util": 0.6812,
+    "robot_share": 0.5421,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 0.525,
-    "pauses": 17.6,
-    "fragile_robot": 30.725,
-    "groups": 104,
-    "entry_wait_mean": 0.3464,
-    "blocked_wait_mean": 0.013,
-    "guide_wait_mean": 0.0727,
-    "staff_wait_mean": 0.0857,
-    "full_wait_mean": 0.0028,
-    "pay_wait_mean": 17.5336
+    "rescues": 0.65,
+    "pauses": 17.95,
+    "fragile_robot": 32.4,
+    "groups": 104.575,
+    "entry_wait_mean": 0.4135,
+    "blocked_wait_mean": 0.0355,
+    "guide_wait_mean": 0.0925,
+    "staff_wait_mean": 0.128,
+    "full_wait_mean": 0.0255,
+    "pay_wait_mean": 18.6058
    }
   },
   {
@@ -4629,27 +4635,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.7444,
-    "dish_wait_p90": 2.8463,
-    "cold_share": 0.0757,
-    "seat_wait_mean": 0.0392,
-    "turn_mean": 2.3889,
-    "walk_km_per_staff": 2.0519,
-    "staff_util": 0.4935,
-    "robot_util": 0.6092,
-    "robot_share": 0.9102,
+    "dish_wait_mean": 1.7372,
+    "dish_wait_p90": 2.8339,
+    "cold_share": 0.0722,
+    "seat_wait_mean": 0.1205,
+    "turn_mean": 2.4048,
+    "walk_km_per_staff": 2.1033,
+    "staff_util": 0.4985,
+    "robot_util": 0.61,
+    "robot_share": 0.9001,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 1.175,
-    "pauses": 36.45,
-    "fragile_robot": 47.7,
-    "groups": 104,
-    "entry_wait_mean": 0.3274,
-    "blocked_wait_mean": 0.0177,
-    "guide_wait_mean": 0.0309,
-    "staff_wait_mean": 0.0486,
-    "full_wait_mean": 0.0215,
-    "pay_wait_mean": 18.7765
+    "rescues": 1.5,
+    "pauses": 35.8,
+    "fragile_robot": 48.1,
+    "groups": 104.275,
+    "entry_wait_mean": 0.417,
+    "blocked_wait_mean": 0.0492,
+    "guide_wait_mean": 0.0364,
+    "staff_wait_mean": 0.0856,
+    "full_wait_mean": 0.0713,
+    "pay_wait_mean": 19.0489
    }
   },
   {
@@ -4664,13 +4670,13 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.4695,
-    "dish_wait_p90": 0.958,
+    "dish_wait_mean": 0.4712,
+    "dish_wait_p90": 0.9525,
     "cold_share": 0.0,
-    "seat_wait_mean": 26.4942,
-    "turn_mean": 2.8607,
-    "walk_km_per_staff": 5.4991,
-    "staff_util": 0.7008,
+    "seat_wait_mean": 27.6461,
+    "turn_mean": 2.8576,
+    "walk_km_per_staff": 5.657,
+    "staff_util": 0.707,
     "robot_util": 0.0,
     "robot_share": 0.0,
     "robot_bus_share": 0.0,
@@ -4678,13 +4684,13 @@
     "rescues": 0,
     "pauses": 0,
     "fragile_robot": 0,
-    "groups": 175.525,
-    "entry_wait_mean": 26.9024,
-    "blocked_wait_mean": 1.7704,
-    "guide_wait_mean": 0.1513,
-    "staff_wait_mean": 1.9217,
-    "full_wait_mean": 24.7238,
-    "pay_wait_mean": 41.9722
+    "groups": 177.925,
+    "entry_wait_mean": 28.056,
+    "blocked_wait_mean": 1.8373,
+    "guide_wait_mean": 0.1494,
+    "staff_wait_mean": 1.9867,
+    "full_wait_mean": 25.8087,
+    "pay_wait_mean": 42.2738
    }
   },
   {
@@ -4699,27 +4705,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.2659,
-    "dish_wait_p90": 3.0064,
-    "cold_share": 0.1046,
-    "seat_wait_mean": 29.0781,
-    "turn_mean": 2.4277,
-    "walk_km_per_staff": 4.3562,
-    "staff_util": 0.6118,
-    "robot_util": 0.7267,
-    "robot_share": 0.5338,
+    "dish_wait_mean": 2.2935,
+    "dish_wait_p90": 3.0495,
+    "cold_share": 0.1164,
+    "seat_wait_mean": 28.0039,
+    "turn_mean": 2.4527,
+    "walk_km_per_staff": 4.4133,
+    "staff_util": 0.6163,
+    "robot_util": 0.7263,
+    "robot_share": 0.5295,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 0.85,
+    "rescues": 1.175,
     "pauses": 28.25,
-    "fragile_robot": 51.875,
-    "groups": 178.55,
-    "entry_wait_mean": 29.3736,
-    "blocked_wait_mean": 1.4586,
-    "guide_wait_mean": 0.039,
-    "staff_wait_mean": 1.4976,
-    "full_wait_mean": 27.6196,
-    "pay_wait_mean": 42.1347
+    "fragile_robot": 50.875,
+    "groups": 177.25,
+    "entry_wait_mean": 28.3101,
+    "blocked_wait_mean": 1.4607,
+    "guide_wait_mean": 0.0459,
+    "staff_wait_mean": 1.5066,
+    "full_wait_mean": 26.5432,
+    "pay_wait_mean": 41.7854
    }
   },
   {
@@ -4734,27 +4740,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.7427,
-    "dish_wait_p90": 2.8431,
-    "cold_share": 0.0756,
-    "seat_wait_mean": 28.283,
-    "turn_mean": 2.385,
-    "walk_km_per_staff": 3.5899,
-    "staff_util": 0.5612,
-    "robot_util": 0.6671,
-    "robot_share": 0.8722,
+    "dish_wait_mean": 1.7547,
+    "dish_wait_p90": 2.8333,
+    "cold_share": 0.0718,
+    "seat_wait_mean": 26.8499,
+    "turn_mean": 2.3926,
+    "walk_km_per_staff": 3.5766,
+    "staff_util": 0.5613,
+    "robot_util": 0.6678,
+    "robot_share": 0.8726,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 2.05,
-    "pauses": 59.575,
-    "fragile_robot": 81.05,
-    "groups": 178.075,
-    "entry_wait_mean": 28.5589,
-    "blocked_wait_mean": 1.4017,
-    "guide_wait_mean": 0.0183,
-    "staff_wait_mean": 1.42,
-    "full_wait_mean": 26.8814,
-    "pay_wait_mean": 42.5077
+    "rescues": 1.95,
+    "pauses": 60.775,
+    "fragile_robot": 80.65,
+    "groups": 176.1,
+    "entry_wait_mean": 27.1302,
+    "blocked_wait_mean": 1.4002,
+    "guide_wait_mean": 0.0213,
+    "staff_wait_mean": 1.4215,
+    "full_wait_mean": 25.4497,
+    "pay_wait_mean": 42.3534
    }
   },
   {
@@ -4769,13 +4775,13 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.9178,
-    "dish_wait_p90": 1.7919,
-    "cold_share": 0.0077,
-    "seat_wait_mean": 12.8797,
-    "turn_mean": 12.2848,
-    "walk_km_per_staff": 5.1931,
-    "staff_util": 0.8043,
+    "dish_wait_mean": 0.927,
+    "dish_wait_p90": 1.8078,
+    "cold_share": 0.0104,
+    "seat_wait_mean": 13.7163,
+    "turn_mean": 12.8738,
+    "walk_km_per_staff": 5.2921,
+    "staff_util": 0.8094,
     "robot_util": 0.0,
     "robot_share": 0.0,
     "robot_bus_share": 0.0,
@@ -4783,13 +4789,13 @@
     "rescues": 0,
     "pauses": 0,
     "fragile_robot": 0,
-    "groups": 137.4,
-    "entry_wait_mean": 13.6877,
-    "blocked_wait_mean": 7.5345,
-    "guide_wait_mean": 0.5499,
-    "staff_wait_mean": 8.0843,
-    "full_wait_mean": 5.3453,
-    "pay_wait_mean": 27.151
+    "groups": 138.125,
+    "entry_wait_mean": 14.5449,
+    "blocked_wait_mean": 7.881,
+    "guide_wait_mean": 0.567,
+    "staff_wait_mean": 8.448,
+    "full_wait_mean": 5.8353,
+    "pay_wait_mean": 26.8272
    }
   },
   {
@@ -4804,27 +4810,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.5928,
-    "dish_wait_p90": 3.567,
-    "cold_share": 0.2723,
-    "seat_wait_mean": 9.2707,
-    "turn_mean": 4.0339,
-    "walk_km_per_staff": 4.1976,
-    "staff_util": 0.708,
-    "robot_util": 0.677,
+    "dish_wait_mean": 2.5913,
+    "dish_wait_p90": 3.5586,
+    "cold_share": 0.27,
+    "seat_wait_mean": 9.525,
+    "turn_mean": 4.2149,
+    "walk_km_per_staff": 4.2182,
+    "staff_util": 0.7093,
+    "robot_util": 0.6746,
     "robot_share": 0.5187,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 0.675,
-    "pauses": 22.2,
-    "fragile_robot": 40.65,
-    "groups": 140.525,
-    "entry_wait_mean": 9.8292,
-    "blocked_wait_mean": 2.236,
-    "guide_wait_mean": 0.2995,
-    "staff_wait_mean": 2.5354,
-    "full_wait_mean": 7.0347,
-    "pay_wait_mean": 33.7894
+    "rescues": 0.925,
+    "pauses": 22.05,
+    "fragile_robot": 39.375,
+    "groups": 140.4,
+    "entry_wait_mean": 10.0775,
+    "blocked_wait_mean": 2.3619,
+    "guide_wait_mean": 0.2915,
+    "staff_wait_mean": 2.6534,
+    "full_wait_mean": 7.1631,
+    "pay_wait_mean": 33.9029
    }
   },
   {
@@ -4839,27 +4845,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.9696,
-    "dish_wait_p90": 3.1674,
-    "cold_share": 0.1401,
-    "seat_wait_mean": 7.3505,
-    "turn_mean": 2.7115,
-    "walk_km_per_staff": 3.3634,
-    "staff_util": 0.6428,
-    "robot_util": 0.6129,
-    "robot_share": 0.8738,
+    "dish_wait_mean": 1.9866,
+    "dish_wait_p90": 3.1985,
+    "cold_share": 0.148,
+    "seat_wait_mean": 8.9113,
+    "turn_mean": 2.8007,
+    "walk_km_per_staff": 3.4923,
+    "staff_util": 0.6491,
+    "robot_util": 0.6193,
+    "robot_share": 0.8722,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 1.5,
-    "pauses": 43.85,
-    "fragile_robot": 63.225,
-    "groups": 138.65,
-    "entry_wait_mean": 7.7515,
-    "blocked_wait_mean": 1.0155,
-    "guide_wait_mean": 0.1442,
-    "staff_wait_mean": 1.1597,
-    "full_wait_mean": 6.335,
-    "pay_wait_mean": 34.5649
+    "rescues": 1.3,
+    "pauses": 46.45,
+    "fragile_robot": 63.775,
+    "groups": 141.925,
+    "entry_wait_mean": 9.3212,
+    "blocked_wait_mean": 1.18,
+    "guide_wait_mean": 0.1492,
+    "staff_wait_mean": 1.3292,
+    "full_wait_mean": 7.7312,
+    "pay_wait_mean": 35.3463
    }
   },
   {
@@ -4874,13 +4880,13 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.3645,
-    "dish_wait_p90": 0.6641,
+    "dish_wait_mean": 0.3708,
+    "dish_wait_p90": 0.6819,
     "cold_share": 0.0,
-    "seat_wait_mean": 7.0754,
-    "turn_mean": 2.5445,
-    "walk_km_per_staff": 3.7676,
-    "staff_util": 0.5766,
+    "seat_wait_mean": 6.4945,
+    "turn_mean": 2.5521,
+    "walk_km_per_staff": 3.7638,
+    "staff_util": 0.5776,
     "robot_util": 0.0,
     "robot_share": 0.0,
     "robot_bus_share": 0.0,
@@ -4888,13 +4894,13 @@
     "rescues": 0,
     "pauses": 0,
     "fragile_robot": 0,
-    "groups": 140.225,
-    "entry_wait_mean": 7.4272,
-    "blocked_wait_mean": 0.8813,
-    "guide_wait_mean": 0.0947,
-    "staff_wait_mean": 0.976,
-    "full_wait_mean": 6.1941,
-    "pay_wait_mean": 35.5031
+    "groups": 138.95,
+    "entry_wait_mean": 6.8431,
+    "blocked_wait_mean": 0.8681,
+    "guide_wait_mean": 0.0889,
+    "staff_wait_mean": 0.957,
+    "full_wait_mean": 5.6264,
+    "pay_wait_mean": 35.3472
    }
   },
   {
@@ -4909,27 +4915,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.2525,
-    "dish_wait_p90": 2.9653,
-    "cold_share": 0.0943,
-    "seat_wait_mean": 8.147,
-    "turn_mean": 2.396,
-    "walk_km_per_staff": 3.0107,
-    "staff_util": 0.5076,
-    "robot_util": 0.6656,
-    "robot_share": 0.5065,
+    "dish_wait_mean": 2.2512,
+    "dish_wait_p90": 2.9599,
+    "cold_share": 0.0959,
+    "seat_wait_mean": 7.8412,
+    "turn_mean": 2.4023,
+    "walk_km_per_staff": 2.9753,
+    "staff_util": 0.5059,
+    "robot_util": 0.664,
+    "robot_share": 0.508,
     "robot_bus_share": 0.0,
     "collects": 0,
     "rescues": 0.825,
-    "pauses": 21.975,
-    "fragile_robot": 38.45,
-    "groups": 140.75,
-    "entry_wait_mean": 8.4348,
-    "blocked_wait_mean": 0.8787,
-    "guide_wait_mean": 0.0293,
-    "staff_wait_mean": 0.908,
-    "full_wait_mean": 7.2682,
-    "pay_wait_mean": 35.7662
+    "pauses": 20.75,
+    "fragile_robot": 37.9,
+    "groups": 138.95,
+    "entry_wait_mean": 8.1301,
+    "blocked_wait_mean": 0.8466,
+    "guide_wait_mean": 0.0292,
+    "staff_wait_mean": 0.8757,
+    "full_wait_mean": 6.9946,
+    "pay_wait_mean": 35.0935
    }
   },
   {
@@ -4944,27 +4950,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.8139,
-    "dish_wait_p90": 2.839,
-    "cold_share": 0.0742,
-    "seat_wait_mean": 6.8815,
-    "turn_mean": 2.3768,
-    "walk_km_per_staff": 2.415,
-    "staff_util": 0.4607,
-    "robot_util": 0.6109,
-    "robot_share": 0.8627,
+    "dish_wait_mean": 1.8263,
+    "dish_wait_p90": 2.873,
+    "cold_share": 0.0771,
+    "seat_wait_mean": 8.6271,
+    "turn_mean": 2.3882,
+    "walk_km_per_staff": 2.5362,
+    "staff_util": 0.4671,
+    "robot_util": 0.6164,
+    "robot_share": 0.8611,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 1.45,
-    "pauses": 44.65,
-    "fragile_robot": 60.275,
-    "groups": 138.425,
-    "entry_wait_mean": 7.1538,
-    "blocked_wait_mean": 0.7616,
-    "guide_wait_mean": 0.0145,
-    "staff_wait_mean": 0.7761,
-    "full_wait_mean": 6.1199,
-    "pay_wait_mean": 34.3847
+    "rescues": 1.5,
+    "pauses": 46.05,
+    "fragile_robot": 63.275,
+    "groups": 143.15,
+    "entry_wait_mean": 8.9029,
+    "blocked_wait_mean": 0.8862,
+    "guide_wait_mean": 0.0148,
+    "staff_wait_mean": 0.901,
+    "full_wait_mean": 7.7409,
+    "pay_wait_mean": 35.6842
    }
   },
   {
@@ -5924,27 +5930,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 2.3627,
-    "dish_wait_p90": 3.1438,
-    "cold_share": 0.1375,
-    "seat_wait_mean": 8.6566,
-    "turn_mean": 2.4222,
-    "walk_km_per_staff": 3.4205,
-    "staff_util": 0.5903,
-    "robot_util": 0.8571,
-    "robot_share": 0.5093,
-    "robot_bus_share": 0.1812,
+    "dish_wait_mean": 2.3583,
+    "dish_wait_p90": 3.1278,
+    "cold_share": 0.1354,
+    "seat_wait_mean": 5.9933,
+    "turn_mean": 2.4367,
+    "walk_km_per_staff": 3.2798,
+    "staff_util": 0.5859,
+    "robot_util": 0.8522,
+    "robot_share": 0.5034,
+    "robot_bus_share": 0.1875,
     "collects": 0,
-    "rescues": 1.25,
-    "pauses": 29.475,
-    "fragile_robot": 38.7,
-    "groups": 141.875,
-    "entry_wait_mean": 9.0054,
-    "blocked_wait_mean": 0.9618,
-    "guide_wait_mean": 0.0899,
-    "staff_wait_mean": 1.0517,
-    "full_wait_mean": 7.6948,
-    "pay_wait_mean": 35.5051
+    "rescues": 0.925,
+    "pauses": 28.15,
+    "fragile_robot": 37.075,
+    "groups": 135.475,
+    "entry_wait_mean": 6.3412,
+    "blocked_wait_mean": 0.8058,
+    "guide_wait_mean": 0.0881,
+    "staff_wait_mean": 0.894,
+    "full_wait_mean": 5.1875,
+    "pay_wait_mean": 33.9524
    }
   },
   {
@@ -5959,27 +5965,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.8964,
-    "dish_wait_p90": 2.9402,
-    "cold_share": 0.0907,
-    "seat_wait_mean": 7.1718,
-    "turn_mean": 2.1948,
-    "walk_km_per_staff": 2.541,
-    "staff_util": 0.5289,
-    "robot_util": 0.8207,
-    "robot_share": 0.8589,
-    "robot_bus_share": 0.4168,
+    "dish_wait_mean": 1.9063,
+    "dish_wait_p90": 2.9681,
+    "cold_share": 0.0981,
+    "seat_wait_mean": 7.0338,
+    "turn_mean": 2.2047,
+    "walk_km_per_staff": 2.577,
+    "staff_util": 0.5314,
+    "robot_util": 0.8234,
+    "robot_share": 0.8641,
+    "robot_bus_share": 0.4182,
     "collects": 0,
-    "rescues": 1.625,
-    "pauses": 61.475,
-    "fragile_robot": 61.825,
-    "groups": 139.475,
-    "entry_wait_mean": 7.4686,
-    "blocked_wait_mean": 0.8396,
-    "guide_wait_mean": 0.039,
-    "staff_wait_mean": 0.8786,
-    "full_wait_mean": 6.3321,
-    "pay_wait_mean": 34.8663
+    "rescues": 2.175,
+    "pauses": 60.85,
+    "fragile_robot": 59.925,
+    "groups": 139.85,
+    "entry_wait_mean": 7.338,
+    "blocked_wait_mean": 0.8115,
+    "guide_wait_mean": 0.0433,
+    "staff_wait_mean": 0.8547,
+    "full_wait_mean": 6.2223,
+    "pay_wait_mean": 34.9873
    }
   },
   {
@@ -6064,27 +6070,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.2054,
-    "dish_wait_p90": 2.3115,
-    "cold_share": 0.021,
-    "seat_wait_mean": 7.3093,
-    "turn_mean": 2.3892,
-    "walk_km_per_staff": 2.65,
-    "staff_util": 0.5226,
-    "robot_util": 0.5372,
-    "robot_share": 0.9885,
+    "dish_wait_mean": 1.2472,
+    "dish_wait_p90": 2.371,
+    "cold_share": 0.0244,
+    "seat_wait_mean": 6.2072,
+    "turn_mean": 2.3916,
+    "walk_km_per_staff": 2.6166,
+    "staff_util": 0.5221,
+    "robot_util": 0.5278,
+    "robot_share": 0.983,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 2.825,
-    "pauses": 69.4,
-    "fragile_robot": 69.95,
-    "groups": 140.9,
-    "entry_wait_mean": 7.5985,
-    "blocked_wait_mean": 0.8147,
-    "guide_wait_mean": 0.0313,
-    "staff_wait_mean": 0.846,
-    "full_wait_mean": 6.4946,
-    "pay_wait_mean": 35.8429
+    "rescues": 2.225,
+    "pauses": 66.6,
+    "fragile_robot": 68.15,
+    "groups": 138.225,
+    "entry_wait_mean": 6.496,
+    "blocked_wait_mean": 0.7825,
+    "guide_wait_mean": 0.0297,
+    "staff_wait_mean": 0.8122,
+    "full_wait_mean": 5.4247,
+    "pay_wait_mean": 35.2621
    }
   },
   {
@@ -6099,27 +6105,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.8419,
-    "dish_wait_p90": 1.6395,
-    "cold_share": 0.0018,
-    "seat_wait_mean": 7.4054,
-    "turn_mean": 2.3816,
-    "walk_km_per_staff": 2.6105,
-    "staff_util": 0.5195,
-    "robot_util": 0.4525,
-    "robot_share": 0.9999,
+    "dish_wait_mean": 0.8571,
+    "dish_wait_p90": 1.6813,
+    "cold_share": 0.0029,
+    "seat_wait_mean": 7.0633,
+    "turn_mean": 2.3934,
+    "walk_km_per_staff": 2.6181,
+    "staff_util": 0.5208,
+    "robot_util": 0.4538,
+    "robot_share": 0.9996,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 3.025,
-    "pauses": 88.975,
-    "fragile_robot": 71.725,
-    "groups": 140.5,
-    "entry_wait_mean": 7.6872,
-    "blocked_wait_mean": 0.8361,
-    "guide_wait_mean": 0.0242,
-    "staff_wait_mean": 0.8604,
-    "full_wait_mean": 6.5693,
-    "pay_wait_mean": 36.4595
+    "rescues": 3,
+    "pauses": 85.875,
+    "fragile_robot": 71.775,
+    "groups": 139.25,
+    "entry_wait_mean": 7.3482,
+    "blocked_wait_mean": 0.7689,
+    "guide_wait_mean": 0.0246,
+    "staff_wait_mean": 0.7935,
+    "full_wait_mean": 6.2944,
+    "pay_wait_mean": 35.8418
    }
   },
   {
@@ -6134,27 +6140,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.6924,
-    "dish_wait_p90": 1.1719,
-    "cold_share": 0.0003,
-    "seat_wait_mean": 6.9978,
-    "turn_mean": 2.3834,
-    "walk_km_per_staff": 2.6027,
-    "staff_util": 0.5215,
-    "robot_util": 0.38,
-    "robot_share": 1.0,
+    "dish_wait_mean": 0.6921,
+    "dish_wait_p90": 1.1558,
+    "cold_share": 0.0004,
+    "seat_wait_mean": 7.9521,
+    "turn_mean": 2.3865,
+    "walk_km_per_staff": 2.6648,
+    "staff_util": 0.5242,
+    "robot_util": 0.3838,
+    "robot_share": 0.9999,
     "robot_bus_share": 0.0,
     "collects": 0,
-    "rescues": 2.925,
-    "pauses": 93.475,
-    "fragile_robot": 69.625,
-    "groups": 139.375,
-    "entry_wait_mean": 7.2786,
-    "blocked_wait_mean": 0.8073,
-    "guide_wait_mean": 0.023,
-    "staff_wait_mean": 0.8303,
-    "full_wait_mean": 6.1906,
-    "pay_wait_mean": 36.0945
+    "rescues": 2.975,
+    "pauses": 95,
+    "fragile_robot": 71.125,
+    "groups": 142.15,
+    "entry_wait_mean": 8.237,
+    "blocked_wait_mean": 0.8386,
+    "guide_wait_mean": 0.0257,
+    "staff_wait_mean": 0.8643,
+    "full_wait_mean": 7.1136,
+    "pay_wait_mean": 36.417
    }
   },
   {
@@ -6169,27 +6175,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 1.3037,
-    "dish_wait_p90": 2.3935,
-    "cold_share": 0.0246,
-    "seat_wait_mean": 6.7453,
-    "turn_mean": 2.0999,
-    "walk_km_per_staff": 2.221,
-    "staff_util": 0.5088,
-    "robot_util": 0.7133,
-    "robot_share": 0.9861,
-    "robot_bus_share": 0.5604,
+    "dish_wait_mean": 1.3127,
+    "dish_wait_p90": 2.4035,
+    "cold_share": 0.0264,
+    "seat_wait_mean": 6.9139,
+    "turn_mean": 2.0965,
+    "walk_km_per_staff": 2.2348,
+    "staff_util": 0.51,
+    "robot_util": 0.7147,
+    "robot_share": 0.9831,
+    "robot_bus_share": 0.5592,
     "collects": 0,
-    "rescues": 3.25,
-    "pauses": 86.075,
-    "fragile_robot": 69.525,
-    "groups": 139.275,
-    "entry_wait_mean": 7.034,
-    "blocked_wait_mean": 0.7813,
-    "guide_wait_mean": 0.0309,
-    "staff_wait_mean": 0.8122,
-    "full_wait_mean": 5.964,
-    "pay_wait_mean": 35.5222
+    "rescues": 2.825,
+    "pauses": 88.2,
+    "fragile_robot": 70.55,
+    "groups": 139.375,
+    "entry_wait_mean": 7.1988,
+    "blocked_wait_mean": 0.7764,
+    "guide_wait_mean": 0.0263,
+    "staff_wait_mean": 0.8026,
+    "full_wait_mean": 6.1376,
+    "pay_wait_mean": 35.4565
    }
   },
   {
@@ -6204,27 +6210,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.924,
-    "dish_wait_p90": 1.774,
-    "cold_share": 0.002,
-    "seat_wait_mean": 8.3032,
-    "turn_mean": 2.0073,
-    "walk_km_per_staff": 2.1243,
-    "staff_util": 0.504,
-    "robot_util": 0.6251,
-    "robot_share": 0.9999,
-    "robot_bus_share": 0.7054,
+    "dish_wait_mean": 0.9333,
+    "dish_wait_p90": 1.8167,
+    "cold_share": 0.0032,
+    "seat_wait_mean": 6.8993,
+    "turn_mean": 2.0174,
+    "walk_km_per_staff": 2.1145,
+    "staff_util": 0.5043,
+    "robot_util": 0.6244,
+    "robot_share": 0.9994,
+    "robot_bus_share": 0.6983,
     "collects": 0,
-    "rescues": 3.825,
-    "pauses": 114.5,
-    "fragile_robot": 72.875,
-    "groups": 142.25,
-    "entry_wait_mean": 8.5806,
-    "blocked_wait_mean": 0.7975,
-    "guide_wait_mean": 0.0198,
-    "staff_wait_mean": 0.8173,
-    "full_wait_mean": 7.5057,
-    "pay_wait_mean": 36.9252
+    "rescues": 3.725,
+    "pauses": 111.85,
+    "fragile_robot": 71.925,
+    "groups": 140.2,
+    "entry_wait_mean": 7.1791,
+    "blocked_wait_mean": 0.7823,
+    "guide_wait_mean": 0.0205,
+    "staff_wait_mean": 0.8028,
+    "full_wait_mean": 6.117,
+    "pay_wait_mean": 36.2508
    }
   },
   {
@@ -6239,27 +6245,27 @@
     "registers": 1
    },
    "site_result": {
-    "dish_wait_mean": 0.7431,
-    "dish_wait_p90": 1.3415,
-    "cold_share": 0.0005,
-    "seat_wait_mean": 7.7443,
-    "turn_mean": 1.9501,
-    "walk_km_per_staff": 2.0254,
-    "staff_util": 0.5024,
-    "robot_util": 0.5456,
-    "robot_share": 1.0,
-    "robot_bus_share": 0.821,
-    "collects": 0,
-    "rescues": 4.625,
-    "pauses": 123.825,
-    "fragile_robot": 71.3,
-    "groups": 141.45,
-    "entry_wait_mean": 8.0233,
-    "blocked_wait_mean": 0.7923,
-    "guide_wait_mean": 0.0228,
-    "staff_wait_mean": 0.8151,
-    "full_wait_mean": 6.952,
-    "pay_wait_mean": 36.8324
+    "dish_wait_mean": 0.7426,
+    "dish_wait_p90": 1.3365,
+    "cold_share": 0.0009,
+    "seat_wait_mean": 8.963,
+    "turn_mean": 1.9489,
+    "walk_km_per_staff": 2.0839,
+    "staff_util": 0.506,
+    "robot_util": 0.5522,
+    "robot_share": 0.9998,
+    "robot_bus_share": 0.8205,
+    "collects": 0,
+    "rescues": 3.7,
+    "pauses": 126.675,
+    "fragile_robot": 72.45,
+    "groups": 144.225,
+    "entry_wait_mean": 9.2389,
+    "blocked_wait_mean": 0.8409,
+    "guide_wait_mean": 0.0171,
+    "staff_wait_mean": 0.858,
+    "full_wait_mean": 8.1221,
+    "pay_wait_mean": 37.013
    }
   },
   {
diff --git a/tools/sim_layouts/README.md b/tools/sim_layouts/README.md
index 3942ac1..33c941d 100644
--- a/tools/sim_layouts/README.md
+++ b/tools/sim_layouts/README.md
@@ -59,7 +59,7 @@
 - 版は `large-` で始まる（large_store.py と famires_v3 の版から決まる）
 - トイレが2つ・レジが2つの店のための Unity の細かい形の規則（2026-11-02。`unity_export.py`）：トイレの入口の点は、そのトイレの部屋に接する入口から取る（前はどのトイレも1つ目の入口になっていた）。会計に立つ点と並ぶ点は1つ目のレジだけに置く（Unity はレジ1つの条件で回すため。2つ目のレジは部屋として建てるだけ）。トイレ・レジが1つの今の6店は結果が変わらないので、出力は作り直していない（版 9b8dae7ebf8c のまま）。大型店は作り直した（版 large-f4f8ad343efe → large-291ae2e65898。卓・距離・止まる位置は同じ）
 - 2026-11-06：⑨のレジのまわりが狭すぎたので、島と左の壁ぞいの席を上へ1.0m（レジの上の端から島まで 1.5m → 2.5m）、レジと下の壁ぞいの6人席を右へ1.0m（レジの左の待つ所 3.1m → 4.1m）動かした。70卓・312席のまま、受け渡し口から卓まで 4.0〜34.4m。版は large-99db3254b08b（⑧は卓・距離・止まる位置とも前と同じ）。試算は⑨の 3,066 条件だけ回し直して入れ替え、結果は iCloud の simulation/v2_9_large/results_large_p7_v3.json
-- 2026-11-07：⑧のロボットの待機点を、1列（間0.8m）から2列の互い違い6点に変えた（エイイチ 案B・(2)）。1列で間0.8mだと、ロボットの前のセンサー（中心から0.85m）が隣の待機点の台にかかり、待機場所のそばで止まり合っていたため。奥の列は今までと同じ y=11.35 に x 18.9・20.5・22.1、手前の列は y=9.5 に x 19.7・21.3・22.9（同じ列は1.6m、斜めの隣は約2.0m）。2列のあいだに、ロボットのふだんの道（1.0m）が通る1.05m をあけた（右上の卓への距離を変えないため）。待機点は `robot_standby.slot_rects` に1台ずつの区画で持つ（famires_v3.standby_slots が読む。障害物も区画ごと）。卓までの距離は 19卓が −0.6〜＋0.4m 変わり、平均 15.6 → 15.5m。版は large-b13cd179e6bf（⑨は版の名前だけ変わり、中身は同じ）。⑧の試算は 3,066 条件を回し直した
+- 2026-11-07：⑧の待機点を2列の互い違いにした形（large-b13cd179e6bf・commit 18d23fe）を一度公開したが、Unity で奥の列の待機点3へ台が戻れなかった（手前の列の台のすき間 0.8m の下で行ったり来たり）ので、同じ日に元の1列・間0.8m・6点（large-99db3254b08b）に戻した。⑧の試算も元の値に戻した。待機場所のそばの止まり合いは、店の形を変えず、params の unity_rules.standby_straight_entry（待機点の真下 1.0m の入る点まで来てからまっすぐ入る）で直す
 - サイトと同じ描き方の平面図の画像は `large_plan_images.py`（試算のページの planSvg・bigPlanSvg をそのまま使う）
 
 ```
