新しい固定版は cs:140 です。(保留は Mat_MonitorBoard の Private 2件だけ) 1. 回すもの ― ServiceSim / Stage B / ┌────────────────────────────┬───────────────────────────────┐ │ メニュー │ すること │ ├────────────────────────────┼───────────────────────────────┤ │ Run All(18回) │ 条件6つ × 種 0・1・2 │ ├────────────────────────────┼───────────────────────────────┤ │ 押す前の確かめ(回さない) │ KIOXIA と台帳のヘッダだけ見る │ ├────────────────────────────┼───────────────────────────────┤ │ いまの回で止める │ Play を抜けたところで押す │ ├────────────────────────────┼───────────────────────────────┤ │ 台帳を開く │ Finder で開く │ └────────────────────────────┴───────────────────────────────┘ - 押す前に確かめます(KIOXIA のマウント/置き場所/台帳のヘッダ/StoreBuilder・ NavMeshBaker)。1つでも合わなければ回し始めません - 順番:③ロボット2台 種0 → ⑦ロボット2台 種0 → 残りを条件・種の順。最初の2回で failed なら残りを回さず止めます - 1回ごとに Play を出入りします。進みは EditorPrefs に置くので Domain Reload で消えません - 途中で止めても、もう一度押せば台帳を見てまだ行の無い回から続けます - caffeinate -dimsu でスリープを止め、終わりに戻します - 終わりに Console と run_all_log.txt(service_sim/unity/)へ一覧を出します 出力フォルダ名は {日付}_stageB_{店}_r{台数}_s{種} にしました(例 20261023_stageB_fam_p1_r2_s0)。台帳の照合キーなので、回し直しても同じ名前にな るよう時刻を入れていません。 2. 台帳 /Volumes/KIOXIA/r2r2r-data/service_sim/unity/unity_ledger_v1.csv まだ実体はありません。初回の追記でヘッダごと作ります。 - 1回 = 1行・追記のみ。既存の行は書き換えない・消さない - 追記ガード:実体の1行めとコードの列が1字でも違えば追記しない - 同じ run_folder の行は2度書かない - status:completed(summary あり・stopped_early false)/stopped(同 true。実時間40分超えもここ)/failed(summary なし) - 列は指示書の並びのまま 49 列。機械で突き合わせて一致を確認しました 実データ(2227)で行作りを試したところ 42/49 列が埋まりました。残り7列はこの依頼で足した欄(trips 系・stop_s_total・yield_order_enabled)と cs:139 で足した staff_yield_share_of_staff_time なので、新しい回ではすべて埋まります。 3. summary / run_info に足した欄(記録だけ) summary.json "trips": trips, timeouts, stuck_trips, distance_m_total, total_s, stopped_s, robot_speed_mps, pause_s_mean, pause_count summary.json "stops": stop_s_total を追加 run_info.json : yield_order_enabled, unity_cs, pending_changes pending_changes は「保留あり N 件」。status に関係なく残します(指示書 2 の最後)。 4. 変えていないこと ExperimentRunner に足した3欄(maxWallSecondsPerRun・unityCs・pendingNote)は既定が 0・空で、段階Bのメニューだけが入れます。実時間の上限は > 0 のときだけ働くので、0 のままなら前とまったく同じ動きです。さらに ServiceSimRunSupport.Prepare でこの3つを 0・空に戻しているので、Site Run や Stage 3 の回し方は前と同一です。 料理の割り当て・譲り方・通路・立ち往生・NavMesh・センサー、店の形の JSON と params は触っていません(差分も確認済み)。 5. ⚠ pause_rate と stuck_rate は空欄にしました(指示書 34 のとおり報告) サイトの定義は「hop_m(3 m)進むごとの起きやすさ」ですが、hop_m は role=site_only(試算の中だけの設定)で Unity は読まない決まりなので、同じ定義で出せません。勝手に 3 m を使うと「何について正か」の決まりを破ることになるため、空欄にしました。 割り出すのに要る素の数は summary.json に出してあります: pause_rate ≈ stops.count ÷(trips.distance_m_total ÷ hop_m) stuck_rate ≈ stops.stuck_count ÷(trips.distance_m_total ÷ hop_m) robot_speed_mps(走った距離 ÷ 動いていた秒数)と pause_s_mean(自分で動き出した止まり1回の平均)は unity_measures の定義どおり測って入れています。hop_m を Unity に渡してよいかを決めていただければ、2列とも埋められます。 確認していただきたい1点 resume の見方を「台帳に行があれば回さない」にしました(status に関係なく)。failed・stopped の回を自動で回し直すと、同じ所で何度も止まるおそれがあるためです。「failed だけは押し直したら再挑戦してほしい」なら、1行変えれば直せます。 回す前に Unity 同梱の Roslyn で2つに分けて通し、エラー・警告ゼロです。ただし Unity 本体はまだ再コンパイルしていません。一度 Unity に切り替えてから、まず ServiceSim/Stage B/押す前の確かめ(回さない) を押してください(台帳の列と KIOXIA だけ見て、回しません)。問題なければ Run All です。 なお ExperimentRunner に欄を3つ足したので、シーンを次に保存すると3行増えます(maxWallSecondsPerRun: 0・unityCs:・pendingNote:)。動きには効きません。 1回目(③ロボット2台 種0)が終わったら台帳の行を見てください。