依頼140：病院の立体の見た目で、引きを廊下と待合に絞り、寄りの見やすい角度を探る（2026-11-10）
====================================================================

--------------------------------------------------------------------
0. 始める前の確かめ（すべて合格）
--------------------------------------------------------------------
  作業場所の保留：0（最後の check-in は cs:116）
  Unity・回し係：動いていない（Unity Hub だけ）。KIOXIA：マウント済み
  params md5 f72d3810674b31dadd9dfa4ce0141178（作業場所の写しとサイト p2m-site main の両方）
  hospital_h0.json a29cd1d981e5b3086fb623fc647926d9・hospital_h0b.json ddefbd8ca0db243f41601532e7b8dee8（依頼139 と同じ）


--------------------------------------------------------------------
1. 色の既定の直し（Assets/ServiceSim/Hospital/ の中だけ）
--------------------------------------------------------------------
  新しい引数 -h140Scheme A|B|C|all（既定 A）。-h139Look on のとき、場面の色をはじめにこの色にする
  静止画もこの色だけ撮る（依頼139 は3案を順に撮り、最後に C のまま残っていた）。all＝依頼139 と同じく静止画を3案とも撮る（場面は A）
  -h139VidScheme を渡さなければ、動画もこの色。B・C は -h140Scheme B／C で使える
  ほかに、撮るときだけ look139/look_static.csv（動かない物の箱の外形）を書くようにした（見えるかどうかを数えるため。記録7つには入らない）
  変えたファイル：HospitalLook.cs・HospitalRun.cs（引数を読むだけ）・Editor/HospitalSetup.cs（出力先を Builds/hospital140 に）
  場面・材質・部屋の箱・壁の高さ（2.4 m）・配膳の物には触っていない


--------------------------------------------------------------------
2. カメラの値（透視投影・縦の画角 40°・2720×2160 で撮って 1360×1080 に縮める。方位 0＝+z、右30°＝方位 -30＝南東から、
   左30°＝方位 +30＝南西から。距離は依頼139 の camfit139.py と同じ決め方：範囲の四隅（高さ 0 と 2.4 m）が余白 3% の内側に入る
   いちばん近い距離・注視点は写った範囲の真ん中が画面の真ん中に来るように動かす）
--------------------------------------------------------------------
  引き 6枚（白い輪＝ロボットは今のまま付けた）
   名前            範囲    見下ろす 方位  注視点 (x, z)     距離     カメラの高さ  カメラの位置 (x, z)
   w_full_top      全長    90°      0     (60.00, 22.00)   142.8 m  142.8 m       (60.00, 22.00)
   w_full_l30_60   全長    60°      30    (53.60, 20.36)   132.5 m  114.8 m       (20.48, -37.01)
   w_full_l30_75   全長    75°      30    (56.76, 21.29)   134.4 m  129.8 m       (39.37, -8.84)
   w_west_top      西半分  90°      0     (35.75, 22.00)    86.5 m   86.5 m       (35.75, 22.00)
   w_west_l30_60   西半分  60°      30    (32.33, 20.32)    84.4 m   73.1 m       (11.23, -16.23)
   w_west_l30_75   西半分  75°      30    (34.06, 21.26)    85.8 m   82.9 m       (22.96, 2.03)
   全長＝x -0.5〜120.5・z 12.5〜31.5、西半分＝x -0.5〜72・z 12.5〜31.5
   （全長の真上は横の 121 m で距離が決まるので、依頼139 のフロア全体の真上と同じ 142.8 m になった。縦は画面の上下に余る）

  寄り 8枚（範囲 x9〜31・z26〜32。依頼139 と同じ）
   名前        向き    見下ろす  注視点 (x, z)     距離    カメラの高さ  カメラの位置 (x, z)
   n_r30_60    右30°   60°       (20.69, 29.05)   27.5 m  23.82 m       (27.57, 17.14)
   n_r30_675   右30°   67.5°     (20.48, 29.12)   27.8 m  25.68 m       (25.80, 19.91)
   n_r30_75    右30°   75°       (20.29, 29.14)   27.9 m  26.95 m       (23.90, 22.89)
   n_r30_825   右30°   82.5°     (20.15, 29.07)   28.0 m  27.76 m       (21.98, 25.91)
   n_l30_60    左30°   60°       (19.31, 29.05)   27.5 m  23.82 m       (12.44, 17.14)
   n_l30_675   左30°   67.5°     (19.52, 29.12)   27.8 m  25.68 m       (14.20, 19.91)
   n_l30_75    左30°   75°       (19.71, 29.14)   27.9 m  26.95 m       (16.10, 22.89)
   n_l30_825   左30°   82.5°     (19.85, 29.07)   28.0 m  27.76 m       (18.02, 25.91)
  n_r30_60 は依頼139 の obl_r30_near（-30,60,20.69,29.05,27.5）と同じ値。Unity で撮った元の画像（2720×2160）は依頼139 と
  md5 も同じ（31e5d4b39fde501205a982673db31875・違う画素 0）。カメラの行列・位置も同じ

  撮った回・時刻は依頼139 と同じ（廊下だけ・0.6m/秒・種0、静止画 8862 秒＝9時57分42秒、動画 8845〜8945 秒）


