# 寸法つき図面から店の形を起こした記録（blind3）

入力は `drawing.png`・標準の家具の大きさ・図面から読めるキッチンまわりの点だけ。人の手直し・店の人への質問なし。
途中のスクリプトは `work/`（`comps.py`：線のつながりの外接矩形を mm で出す、`runs.py`：行・列ごとの黒い区間、`thick.py`：太い線、`build_v0.py`：JSON を起こす、`make_final.py`）。

## 1. 縮尺の決め方
- 寸法線の端の目盛りを、画素の列・行で拾った（上の寸法線の目盛り x=192/641/771/901/1314/1610、下 192/759/925/1610、右 y=157/286/936/1291、左 286/783/1291）
- 横：24000mm ÷ (1610−192)=1418px → **16.925 mm/px**
- 縦：19200mm ÷ (1291−157)=1134px → **16.931 mm/px**。縦と横の差は 0.04%（1画素未満）で、縦横同じ縮尺とみなした
- 途中の寸法も合う：上 7600/2200/2200/7000/5000 → 計算 7.60/9.80/12.00/18.99/24.00m、下 9600/2800/11600 → 9.60/12.39/24.00m、右 6000/11000/2200 → 6.01/17.01/19.20m、左 8600/8400 → 8.60/17.01m。ずれは最大 ±0.02m
- 寸法は壁の内側の線（通り芯の点線と一致）に付いている。太い壁の線はその外側に描かれている。原点＝外壁の内側の左下（画素 192, 1291）。outer は 24.0×19.2m

## 2. 図面から読めたこと
- 建物の形：四角でない。左上（x 0〜7.6m、y 17.0〜19.2m）が建物の外（上の寸法 7600 と、左の寸法が 8600+8400=17000 で止まることから）。outline と kind="outside" の部屋で表した
- 入口：下の辺、x 9.6〜12.4m（下の寸法 9600 / 2800）。両開きの扉
- 卓：**19卓・88席**（椅子・ソファの数で数えた）
  - booth6L（L字ソファ6人）×5＝30席：左の壁に4つ（左上2・左下2、上下で向きが逆）、右の壁の奥に1つ（flip・mirror）。ソファの帯の厚み・列の幅・テーブル（0.76×1.22m）が booth6L の比（帯0.45h・列0.55w）とぴったり合った
  - t4（4人の角テーブル）×11＝44席：椅子が左右のもの9、上下のもの2（`chairs` に記録）
  - r4（4人の丸テーブル）×2＝8席
  - long6（6人の長テーブル、天板3.22×0.76m＋スツール上下3つずつ、外形3.22×1.94m）×1＝6席
- 部屋：パントリー（x 9.8〜12.0、y 6.0〜14.0）、キッチン、冷蔵庫・こおり・冷凍庫・保存庫・社員トイレ・更衣室（右の列）、洗い場（x 12.0〜21.0、y 17.0〜19.2）、物置、裏の通路（キッチンと洗い場の間 y 16〜17）、ドリンクバー（x 13.4〜18.6、y 3.2〜3.93、kind="drink"）、レジ（2.52×0.81m）、待合（1.2×0.5m、入口の右の壁ぎわ）
- 受け渡し口：2つ。パントリーの下の端（客席側、y 6.0〜6.4）と上の端（トイレ側の通路、y 13.6〜14.0）
- 洗い場：右上の奥。キッチン側から裏の通路を通って入る。店員の扉が2つ（x=12.0、トイレ側の通路から裏の通路へ・キッチンへ）を doors に入れた
- トイレ：1つ（x 7.6〜9.2、y 17.0〜19.2）。入口は下の辺（x 8.3〜9.2）。入口の前は、目隠しの壁（x 7.9〜8.12、y 14.4〜17.0）とパントリー側の壁（x 9.5〜9.8、y 15.0〜17.0）にはさまれた通路（幅1.38m）で、客席へ出る。壁の厚みは0.3m（図面の太線 17〜19px）
- 仕切り：左の客席を上下に分ける斜線の帯（x 0〜8.0、y 8.6〜9.0、厚さ0.42m）。walls に入れた

## 3. 図面から読んだ通路の幅
| 場所 | 幅 |
|---|---|
| 仕切りの右端（x 8.0）〜パントリーの壁（x 9.5）。左の上下をつなぐ所 | 1.50m |
| 左上：L字席の右端（x 2.6）〜 t4（x 4.0） | 1.40m |
| 左上：t4 と t4 の間（x 5.2〜6.0） | 0.80m |
| 左上：t4（x 7.2）〜トイレ前の目隠しの壁（x 7.9） | 0.70m |
| 左上：丸テーブル（x 7.95）〜パントリーの壁（x 9.5） | 1.55m |
| 左下：L字席の右端（x 2.8）〜 t4・長テーブル（x 4.2〜4.4） | 1.40〜1.60m |
| 左下：長テーブルの下（y 3.645）〜手前の t4 の上（y 1.57〜1.59） | 2.06m |
| 手前の t4 〜下の外壁 | 0.41〜0.46m |
| レジの右端（x 12.3）〜ドリンクバー（x 13.4） | 1.10m |
| ドリンクバーの上（y 3.93）〜キッチンの壁（y 6.0）。受け渡し口から右の客席へ出る道 | 2.07m（待機場所を置いた所は 1.27m） |
| ドリンクバーの下（y 3.2）〜右の t4 の上（y 1.57〜1.59） | 1.61m |
| ドリンクバーの右端（x 18.6）〜右の L字席（x 21.2） | 2.60m |
| トイレ前の通路（目隠しの壁〜パントリー側の壁） | 1.38m |

