commit 34af4fb027de440f265e7e58c688f2d9c327afb5
Author: Claude <noreply@anthropic.com>
Date:   Thu Nov 5 19:08:51 2026 +0900

    Unity の条件に大型店⑧⑨の下げ膳（ロボット1・2台）を足す（132〜135番）
    
    試算の数字とページの表示は変えない。値は v2_9_large の結果から写した
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01LevEXRjJt67bSDYZYEUWTQ

diff --git a/public/sim/serving-robot-params.json b/public/sim/serving-robot-params.json
index 76f7021..aea6e67 100644
--- a/public/sim/serving-robot-params.json
+++ b/public/sim/serving-robot-params.json
@@ -5898,6 +5898,146 @@
     "full_wait_mean": 1.0218,
     "pay_wait_mean": 0.7422
    }
+  },
+  {
+   "condition": {
+    "store": "large_p6",
+    "staff": 6,
+    "robots": 1,
+    "arrivals_per_h": 70,
+    "mode": "bus",
+    "trays": 3,
+    "fragile_by": "any",
+    "registers": 1
+   },
+   "site_result": {
+    "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": 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
+   }
+  },
+  {
+   "condition": {
+    "store": "large_p6",
+    "staff": 6,
+    "robots": 2,
+    "arrivals_per_h": 70,
+    "mode": "bus",
+    "trays": 3,
+    "fragile_by": "any",
+    "registers": 1
+   },
+   "site_result": {
+    "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": 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
+   }
+  },
+  {
+   "condition": {
+    "store": "large_p7",
+    "staff": 6,
+    "robots": 1,
+    "arrivals_per_h": 70,
+    "mode": "bus",
+    "trays": 3,
+    "fragile_by": "any",
+    "registers": 1
+   },
+   "site_result": {
+    "dish_wait_mean": 2.5748,
+    "dish_wait_p90": 3.5045,
+    "cold_share": 0.2306,
+    "seat_wait_mean": 9.2214,
+    "turn_mean": 3.189,
+    "walk_km_per_staff": 4.2703,
+    "staff_util": 0.6461,
+    "robot_util": 0.875,
+    "robot_share": 0.4464,
+    "robot_bus_share": 0.18,
+    "collects": 0,
+    "rescues": 0.9,
+    "pauses": 26.325,
+    "fragile_robot": 35.9,
+    "groups": 141.35,
+    "entry_wait_mean": 9.7417,
+    "blocked_wait_mean": 1.5309,
+    "guide_wait_mean": 0.2061,
+    "staff_wait_mean": 1.737,
+    "full_wait_mean": 7.6904,
+    "pay_wait_mean": 34.2627
+   }
+  },
+  {
+   "condition": {
+    "store": "large_p7",
+    "staff": 6,
+    "robots": 2,
+    "arrivals_per_h": 70,
+    "mode": "bus",
+    "trays": 3,
+    "fragile_by": "any",
+    "registers": 1
+   },
+   "site_result": {
+    "dish_wait_mean": 2.1818,
+    "dish_wait_p90": 3.2876,
+    "cold_share": 0.1662,
+    "seat_wait_mean": 7.1608,
+    "turn_mean": 2.4264,
+    "walk_km_per_staff": 3.1786,
+    "staff_util": 0.5715,
+    "robot_util": 0.8438,
+    "robot_share": 0.7898,
+    "robot_bus_share": 0.4015,
+    "collects": 0,
+    "rescues": 2.05,
+    "pauses": 54.15,
+    "fragile_robot": 56.425,
+    "groups": 138.525,
+    "entry_wait_mean": 7.5453,
+    "blocked_wait_mean": 0.9491,
+    "guide_wait_mean": 0.0759,
+    "staff_wait_mean": 1.0249,
+    "full_wait_mean": 6.2118,
+    "pay_wait_mean": 34.3623
+   }
   }
  ]
 }
\ No newline at end of file
diff --git a/tools/serving_sim/export_params.py b/tools/serving_sim/export_params.py
index 832b453..befc073 100644
--- a/tools/serving_sim/export_params.py
+++ b/tools/serving_sim/export_params.py
@@ -6,7 +6,7 @@ Unity はこの JSON を読み、値を手で写さない（LOG359 のずれ9「
 使い方: python3 export_params.py results.json <出力先>   （出力先は p2m-site の public/sim/serving-robot-params.json。unity_rules は出力先の今の値を引き継ぐ）
 - common：店に共通の値。role が "unity_measures" の値は Unity で測ってサイトに戻すための仮の値なので、Unity は読まない
 - stores：Unity で回す店（fam_p1・fam_p5・fam_p2・fam_p3・fam_p4・fam_p0、2026-11-02 から大型店の large_p6・large_p7）の値。registers はレジの数（v2.8）
-- unity_conditions：Unity で回す条件（0〜17番は店ごとに混み具合が普通の3つ。18〜53番は2026-10-29に足した空いている・混んでいるの各3つ。54〜89番は2026-10-30に足したスタッフが少ない・多いの各3つ（混み具合は普通）。計90条件。90〜119番は2026-11-02に足した大型店⑧⑨。120〜131番は2026-11-04に足した下げ膳にも使う条件）と、同じ条件の試算の結果（40回の平均）。Unity の店はレジの内側に店員が1人だけなので、レジは1つ
+- unity_conditions：Unity で回す条件（0〜17番は店ごとに混み具合が普通の3つ。18〜53番は2026-10-29に足した空いている・混んでいるの各3つ。54〜89番は2026-10-30に足したスタッフが少ない・多いの各3つ（混み具合は普通）。計90条件。90〜119番は2026-11-02に足した大型店⑧⑨。120〜131番は2026-11-04に足した下げ膳にも使う条件。132〜135番は2026-11-05に足した大型店⑧⑨の下げ膳）と、同じ条件の試算の結果（40回の平均）。Unity の店はレジの内側に店員が1人だけなので、レジは1つ
 """
 import json
 import sys
@@ -102,6 +102,18 @@ for k in UNITY_STORES:
         r = rows[h.key(c)]
         conds.append({"condition": c, "site_result": {m: r[m] for m in r if m not in c}})
 
+# 2026-11-05 エイイチと決めた：大型店⑧⑨にも配膳だけと配膳＋下げ膳の比較動画を作るため、⑧⑨の下げ膳も Unity で回す。
+# 前の132条件（0〜131番）は並びも中身も変えず、後ろに足す。店ごとに 普通・真ん中の人数で ロボット1・2台（4条件・132〜135番）。
+# 大型店の結果は results.json ではなく iCloud の simulation/v2_9_large/（⑧ results_large_mac.json・⑨ results_large_p7_v2.json）にあるので、
+# rows に入っていなければ、その2つを results.json と同じ形で読み足してから回す
+for k in UNITY_STORES_LARGE:
+    s = h.STORES[k]
+    for robots in (1, 2):
+        c = {"store": k, "staff": s["staff"][1], "robots": robots, "arrivals_per_h": s["arrivals"][1], "mode": "bus",
+             "trays": 3, "fragile_by": "any", "registers": UNITY_REGISTERS}
+        r = rows[h.key(c)]
+        conds.append({"condition": c, "site_result": {m: r[m] for m in r if m not in c}})
+
 D = {
     "meta": {
         "schema_version": "serving-robot-params/0.4",