--------------------------------------------------------------------
3. 寄りの角度を比べる数（tools/vis140.py・sheets/near_metrics140.csv）
--------------------------------------------------------------------
  決め方：「見える」＝カメラの位置から点までの線が、部屋の箱（見た目の灰色の箱 10 個）と待合の壁（3 枚）を通らず、画面の中にある。
         長いす・カウンター・人・ロボットは隠すものに入れていない。床の上の面は高さ 0（下の 4 (4) を参照）
   ①見える廊下：大廊下の床 x9〜31・z27〜31 を 0.1 m のマス（8,800 個）に切り、マスの中心が見える割合（画面の外に出たマスはどの角度も 0）
   ②見える輪：8852〜8862 秒に出た輪 5 個（events 1202〜1206）の中心が見える数
   ③ロボット：8845〜8945 秒の 0.2 秒ごと 501 コマで、白い円柱の上の面（高さ 1.081 m）の中心が見えるコマの割合。
     ロボットは 8877 秒ごろ西の縦廊下へ曲がって寄りの範囲から出るので、画面の中にいたコマ数と、そのうち箱に隠れたコマ数も書く
   ④人の見分け：(20, 29) に立つカプセル（体 直径 0.4・高さ 1.59 m）の画面の縦の幅（左 1360×1080 の絵の画素）。
     かっこ内は足元から 1.59 m の縦の線の長さ（真上に近いほど短い）

   向き   見下ろす ①見える廊下 ②見える輪 ③ロボット（画面の中／うち隠れ）   ④人の高さ（縦の線）
   右30°  60°      82.5%        2／5      42.3%（212／501 コマ・隠れ 0）    56.1 画素（45.6）
   右30°  67.5°    88.9%        4／5      41.7%（209 コマ・隠れ 0）         47.8 画素（34.6）
   右30°  75°      93.5%        5／5      41.3%（207 コマ・隠れ 0）         39.2 画素（23.2）
   右30°  82.5°    98.4%        5／5      41.3%（207 コマ・隠れ 0）         30.5 画素（11.7）
   左30°  60°      79.9%        2／5      44.7%（235 コマ・隠れ 11）        56.1 画素（45.6）
   左30°  67.5°    87.5%        4／5      48.5%（244 コマ・隠れ 1）         47.8 画素（34.6）
   左30°  75°      93.1%        5／5      49.7%（249 コマ・隠れ 0）         39.2 画素（23.2）
   左30°  82.5°    98.3%        5／5      49.9%（250 コマ・隠れ 0）         30.5 画素（11.7）
  隠れた輪：60° は右・左とも 1202・1204・1205（大廊下の南の端 z27.6〜28.0）、67.5° は 1204（z27.6）
  上の面の縁 8 点もすべて見えるコマの割合（参考）：右 37.9／40.9／40.7／40.9%、左 37.3／44.1／47.7／49.5%（60→82.5°の順）