## 4. 家具の種類に合わなかった形
- 丸テーブル r4 の2つは、椅子の描き方が標準と違った。左は椅子込みの外形が 0.95×1.10m、右は 1.10×1.05m。天板（直径0.81m）の中心を保って標準の 1.1×1.1m で置いた（ずれ：左は横に各0.075m広がる、右は縦に0.025m広がる）
- t4 は標準 1.2m 四方だが、図面は椅子込みで 1.2×1.12m（椅子が左右）・1.12×1.2m（椅子が上下）、手前の2卓は 1.2×1.19m。図面の大きさを正として w・h を図面どおりにした
- booth6L は大きさが4通り（2.6×3.6m、2.8×3.8m、2.8×4.0m、右の壁の1つは2.8×3.0m）。種類は同じで w・h を図面どおりにした
- 斜めの卓・半円・カウンター席はなかった。walls に回した家具もない
- 道具は t4 の4辺すべてを止まってよい辺として扱う。椅子が左右の t4 に、椅子のない上下の辺から配る結果になる卓がある（T03・T04・T11・T15）。椅子の向きは `chairs` に残したが、計算には使われない

## 5. 図面に描かれておらず、仮に置いたこと
- **dish_up の1つ目＝客席側の受け渡し口**（パントリーの下の端）。理由：前（下）がそのまま客席の真ん中に開いていて、左右どちらの客席へも1本で出られる。上の受け渡し口の前はトイレ前の通路（幅1.0mの開口と1.38mの通路）を通らないと客席へ出られず、トイレの客とぶつかる。また道具は受け渡し口の下の辺の前を出発点にするので、下向きに開いた客席側が向きにも合う。上の受け渡し口は2つ目として残した（道具は1つ目しか使わない）
- **待機場所**：受け渡し口の右どなり、キッチンの壁ぎわ（x 12.0〜13.6、y 5.2〜6.0）に**2台分**（0.8×0.8m ×2）。受け渡し口の前（y 4.8〜6.0、x 9.8〜12.0）には重ならない。台数（2台）も仮
- **レジ内**：図面はカウンター（レジ 2.52×0.81m）だけ。店員の立つ所をカウンターの奥（パントリー側）に 0.8m 置いた。これで会計の列（客の側）は入口の側になる
- キッチンの奥（冷蔵庫・冷凍庫・保存庫・社員トイレ・更衣室・裏の通路）は細かく分けず、客が入らない部屋（back）としてまとめた
- パントリー上のトイレ側の通路（x 9.8〜12.0、y 14.0〜19.2）は、どの部屋にもしなかった（図面で客席とつながっているため）。店員だけの通路かは不明
- パントリーとキッチンの間の出入り口は図面から読めず、doors に入れていない
- 壁の高さ・仕切りの高さは道具の仮の値のまま

## 6. 決まりの違反と直し方（v0 → final）
- **v0 の違反 0**。図面を読んだままで、決まりをすべて満たした。final は v0 と同じ形（名前だけ変えた）。直した所はない
- ロボットの届き方（BellaBot、ふだん走らせる幅1.0m）：19卓・88席すべてが「ロボットが届く」。狭い道なら届く 0、人が運ぶ 0。受け渡し口の前から止まる位置まで平均 8.5m・最長 13.76m（左上の奥の L字席）。2つのマス目の細かさで結果が同じ
- 決まりに引っかかりそうだった所：
  - トイレに一番近い t4（x 6.0〜7.2、y 15.05〜16.17）はトイレから 0.92m で 1m 以内。図面にある目隠しの壁で、席の端からトイレの入口への4本の線がすべてさえぎられるので、決まりを満たした（図面の意図どおり）
  - 会計に立つ点・並ぶ点がロボットの道から0.75m以上かは、evaluate_layout.py では確かめない（Unity 用の書き出しで確かめる決まり）。会計の列（幅1.0m・長さ2.15m）をロボットの障害物にしているので、ロボットの道は列の真ん中から1.0m以上離れ、作りの上では満たす
- 日本のファミレス向けの決まりと合わなかった所・気になる所：
  - レジのカウンターが入口の正面（入口から2.2m）に、入口の幅2.8mのほぼ全幅（2.52m）をふさぐ形で置かれている。客はレジの左右を回って入る。会計の列（入口の側に仮に置いた）が入口から入る客の動線と重なる
  - 手前の t4（5卓）は外壁との間が 0.41〜0.46m。決まりでは問題ないが、壁側の椅子に人が回り込みにくい
  - 左上の t4 と t4 の間が 0.80m、t4 と目隠しの壁の間が 0.70m。ロボットはそこを通らず別の辺から配るが、人の通り道としては狭め
  - 待機場所を置いたことで、受け渡し口から右の客席への道が 2.07m → 1.27m に狭くなる（ふだん走らせる幅 1.0m は残る）

## 7. 店の人に聞けば確かになること
- レジの店員はカウンターのどちら側（パントリー側か、入口側か）に立ちますか。会計の列はどこにできますか
- ロボットは何台入れる予定で、待機・充電はどこに置けますか（コンセントの位置は）
- 料理の受け渡しは、客席側の受け渡し口とトイレ側の受け渡し口のどちらで行いますか。トイレ側は何に使っていますか（下げ物の返却口など）
- パントリー上のトイレ側の通路は、客も通りますか、店員だけですか
- パントリーとキッチンの間に出入り口はありますか。洗い場への下げ物はどこから入れますか
- 丸テーブル・角テーブルの椅子の実際の数と置き方は図面どおりですか（席数88で合っていますか）
- 仕切り（斜線）の高さはどのくらいですか（座った客から見通せるか）
- 待合のベンチは何人掛けですか。入口の右の壁ぎわだけですか
