v4(段階1)版 e624bdf4bdd4 を写し直して、walkable / staff_only を入れました。 建てるところで止まっています(Unity Editor が開いたままで、こちらから動かせません)。 ──────────────────────────────────────────────────────── 1. 写し直し(依頼 1) ──────────────────────────────────────────────────────── 写した日時:2026-10-22 18:51:26 JST 版の番号:e624bdf4bdd4(③⑦と summary.json の3つとも同じ。前は b700048057af) Store/Layouts/p1_efficient_corner.json 43,889 → 43,270 バイト Store/Layouts/p5_crammed.json 43,877 → 43,258 バイト Store/Layouts/summary.json 3,042 バイト(変わらず) .asset の fetchedAt を「2026-10-22 18:51:26 JST(版 e624bdf4bdd4)」に直しました。 版の番号は JSON の meta.generation から読むので、.asset には持たせていません (写した日時と写し元だけ)。.meta の GUID は変えていないので、参照は切れていません。 ──────────────────────────────────────────────────────── 2. walkable / staff_only(依頼 2) ──────────────────────────────────────────────────────── JsonStoreLayout.cs の rooms の所に足しました。 walkable == true → 通れない箱にしない。場所の点だけ置く (同じ種類の点が places にあれば、そちらが区画の広がりも持っているので足さない) staff_only == true → スタッフだけが入れる区画にする staff_only の作り方は v0 の帯の店と同じで、新しく作っていません。 NavMeshBaker.AddRegisterBackArea() が store.RegisterBackRect(= PlaceKind.RegisterBack の rect)を 見て、その箱の中の NavMesh の区画の番号を registerBackArea(PeopleSpec では 3)に変えます。 客の NavMeshAgent は PeopleNav が `NavMesh.AllAreas & ~(1 << registerBackArea)` で その区画を外して歩くので、客は入れず、スタッフだけが入れます。 ③⑦の JSON では、レジ内 rect [3.3, 1.3, 6.1, 2.2] が walkable かつ staff_only。 places の RegisterBack の点 [4.7, 1.75] と rect が同じものを指しているので、 区画の指定はそのまま働きます。 今の作りでスタッフ専用にできるのは「レジの内側」だけです。ほかの部屋に staff_only が付いたら、 こちらで作らずに **建てずに止めて** 報告に出します(NavMeshBaker を変えないため)。 ──────────────────────────────────────────────────────── 3. Unity を押す前に確かめたこと(JSON の読み取りと対応づけを Python に写して照合) ──────────────────────────────────────────────────────── ③ p1_efficient_corner ⑦ p5_crammed 版の番号 vs summary.json 一致 e624bdf4bdd4 一致 e624bdf4bdd4 卓 42(summary 42) 42(summary 42) 席 160(summary 160) 160(summary 160) 細い通路 3 本・1.2 m 3 本・0.8 m .asset の幅と合っているか 合っている 合っている 席に着く点 45(前 59) 45(前 59) spot が 1 つも無い卓 0 0 通れる部屋 レジ内(staff_only) レジ内(staff_only) 対応表に無いもの 0 件 0 件 点と家具のすき間(NavMesh の確かめで何が出るかの下見) ③ ⑦ 止まる位置が箱の中 0 / 42 0 / 42 止まる位置の余裕 0.25 m 未満 0 0 席に着く点が箱の中 0 / 45 0 / 45 席に着く点の余裕 0.2 m 未満 0(前は 14) 0(前は 14) 場所の点が箱の中 0 / 26(前は 1) 0 / 26(前は 1) 座る位置が箱の中 160 / 160 160 / 160 (A) レジ内の点が箱の中に入る件 … 直りました(通れる部屋になったため) (B) 席に着く点の 0.05 m … 直りました(45 点すべて 0.2 m 以上) 座る位置の 160 件は、ベンチ(152)と椅子(8)の上なので、NavMesh に乗らないのがふつうです (人が座る位置で、歩く点ではありません)。確かめ 2 の一覧にはこの 160 件が出ます。 (C) refuges は空のままにしました(段階2の前に決める)。 (D) 卓ごとの道のりの照合では、CSV に category の列を入れてあります (⑦ は 24 卓が narrow=サイトの解析ではロボットが行けない卓)。 ──────────────────────────────────────────────────────── 4. 建てるところで止まっています ← お願い ──────────────────────────────────────────────────────── Unity Editor が、このプロジェクトを開いたままです(PID 50780 / 1日20時間ほど起動中)。 同じプロジェクトを2つの Unity で開くことはできないので、こちらから `-batchmode -executeMethod` で動かせません。 ロックを無視して開くと Library が壊れることがあるので、開いていません。 どちらかでお願いします。 (ア) エイイチが Unity で押す(いつもの形) ServiceSim/JSON Store/③⑦ を続けて確かめる → Console の [ServiceSim] と、screens/ に出る {日付}_{名前}_json_check.txt と {日付}_{名前}_table_dist.csv を送ってください。 こちらで読んで、次の報告にまとめます (イ) Unity を閉じてもらえれば、こちらで batch mode で回します その場合、こちらで動かすのは ServiceSim.EditorTools.ServiceSimJsonStore.CheckBoth だけです(店を建てて確かめるところまで。人もロボットも回しません) どちらでも、先に JsonStoreLayout.cs の rooms の所(214〜258 行)だけ目を通してください。 今回変えたのはそこと、報告の行の 2 行だけです。 ──────────────────────────────────────────────────────── 5. いまのファイル ──────────────────────────────────────────────────────── 変えたもの Store/Layouts/p1_efficient_corner.json 写し直し(e624bdf4bdd4) Store/Layouts/p5_crammed.json 写し直し(e624bdf4bdd4) Store/Layouts/summary.json 写し直し Store/JsonStoreLayout.cs walkable / staff_only を足した Store/StoreLayout_p1_efficient_corner.asset fetchedAt Store/StoreLayout_p5_crammed.asset fetchedAt 変えていないもの Store/SimpleJson.cs / Editor/ServiceSimJsonStore.cs(前回のまま) StoreBuilder.cs / StorePlan.cs / StoreLayout.cs / NavMeshBaker.cs ロボット・人・実験のコード / ServiceSimMenu.cs StoreLayout_Family.asset / StoreLayout_Grid.asset VCS Check-in はまだしていません(確かめが通ってから)。