--------------------------------------------------------------------
4. 確かめ
--------------------------------------------------------------------
  (1) 色の既定を A にした cs:117 の実行ファイルで、check139a と同じ回（時間で切替・0.6m/秒・種0）を -h139Look on で回した
      （check140a_v06_switch_s0・status completed）。記録7つの md5 は依頼138（check138a）・依頼139（check139a）と1バイトも違わない：
        legs.csv c16df55d225bff9b9e2c35391751ef84・events.csv 7e32a56d9806c6354704a3c91af29148・rescues.csv 46f222937bb9562043663e1a3d7f8b2f・
        robot_track.csv 458987516003595228862fd1ebb1f31b・trips.csv 3ae372d5b5eedce24fedf3da531f49e0・moves.csv b20f7c01f8596d37a26906ac7ef31028・
        crowd.csv ad41d0201578ec8e1129ae4d76220ca2
      summary.json で違うのは run・unity_cs・wall_s だけ
  (2) 瞬間移動：check140a ロボット 0・人 0。撮った回 near140・wide140 も 0・0
      撮った2回は、依頼138 の day138_v06_hall_s0 と止めた所まで同じ（robot_track・crowd は先頭からそのまま同じ、
      events は閉じた件数 near 1,213 件・wide 1,204 件が同じ）
  (3) 並べた図2枚と 14 枚を開いて見た：文字・絵は切れていない（パネルの3行目「カメラ 引き・西半分・75°見下ろし・左30°」も右に収まる）。
      引きの白い輪はロボットの所に出ている
  (4) 輪のずれ：look_static.csv で床（Floor01〜04）の上の面が高さ 0 だと分かった。依頼139 の pan139.py は輪を高さ 0.2 m に描いていたので
      （60° で床の上で約 0.12 m ずれる）、依頼140 では 0 に直した（直したこと）。直したあと、寄り4枚（右・左 × 60°・82.5°）に
      床の角 (22.95,27)・(25.05,27)・(25.1,27)・(9,31)・(31,31) を印で重ね、箱・壁の床ぎわの角に重なるのを見た（verify/corners140.png）
  (5) 隠れた所の輪（60°・67.5°）は、依頼139 と同じく箱の上に重なって描かれる（決めてほしいこと2 の件。今回は変えていない）


--------------------------------------------------------------------
5. 出力の場所
--------------------------------------------------------------------
  KIOXIA /Volumes/KIOXIA/r2r2r-data/service_sim/unity/hospital/20261110_look140/
    stills/still_A_{w_full_top|w_full_l30_60|w_full_l30_75|w_west_top|w_west_l30_60|w_west_l30_75}.png（引き6枚・パネル付き 1920×1080）
    stills/still_A_n_{r30|l30}_{60|675|75|825}.png（寄り8枚）
    sheets/wide6_140.png（引き6枚を並べた図・行＝範囲・列＝真上・60°・75°）・near8_140.png（寄り8枚・行＝右30°・左30°・列＝角度・絵の下に4つの数）・
           near_metrics140.csv（3 の表）
    videos/hospital140_A_n_{r30|l30}_{60|675|75|825}_5x.mp4（8本・各 20.04 秒・25 コマ/秒・店の時刻の5倍・1920×1080・パネル付き・色A）
    runs/near140_v06_hall_s0・wide140_v06_hall_s0（撮った回。look139/ に元の画像・cam_*.json・look_frames.csv・look_static.csv）・
    runs/check140a_v06_switch_s0（確かめの回）・verify/corners140.png・logs/
    tools/run140.sh（回す）・cams140.py（14 のカメラ）・camfit139.py（依頼139 の写し）・vis140.py（3 の数）・pan140.py（輪とパネル・動画）・sheet140.py（並べた図）
  iCloud …/サービスロボット導入シミュレーション/hospital/look140/ に wide6_140.png・near8_140.png を写した（md5 一致）


--------------------------------------------------------------------
6. check-in・実行ファイル
--------------------------------------------------------------------
  check-in：cs:117（保留 0）
  実行ファイル：Builds/hospital140/HospitalSim.app（build_info：unity_cs ServiceSim/cs:117・pending_changes 空）。
    Builds/hospital127・132・134・136・138・139 はそのまま
  配膳の場面・配膳の実行ファイル・配膳の台帳・配膳と共通の部品には触っていない。試算の数え方・人やロボットの動き・記録の中身は変えていない


--------------------------------------------------------------------
決めてほしいこと
--------------------------------------------------------------------
  なし（寄りの角度は、依頼のとおり 8 枚と数を並べただけで決めていない。エイイチが決める）

判定：合格
