{
  "factory_id": "F25",
  "design_revision": 2,
  "design_story": "블루캔은 북서 참치 손질·증자·정선동에서 승인한 살코기를 바로 오른쪽 캔 공급·충전·시밍동으로 넘긴다. 닫힌 캔은 그 남쪽 내압 살균·건조동에서 바스켓별로 처리하고, 서쪽 캔 검사보류·외포장동에서 승인 표시를 확인한 후 출하한다. 습식 생선 부산물과 빈 캔·권체 뚜껑은 별도 서비스 문으로 반입·회수하고 제품 이송은 가까운 외벽 사이에서만 이루어진다. 남측 검사·열원·탈의·사무실은 실제 벤치와 스키드 규모에 맞춘 낮은 지원 wing이다. 벽돌 습식동과 톱니 캔 충전동, 둥근 내압동과 낮은 보류실 지붕이 공정의 열·위생 차이를 구분한다.",
  "site": {
    "width": 148,
    "depth": 137
  },
  "buildings": [
    {
      "id": "B01",
      "name": "습식 참치 손질·증자·정선동",
      "role": "production",
      "polygon": [
        [
          24.0,
          90.0
        ],
        [
          74.037,
          90.0
        ],
        [
          74.037,
          122.49
        ],
        [
          24.0,
          122.49
        ]
      ],
      "height": 8,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "brick",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B01-OPEN-1",
          "building_id": "B01",
          "x": 24.0,
          "y": 92.15,
          "width": 3.52,
          "sill_height": 0,
          "height": 3.6,
          "axis": "y",
          "kind": "vehicle_door",
          "connects": [
            "raw-dock",
            "shipping-dock",
            "zone:B01-BUFFER"
          ],
          "route_ids": [
            "INBOUND",
            "SERVICE-RING"
          ],
          "closure": "staff/vehicle doorway"
        },
        {
          "id": "B01-OPEN-2",
          "building_id": "B01",
          "x": 74.037,
          "y": 102.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-0",
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B01-OPEN-3",
          "building_id": "B01",
          "x": 74.037,
          "y": 110.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B02",
      "name": "빈 캔 공급·충전·시밍동",
      "role": "production",
      "polygon": [
        [
          78.0,
          90.0
        ],
        [
          123.8,
          90.0
        ],
        [
          123.8,
          119.231
        ],
        [
          78.0,
          119.231
        ]
      ],
      "height": 8,
      "roof": {
        "type": "sawtooth",
        "axis": "y",
        "pitch": 0.08
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "metal",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B02-OPEN-1",
          "building_id": "B02",
          "x": 95.0,
          "y": 90.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:2",
            "equipment:S06:2"
          ],
          "route_ids": [
            "FLOW-S05-S06-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-2",
          "building_id": "B02",
          "x": 98.0,
          "y": 90.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:0",
            "equipment:S05:3",
            "equipment:S06:0"
          ],
          "route_ids": [
            "FLOW-S05-S06-0",
            "FLOW-S05-S06-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-3",
          "building_id": "B02",
          "x": 102.0,
          "y": 90.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:1",
            "equipment:S06:1"
          ],
          "route_ids": [
            "FLOW-S05-S06-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-4",
          "building_id": "B02",
          "x": 78.0,
          "y": 102.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-0",
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-5",
          "building_id": "B02",
          "x": 78.0,
          "y": 110.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B03",
      "name": "내압 살균·수분 건조동",
      "role": "production",
      "polygon": [
        [
          78.0,
          53.0
        ],
        [
          129.281,
          53.0
        ],
        [
          129.281,
          86.447
        ],
        [
          78.0,
          86.447
        ]
      ],
      "height": 9,
      "roof": {
        "type": "barrel",
        "axis": "x",
        "pitch": 0.08
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "concrete",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B03-OPEN-1",
          "building_id": "B03",
          "x": 95.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:2",
            "equipment:S06:2"
          ],
          "route_ids": [
            "FLOW-S05-S06-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-2",
          "building_id": "B03",
          "x": 98.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:0",
            "equipment:S05:3",
            "equipment:S06:0"
          ],
          "route_ids": [
            "FLOW-S05-S06-0",
            "FLOW-S05-S06-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-3",
          "building_id": "B03",
          "x": 102.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:1",
            "equipment:S06:1"
          ],
          "route_ids": [
            "FLOW-S05-S06-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-4",
          "building_id": "B03",
          "x": 78.0,
          "y": 66.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-5",
          "building_id": "B03",
          "x": 78.0,
          "y": 75.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:1",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B04",
      "name": "캔 검사 보류·외포장동",
      "role": "production",
      "polygon": [
        [
          38.0,
          49.0
        ],
        [
          74.322,
          49.0
        ],
        [
          74.322,
          86.82
        ],
        [
          38.0,
          86.82
        ]
      ],
      "height": 8,
      "roof": {
        "type": "flat",
        "axis": "y",
        "pitch": 0.08
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "metal",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B04-OPEN-1",
          "building_id": "B04",
          "x": 38.0,
          "y": 51.15,
          "width": 3.52,
          "sill_height": 0,
          "height": 3.6,
          "axis": "y",
          "kind": "vehicle_door",
          "connects": [
            "raw-dock",
            "shipping-dock",
            "zone:B04-BUFFER"
          ],
          "route_ids": [
            "OUTBOUND",
            "SERVICE-RING"
          ],
          "closure": "staff/vehicle doorway"
        },
        {
          "id": "B04-OPEN-2",
          "building_id": "B04",
          "x": 74.322,
          "y": 66.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B04-OPEN-3",
          "building_id": "B04",
          "x": 74.322,
          "y": 75.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:1",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "LAB",
      "name": "원료·제품 품질 검사동",
      "role": "laboratory",
      "polygon": [
        [
          24,
          24
        ],
        [
          46,
          24
        ],
        [
          46,
          29.2
        ],
        [
          24,
          29.2
        ]
      ],
      "height": 7,
      "roof": {
        "type": "shed",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "concrete",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "LAB-OPEN-1",
          "building_id": "LAB",
          "x": 24,
          "y": 26.6,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:LAB",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-LAB"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "UTIL",
      "name": "열원·냉열·정비동",
      "role": "utility",
      "polygon": [
        [
          46,
          24
        ],
        [
          82,
          24
        ],
        [
          82,
          40.1
        ],
        [
          46,
          40.1
        ]
      ],
      "height": 9,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "metal",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "UTIL-OPEN-1",
          "building_id": "UTIL",
          "x": 46,
          "y": 32.05,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:UTIL",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-UTIL"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "STAFF",
      "name": "위생복 탈의·교대 휴게동",
      "role": "staff",
      "polygon": [
        [
          82,
          24
        ],
        [
          110,
          24
        ],
        [
          110,
          32.3
        ],
        [
          82,
          32.3
        ]
      ],
      "height": 7,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "brick",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "STAFF-OPEN-1",
          "building_id": "STAFF",
          "x": 96.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "kind": "personnel_door",
          "connects": [
            "building:STAFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-STAFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "OFF",
      "name": "생산계획·배차 사무동",
      "role": "office",
      "polygon": [
        [
          110,
          24
        ],
        [
          130,
          24
        ],
        [
          130,
          32.0
        ],
        [
          110,
          32.0
        ]
      ],
      "height": 7,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.84,
          0.9,
          0.92
        ],
        "accent": [
          0.15,
          0.38,
          0.56
        ],
        "material": "glass",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "OFF-OPEN-1",
          "building_id": "OFF",
          "x": 120.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "kind": "personnel_door",
          "connects": [
            "building:OFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-OFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    }
  ],
  "zones": [
    {
      "id": "B01-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B01",
      "x": 24.0,
      "y": 90.0,
      "width": 50.037,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B01-PROCESS",
      "name": "습식 참치 손질·증자·정선동 작업홀",
      "role": "process",
      "building_id": "B01",
      "x": 24.0,
      "y": 94.0,
      "width": 37.037,
      "depth": 28.49,
      "stage_ids": [
        "S01",
        "S02",
        "S03"
      ],
      "fixtures": [
        {
          "id": "B01-PROCESS-FX01",
          "type": "product_bins",
          "x": 56.84,
          "y": 96.76,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "습식 참치 손질·증자·정선동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B01-PROCESS-FX02",
          "type": "worktable",
          "x": 56.84,
          "y": 100.76,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B01-PROCESS-FX03",
          "type": "bin_rack",
          "x": 40.84,
          "y": 117.76,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B01-PROCESS-FX04",
          "type": "dock_staging",
          "x": 46.84,
          "y": 117.76,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B01-PROCESS-FX05",
          "type": "weigh_station",
          "x": 57.84,
          "y": 104.76,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B01-PROCESS-FX06",
          "type": "wash_station",
          "x": 57.84,
          "y": 108.76,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        },
        {
          "id": "B01-PROCESS-FX07",
          "type": "product_bins",
          "x": 52.84,
          "y": 117.76,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "습식 참치 손질·증자·정선동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B01-PROCESS-FX08",
          "type": "bin_rack",
          "x": 26.84,
          "y": 120.76,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B01-PROCESS-FX09",
          "type": "weigh_station",
          "x": 57.84,
          "y": 112.76,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B01-PROCESS-FX10",
          "type": "wash_station",
          "x": 57.84,
          "y": 116.76,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        },
        {
          "id": "B01-PROCESS-FX11",
          "type": "wash_station",
          "x": 57.84,
          "y": 120.76,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        }
      ],
      "openings": [
        {
          "id": "B01-PROCESS-OPEN-1",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 60.689,
          "y": 94.0,
          "width": 0.697,
          "sill_height": 0,
          "height": 3.6,
          "axis": "x",
          "kind": "vehicle_door",
          "connects": [
            "raw-dock",
            "zone:B01-BUFFER"
          ],
          "route_ids": [
            "INBOUND"
          ],
          "closure": "staff/vehicle doorway"
        },
        {
          "id": "B01-PROCESS-OPEN-2",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 61.037,
          "y": 94.532,
          "width": 1.064,
          "sill_height": 0,
          "height": 3.6,
          "axis": "y",
          "kind": "vehicle_door",
          "connects": [
            "raw-dock",
            "zone:B01-BUFFER"
          ],
          "route_ids": [
            "INBOUND"
          ],
          "closure": "staff/vehicle doorway"
        },
        {
          "id": "B01-PROCESS-OPEN-3",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 61.037,
          "y": 94.517,
          "width": 1.035,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S01:0",
            "equipment:S01:1",
            "equipment:S01:2",
            "zone:B01-BUFFER"
          ],
          "route_ids": [
            "RAW-FEED-0",
            "RAW-FEED-1",
            "RAW-FEED-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B01-PROCESS-OPEN-4",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 61.037,
          "y": 102.75,
          "width": 1.57,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-0",
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B01-PROCESS-OPEN-5",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 61.037,
          "y": 110.5,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B01-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "warehouse",
      "building_id": "B01",
      "x": 64.037,
      "y": 94.0,
      "width": 10.0,
      "depth": 15.669,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B01-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 68.84,
          "y": 96.76,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B01-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 66.84,
          "y": 100.76,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        },
        {
          "id": "B01-BUFFER-FX03",
          "type": "pallet_rack",
          "x": 68.84,
          "y": 104.76,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        }
      ],
      "openings": []
    },
    {
      "id": "B01-SERVICE",
      "name": "습식 참치 손질·증자·정선동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B01",
      "x": 64.037,
      "y": 109.67,
      "width": 10.0,
      "depth": 12.82,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B01-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 67.84,
          "y": 111.76,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B01-SERVICE-FX02",
          "type": "compressor",
          "x": 66.84,
          "y": 115.76,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        },
        {
          "id": "B01-SERVICE-FX03",
          "type": "cip_skid",
          "x": 67.84,
          "y": 119.76,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        }
      ],
      "openings": [
        {
          "id": "B01-SERVICE-OPEN-1",
          "building_id": "B01",
          "zone_id": "B01-SERVICE",
          "x": 72.808,
          "y": 109.67,
          "width": 2.458,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B01-SERVICE-OPEN-2",
          "building_id": "B01",
          "zone_id": "B01-SERVICE",
          "x": 64.037,
          "y": 110.5,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B01-SERVICE-OPEN-3",
          "building_id": "B01",
          "zone_id": "B01-SERVICE",
          "x": 74.037,
          "y": 110.102,
          "width": 0.865,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B01-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B01",
      "x": 61.037,
      "y": 94.0,
      "width": 3,
      "depth": 28.49,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B02-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B02",
      "x": 78.0,
      "y": 90.0,
      "width": 45.8,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B02-PROCESS",
      "name": "빈 캔 공급·충전·시밍동 작업홀",
      "role": "process",
      "building_id": "B02",
      "x": 78.0,
      "y": 94.0,
      "width": 32.8,
      "depth": 25.231,
      "stage_ids": [
        "S04",
        "S05"
      ],
      "fixtures": [
        {
          "id": "B02-PROCESS-FX01",
          "type": "product_bins",
          "x": 99.88,
          "y": 114.76,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "빈 캔 공급·충전·시밍동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B02-PROCESS-FX02",
          "type": "worktable",
          "x": 105.88,
          "y": 114.76,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B02-PROCESS-FX03",
          "type": "weigh_station",
          "x": 107.88,
          "y": 107.76,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        }
      ],
      "openings": [
        {
          "id": "B02-PROCESS-OPEN-1",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 88.5,
          "y": 94.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:2",
            "equipment:S06:2"
          ],
          "route_ids": [
            "FLOW-S05-S06-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-2",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 98.0,
          "y": 94.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:0",
            "equipment:S05:3",
            "equipment:S06:0"
          ],
          "route_ids": [
            "FLOW-S05-S06-0",
            "FLOW-S05-S06-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-3",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 101.5,
          "y": 94.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:1",
            "equipment:S06:1"
          ],
          "route_ids": [
            "FLOW-S05-S06-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-4",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 78.0,
          "y": 102.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-0",
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-5",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 78.0,
          "y": 110.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:3"
          ],
          "route_ids": [
            "FLOW-S03-S04-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B02-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "warehouse",
      "building_id": "B02",
      "x": 113.8,
      "y": 94.0,
      "width": 10.0,
      "depth": 13.877,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B02-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 118.88,
          "y": 96.76,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B02-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 116.88,
          "y": 100.76,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        },
        {
          "id": "B02-BUFFER-FX03",
          "type": "pallet_rack",
          "x": 118.88,
          "y": 104.76,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        }
      ],
      "openings": []
    },
    {
      "id": "B02-SERVICE",
      "name": "빈 캔 공급·충전·시밍동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B02",
      "x": 113.8,
      "y": 107.877,
      "width": 10.0,
      "depth": 11.354,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B02-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 116.88,
          "y": 109.76,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B02-SERVICE-FX02",
          "type": "compressor",
          "x": 116.88,
          "y": 113.76,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        }
      ],
      "openings": []
    },
    {
      "id": "B02-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B02",
      "x": 110.8,
      "y": 94.0,
      "width": 3,
      "depth": 25.231,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B03-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B03",
      "x": 78.0,
      "y": 53.0,
      "width": 51.281,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B03-PROCESS",
      "name": "내압 살균·수분 건조동 작업홀",
      "role": "process",
      "building_id": "B03",
      "x": 78.0,
      "y": 57.0,
      "width": 38.281,
      "depth": 29.447,
      "stage_ids": [
        "S06",
        "S07"
      ],
      "fixtures": [
        {
          "id": "B03-PROCESS-FX01",
          "type": "worktable",
          "x": 84.3,
          "y": 80.0,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "레일에 정렬한 바스켓을 적재 셀과 열처리 대기 위치 사이에 이송한다",
          "model_profile": "food_basket_handoff"
        },
        {
          "id": "B03-PROCESS-FX02",
          "type": "product_bins",
          "x": 112.88,
          "y": 59.9,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "내압 살균·수분 건조동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B03-PROCESS-FX03",
          "type": "worktable",
          "x": 112.88,
          "y": 63.9,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B03-PROCESS-FX04",
          "type": "bin_rack",
          "x": 112.88,
          "y": 67.9,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B03-PROCESS-FX05",
          "type": "dock_staging",
          "x": 89.88,
          "y": 77.9,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B03-PROCESS-FX06",
          "type": "weigh_station",
          "x": 112.88,
          "y": 71.9,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B03-PROCESS-FX07",
          "type": "wash_station",
          "x": 112.88,
          "y": 75.9,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        },
        {
          "id": "B03-PROCESS-FX08",
          "type": "product_bins",
          "x": 112.88,
          "y": 79.9,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "내압 살균·수분 건조동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B03-PROCESS-FX09",
          "type": "worktable",
          "x": 95.88,
          "y": 80.9,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B03-PROCESS-FX10",
          "type": "bin_rack",
          "x": 100.88,
          "y": 80.9,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B03-PROCESS-FX11",
          "type": "dock_staging",
          "x": 106.88,
          "y": 80.9,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B03-PROCESS-FX12",
          "type": "weigh_station",
          "x": 88.88,
          "y": 81.9,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B03-PROCESS-FX13",
          "type": "wash_station",
          "x": 112.88,
          "y": 83.9,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        }
      ],
      "openings": [
        {
          "id": "B03-PROCESS-OPEN-1",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 95.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:2",
            "equipment:S06:2"
          ],
          "route_ids": [
            "FLOW-S05-S06-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-2",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 98.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:0",
            "equipment:S05:3",
            "equipment:S06:0"
          ],
          "route_ids": [
            "FLOW-S05-S06-0",
            "FLOW-S05-S06-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-3",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 102.0,
          "y": 86.447,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S05:1",
            "equipment:S06:1"
          ],
          "route_ids": [
            "FLOW-S05-S06-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-4",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 78.0,
          "y": 66.5,
          "width": 2.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-5",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 78.0,
          "y": 75.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:1",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B03-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "warehouse",
      "building_id": "B03",
      "x": 119.281,
      "y": 57.0,
      "width": 10.0,
      "depth": 16.196,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B03-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 123.88,
          "y": 59.9,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B03-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 122.88,
          "y": 63.9,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        },
        {
          "id": "B03-BUFFER-FX03",
          "type": "pallet_rack",
          "x": 123.88,
          "y": 67.9,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        }
      ],
      "openings": []
    },
    {
      "id": "B03-SERVICE",
      "name": "내압 살균·수분 건조동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B03",
      "x": 119.281,
      "y": 73.196,
      "width": 10.0,
      "depth": 13.251,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B03-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 122.88,
          "y": 74.9,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B03-SERVICE-FX02",
          "type": "compressor",
          "x": 122.88,
          "y": 78.9,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        },
        {
          "id": "B03-SERVICE-FX03",
          "type": "cip_skid",
          "x": 122.88,
          "y": 82.9,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        }
      ],
      "openings": []
    },
    {
      "id": "B03-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B03",
      "x": 116.281,
      "y": 57.0,
      "width": 3,
      "depth": 29.447,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B04-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B04",
      "x": 38.0,
      "y": 49.0,
      "width": 36.322,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B04-PROCESS",
      "name": "캔 검사 보류·외포장동 작업홀",
      "role": "packaging",
      "building_id": "B04",
      "x": 38.0,
      "y": 53.0,
      "width": 23.322,
      "depth": 33.82,
      "stage_ids": [
        "S08"
      ],
      "fixtures": [
        {
          "id": "B04-PROCESS-FX01",
          "type": "worktable",
          "x": 42.6,
          "y": 80.5,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다",
          "model_profile": "food_case_handoff"
        },
        {
          "id": "B04-PROCESS-FX02",
          "type": "worktable",
          "x": 51.0,
          "y": 80.5,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다",
          "model_profile": "food_case_handoff"
        },
        {
          "id": "B04-PROCESS-FX03",
          "type": "dock_staging",
          "x": 43.5,
          "y": 60.9,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "외포장 박스의 라벨을 바깥으로 향하게 적층하고 미끄럼 방지 시트를 층 사이에 공급한다"
        },
        {
          "id": "B04-PROCESS-FX04",
          "type": "dock_staging",
          "x": 53.7,
          "y": 60.9,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "외포장 박스의 라벨을 바깥으로 향하게 적층하고 미끄럼 방지 시트를 층 사이에 공급한다"
        },
        {
          "id": "B04-PROCESS-FX05",
          "type": "product_bins",
          "x": 57.84,
          "y": 79.9,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "캔 검사 보류·외포장동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B04-PROCESS-FX06",
          "type": "worktable",
          "x": 57.84,
          "y": 83.9,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        }
      ],
      "openings": []
    },
    {
      "id": "B04-BUFFER",
      "name": "완제품 승인·보류 버퍼",
      "role": "warehouse",
      "building_id": "B04",
      "x": 64.322,
      "y": 53.0,
      "width": 10.0,
      "depth": 18.601,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B04-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 68.84,
          "y": 55.9,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B04-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 67.84,
          "y": 59.9,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 피킹 대기"
        },
        {
          "id": "B04-BUFFER-FX03",
          "type": "pallet_rack",
          "x": 68.84,
          "y": 63.9,
          "width": 7,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B04-BUFFER-FX04",
          "type": "floor_pallets",
          "x": 67.84,
          "y": 67.9,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 피킹 대기"
        }
      ],
      "openings": []
    },
    {
      "id": "B04-SERVICE",
      "name": "캔 검사 보류·외포장동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B04",
      "x": 64.322,
      "y": 71.601,
      "width": 10.0,
      "depth": 15.219,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B04-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 67.84,
          "y": 73.9,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B04-SERVICE-FX02",
          "type": "compressor",
          "x": 67.84,
          "y": 77.9,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        },
        {
          "id": "B04-SERVICE-FX03",
          "type": "cip_skid",
          "x": 67.84,
          "y": 81.9,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        }
      ],
      "openings": [
        {
          "id": "B04-SERVICE-OPEN-1",
          "building_id": "B04",
          "zone_id": "B04-SERVICE",
          "x": 64.322,
          "y": 75.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:1",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B04-SERVICE-OPEN-2",
          "building_id": "B04",
          "zone_id": "B04-SERVICE",
          "x": 74.322,
          "y": 75.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:1",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B04-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B04",
      "x": 61.322,
      "y": 53.0,
      "width": 3,
      "depth": 33.82,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "LAB-ROOM",
      "name": "원료·제품 품질 검사동",
      "role": "laboratory",
      "building_id": "LAB",
      "x": 24,
      "y": 24,
      "width": 22,
      "depth": 5.2,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "LAB-ROOM-FX01",
          "type": "lab_bench",
          "x": 27,
          "y": 26,
          "width": 3.5,
          "depth": 1.3,
          "height": 0.95,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "원료 시료·이화학 분석 벤치"
        },
        {
          "id": "LAB-ROOM-FX02",
          "type": "cabinet",
          "x": 32,
          "y": 26,
          "width": 2.4,
          "depth": 1,
          "height": 2,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "보류 시료·표준기 보관"
        },
        {
          "id": "LAB-ROOM-FX03",
          "type": "lab_bench",
          "x": 37,
          "y": 26,
          "width": 3.5,
          "depth": 1.3,
          "height": 0.95,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "원료 시료·이화학 분석 벤치"
        },
        {
          "id": "LAB-ROOM-FX04",
          "type": "cabinet",
          "x": 42,
          "y": 26,
          "width": 2.4,
          "depth": 1,
          "height": 2,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "보류 시료·표준기 보관"
        }
      ],
      "openings": [
        {
          "id": "LAB-ROOM-OPEN-1",
          "building_id": "LAB",
          "zone_id": "LAB-ROOM",
          "x": 24,
          "y": 26.6,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:LAB",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-LAB"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "UTIL-PLANT",
      "name": "공조·공압·열원 기계실",
      "role": "utility",
      "building_id": "UTIL",
      "x": 46,
      "y": 24,
      "width": 36,
      "depth": 10.2,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "UTIL-PLANT-FX01",
          "type": "electrical_bank",
          "x": 49,
          "y": 26,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "UTIL-PLANT-FX02",
          "type": "compressor",
          "x": 55,
          "y": 27,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        },
        {
          "id": "UTIL-PLANT-FX03",
          "type": "cip_skid",
          "x": 61,
          "y": 27,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        },
        {
          "id": "UTIL-PLANT-FX04",
          "type": "tank_bank",
          "x": 68,
          "y": 27,
          "width": 5,
          "depth": 2.6,
          "height": 3.5,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "세척수·공정용수 분리 탱크"
        },
        {
          "id": "UTIL-PLANT-FX05",
          "type": "boiler",
          "x": 75,
          "y": 27,
          "width": 5,
          "depth": 3,
          "height": 3.8,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "조리·살균·건조 공정 증기 열원"
        },
        {
          "id": "UTIL-PLANT-FX06",
          "type": "pipe_rack",
          "x": 50,
          "y": 31,
          "width": 6,
          "depth": 1.3,
          "height": 3.6,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "증기·응축수 회수 헤더"
        }
      ],
      "openings": [
        {
          "id": "UTIL-PLANT-OPEN-1",
          "building_id": "UTIL",
          "zone_id": "UTIL-PLANT",
          "x": 46,
          "y": 32.05,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:UTIL",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-UTIL"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "UTIL-MAINT",
      "name": "모터·씰·센서 정비 및 예비품실",
      "role": "maintenance",
      "building_id": "UTIL",
      "x": 46,
      "y": 34.2,
      "width": 36,
      "depth": 5.9,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "UTIL-MAINT-FX01",
          "type": "workbench",
          "x": 49,
          "y": 36.76,
          "width": 3.5,
          "depth": 1.5,
          "height": 0.95,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "탈거 모터·씰 정비 작업대"
        },
        {
          "id": "UTIL-MAINT-FX02",
          "type": "bin_rack",
          "x": 54,
          "y": 36.76,
          "width": 3,
          "depth": 1.2,
          "height": 2.4,
          "count": 24,
          "rows": 4,
          "columns": 6,
          "angle": 0,
          "label": "규격 베어링·밸브·센서 예비품"
        },
        {
          "id": "UTIL-MAINT-FX03",
          "type": "cabinet",
          "x": 58,
          "y": 35.76,
          "width": 2,
          "depth": 1,
          "height": 2,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "잠금·계측·안전 도구함"
        },
        {
          "id": "UTIL-MAINT-FX04",
          "type": "workbench",
          "x": 63,
          "y": 36.76,
          "width": 3.5,
          "depth": 1.5,
          "height": 0.95,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "탈거 모터·씰 정비 작업대"
        }
      ],
      "openings": []
    },
    {
      "id": "STAFF-ROOM",
      "name": "위생복 탈의·교대 휴게동",
      "role": "staff",
      "building_id": "STAFF",
      "x": 82,
      "y": 24,
      "width": 28,
      "depth": 8.3,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "STAFF-ROOM-FX01",
          "type": "locker_bank",
          "x": 85,
          "y": 26,
          "width": 4,
          "depth": 1.2,
          "height": 2,
          "count": 12,
          "rows": 1,
          "columns": 12,
          "angle": 0,
          "label": "청결·일반복 분리 사물함"
        },
        {
          "id": "STAFF-ROOM-FX02",
          "type": "wash_station",
          "x": 90,
          "y": 26,
          "width": 3,
          "depth": 1.2,
          "height": 1.3,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "장화·손 위생 진입대"
        },
        {
          "id": "STAFF-ROOM-FX03",
          "type": "worktable",
          "x": 95,
          "y": 26,
          "width": 3,
          "depth": 1.6,
          "height": 0.75,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "교대 브리핑·휴게 테이블"
        },
        {
          "id": "STAFF-ROOM-FX04",
          "type": "locker_bank",
          "x": 100,
          "y": 26,
          "width": 4,
          "depth": 1.2,
          "height": 2,
          "count": 12,
          "rows": 1,
          "columns": 12,
          "angle": 0,
          "label": "청결·일반복 분리 사물함"
        },
        {
          "id": "STAFF-ROOM-FX05",
          "type": "wash_station",
          "x": 105,
          "y": 26,
          "width": 3,
          "depth": 1.2,
          "height": 1.3,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "장화·손 위생 진입대"
        },
        {
          "id": "STAFF-ROOM-FX06",
          "type": "worktable",
          "x": 85,
          "y": 29,
          "width": 3,
          "depth": 1.6,
          "height": 0.75,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "교대 브리핑·휴게 테이블"
        },
        {
          "id": "STAFF-ROOM-FX07",
          "type": "locker_bank",
          "x": 90,
          "y": 29,
          "width": 4,
          "depth": 1.2,
          "height": 2,
          "count": 12,
          "rows": 1,
          "columns": 12,
          "angle": 0,
          "label": "청결·일반복 분리 사물함"
        }
      ],
      "openings": [
        {
          "id": "STAFF-ROOM-OPEN-1",
          "building_id": "STAFF",
          "zone_id": "STAFF-ROOM",
          "x": 96.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "kind": "personnel_door",
          "connects": [
            "building:STAFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-STAFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "OFF-ROOM",
      "name": "생산계획·배차 사무동",
      "role": "office",
      "building_id": "OFF",
      "x": 110,
      "y": 24,
      "width": 20,
      "depth": 8.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "OFF-ROOM-FX01",
          "type": "office_desks",
          "x": 114,
          "y": 27,
          "width": 5,
          "depth": 3,
          "height": 1.4,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "생산계획·출하 문서 작업석"
        },
        {
          "id": "OFF-ROOM-FX02",
          "type": "cabinet",
          "x": 120,
          "y": 26,
          "width": 2.4,
          "depth": 1,
          "height": 2,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "생산 배치기록 문서장"
        },
        {
          "id": "OFF-ROOM-FX03",
          "type": "office_desks",
          "x": 126,
          "y": 27,
          "width": 5,
          "depth": 3,
          "height": 1.4,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "생산계획·출하 문서 작업석"
        },
        {
          "id": "OFF-ROOM-FX04",
          "type": "cabinet",
          "x": 120,
          "y": 29,
          "width": 2.4,
          "depth": 1,
          "height": 2,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "생산 배치기록 문서장"
        }
      ],
      "openings": [
        {
          "id": "OFF-ROOM-OPEN-1",
          "building_id": "OFF",
          "zone_id": "OFF-ROOM",
          "x": 120.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "kind": "personnel_door",
          "connects": [
            "building:OFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-OFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    }
  ],
  "equipment": [
    {
      "stage_id": "S01",
      "index": 0,
      "x": 43.7,
      "y": 106.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 51.9,
      "y": 106.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 2,
      "x": 43.7,
      "y": 112.9,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 32.0,
      "y": 99.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 47.2,
      "y": 99.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 2,
      "x": 32.0,
      "y": 108.2,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 51.9,
      "y": 112.9,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 28.5,
      "y": 115.9,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 35.7,
      "y": 116.9,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 84.0,
      "y": 98.5,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 95.2,
      "y": 98.5,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 2,
      "x": 104.9,
      "y": 100.0,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S04",
      "index": 3,
      "x": 84.0,
      "y": 106.7,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 93.7,
      "y": 106.2,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 101.9,
      "y": 109.2,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 2,
      "x": 82.5,
      "y": 114.4,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 3,
      "x": 93.7,
      "y": 113.4,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 104.2,
      "y": 61.0,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 104.2,
      "y": 68.2,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 2,
      "x": 104.2,
      "y": 75.4,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 88.0,
      "y": 62.0,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 88.0,
      "y": 71.2,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 44.0,
      "y": 67.2,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 55.2,
      "y": 67.2,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 2,
      "x": 44.0,
      "y": 74.4,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 3,
      "x": 55.2,
      "y": 74.4,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S06",
      "x": 84.3,
      "y": 80.0,
      "angle": 0,
      "task_station": "B03-PROCESS-FX01",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          82.6,
          80.0,
          0
        ],
        "fixture_id": "B03-PROCESS-FX01",
        "reason": "기존 캐리어 인계대를 감싸는 4×3.2m 포털로 재배치. 기둥은 인계대 밖에 두고 기존 컨베이어의 반입 캐리어→고정 버퍼 캐리어로 이동."
      },
      "task_fixture": {
        "fixture_id": "B03-PROCESS-FX01",
        "target_basis": "actual generated fixture solids"
      },
      "gantry_span": [
        4,
        3.2,
        3.4
      ],
      "controller_offset": [
        0,
        1.9,
        0
      ],
      "tool_span": [
        0.7488,
        0.3
      ],
      "task_points": [
        [
          85.3,
          80.0,
          1.5025
        ],
        [
          84.3,
          80.0,
          1.555
        ]
      ],
      "carrier_contact": {
        "fixture_id": "B03-PROCESS-FX01",
        "lug_span_x": 0.7488,
        "rim_span_y": 0.429,
        "incoming_surface_world_z": 0.9925,
        "station_surface_world_z": 1.045,
        "tcp_basis": "spreader centre with symmetric lug hooks",
        "incoming_workpiece": "same carrier geometry on existing conveyor, pending rendered verification"
      },
      "task_point": [
        85.3,
        80.0,
        1.5025
      ],
      "motion_scope": "실제 작업면 접촉 TCP의 대표 이송·접근. 전체 동작 충돌과 대상물 동기화는 모델 검수 대상."
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 42.6,
      "y": 81.8,
      "angle": -1.5707963267948966,
      "task_station": "B04-PROCESS-FX01",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          42.6,
          82.2,
          -1.5707963267948966
        ],
        "fixture_id": "B04-PROCESS-FX01",
        "reason": "기존 인계 컨베이어와 같은 작업대 유지. 트레이 상면(−0.4,0,1.18)→지그 상면(+0.2,0,1.35)에 닿도록 실제 상판 쪽으로 0.4m 접근."
      },
      "task_fixture": {
        "fixture_id": "B04-PROCESS-FX01",
        "target_basis": "actual generated fixture solids"
      },
      "controller_offset": [
        -1.2,
        1.05,
        0
      ],
      "task_points": [
        [
          42.2,
          80.5,
          1.18
        ],
        [
          42.8,
          80.5,
          1.35
        ]
      ],
      "task_point": [
        42.2,
        80.5,
        1.18
      ],
      "motion_scope": "인계대 트레이에서 고정 지그로 옮기는 접촉 TCP 대표 동작. 대상물·손목·주변 충돌 시각검수는 별도."
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 51.0,
      "y": 81.8,
      "angle": -1.5707963267948966,
      "task_station": "B04-PROCESS-FX02",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          51.0,
          82.2,
          -1.5707963267948966
        ],
        "fixture_id": "B04-PROCESS-FX02",
        "reason": "기존 인계 컨베이어와 같은 작업대 유지. 트레이 상면(−0.4,0,1.18)→지그 상면(+0.2,0,1.35)에 닿도록 실제 상판 쪽으로 0.4m 접근."
      },
      "task_fixture": {
        "fixture_id": "B04-PROCESS-FX02",
        "target_basis": "actual generated fixture solids"
      },
      "controller_offset": [
        -1.2,
        1.05,
        0
      ],
      "task_points": [
        [
          50.6,
          80.5,
          1.18
        ],
        [
          51.2,
          80.5,
          1.35
        ]
      ],
      "task_point": [
        50.6,
        80.5,
        1.18
      ],
      "motion_scope": "인계대 트레이에서 고정 지그로 옮기는 접촉 TCP 대표 동작. 대상물·손목·주변 충돌 시각검수는 별도."
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 43.5,
      "y": 58.5,
      "angle": 1.5707963267948966,
      "task_station": "B04-PROCESS-FX03",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          43.5,
          58.5,
          1.5707963267948966
        ],
        "fixture_id": "B04-PROCESS-FX03",
        "reason": "설비 본체 대신 실제 컨베이어가 연결된 기존 팔레트 인계대의 두 박스 상면을 지정. 기존 베이스 위치 유지."
      },
      "task_fixture": {
        "fixture_id": "B04-PROCESS-FX03",
        "target_basis": "actual generated fixture solids"
      },
      "controller_offset": [
        -1.2,
        1.05,
        0
      ],
      "task_points": [
        [
          43.28088,
          60.9,
          1.12
        ],
        [
          43.71912,
          60.9,
          1.12
        ]
      ],
      "task_point": [
        43.28088,
        60.9,
        1.12
      ],
      "motion_scope": "기존 팔레트 위 두 실제 박스 위치의 층 패턴 대표 동작. 다층 전체 적재·대상물 이송 검수는 별도."
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 53.7,
      "y": 58.5,
      "angle": 1.5707963267948966,
      "task_station": "B04-PROCESS-FX04",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          53.7,
          58.5,
          1.5707963267948966
        ],
        "fixture_id": "B04-PROCESS-FX04",
        "reason": "설비 본체 대신 실제 컨베이어가 연결된 기존 팔레트 인계대의 두 박스 상면을 지정. 기존 베이스 위치 유지."
      },
      "task_fixture": {
        "fixture_id": "B04-PROCESS-FX04",
        "target_basis": "actual generated fixture solids"
      },
      "controller_offset": [
        -1.2,
        1.05,
        0
      ],
      "task_points": [
        [
          53.48088,
          60.9,
          1.12
        ],
        [
          53.91912,
          60.9,
          1.12
        ]
      ],
      "task_point": [
        53.48088,
        60.9,
        1.12
      ],
      "motion_scope": "기존 팔레트 위 두 실제 박스 위치의 층 패턴 대표 동작. 다층 전체 적재·대상물 이송 검수는 별도."
    }
  ],
  "logistics": [
    {
      "id": "FLOW-S01-S02-0",
      "kind": "conveyor",
      "from": "equipment:S01:0",
      "to": "equipment:S02:0",
      "points": [
        [
          46.2,
          106.7,
          0.9
        ],
        [
          47.5,
          106.7,
          0.9
        ],
        [
          47.5,
          106.5,
          0.9
        ],
        [
          47.0,
          106.5,
          0.9
        ],
        [
          47.0,
          104.5,
          0.9
        ],
        [
          25.0,
          104.5,
          0.9
        ],
        [
          25.0,
          99.0,
          0.9
        ],
        [
          24.5,
          99.0,
          0.9
        ],
        [
          26.0,
          99.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "전처리 참치"
    },
    {
      "id": "FLOW-S01-S02-1",
      "kind": "conveyor",
      "from": "equipment:S01:1",
      "to": "equipment:S02:1",
      "points": [
        [
          54.4,
          106.7,
          0.9
        ],
        [
          56.0,
          106.7,
          0.9
        ],
        [
          56.0,
          106.5,
          0.9
        ],
        [
          55.0,
          106.5,
          0.9
        ],
        [
          55.0,
          104.5,
          0.9
        ],
        [
          40.0,
          104.5,
          0.9
        ],
        [
          40.0,
          99.0,
          0.9
        ],
        [
          41.2,
          99.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "전처리 참치"
    },
    {
      "id": "FLOW-S01-S02-2",
      "kind": "conveyor",
      "from": "equipment:S01:2",
      "to": "equipment:S02:2",
      "points": [
        [
          46.2,
          112.9,
          0.9
        ],
        [
          47.5,
          112.9,
          0.9
        ],
        [
          47.5,
          113.0,
          0.9
        ],
        [
          47.0,
          113.0,
          0.9
        ],
        [
          47.0,
          111.0,
          0.9
        ],
        [
          38.5,
          111.0,
          0.9
        ],
        [
          38.5,
          112.0,
          0.9
        ],
        [
          25.0,
          112.0,
          0.9
        ],
        [
          25.0,
          108.0,
          0.9
        ],
        [
          24.5,
          108.0,
          0.9
        ],
        [
          24.5,
          108.2,
          0.9
        ],
        [
          26.0,
          108.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "전처리 참치"
    },
    {
      "id": "FLOW-S02-S03-0",
      "kind": "conveyor",
      "from": "equipment:S02:0",
      "to": "equipment:S03:0",
      "points": [
        [
          38.0,
          99.0,
          0.9
        ],
        [
          39.5,
          99.0,
          0.9
        ],
        [
          39.5,
          111.0,
          0.9
        ],
        [
          47.0,
          111.0,
          0.9
        ],
        [
          47.0,
          113.0,
          0.9
        ],
        [
          48.0,
          113.0,
          0.9
        ],
        [
          48.0,
          112.9,
          0.9
        ],
        [
          49.4,
          112.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "증자 참치"
    },
    {
      "id": "FLOW-S02-S03-1",
      "kind": "conveyor",
      "from": "equipment:S02:1",
      "to": "equipment:S03:1",
      "points": [
        [
          53.2,
          99.0,
          0.9
        ],
        [
          54.5,
          99.0,
          0.9
        ],
        [
          54.0,
          99.0,
          0.9
        ],
        [
          54.0,
          102.5,
          0.9
        ],
        [
          25.0,
          102.5,
          0.9
        ],
        [
          25.0,
          116.0,
          0.9
        ],
        [
          24.5,
          116.0,
          0.9
        ],
        [
          24.5,
          115.9,
          0.9
        ],
        [
          26.0,
          115.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "증자 참치"
    },
    {
      "id": "FLOW-S02-S03-2",
      "kind": "conveyor",
      "from": "equipment:S02:2",
      "to": "equipment:S03:2",
      "points": [
        [
          38.0,
          108.2,
          0.9
        ],
        [
          39.5,
          108.2,
          0.9
        ],
        [
          39.5,
          108.0,
          0.9
        ],
        [
          38.5,
          108.0,
          0.9
        ],
        [
          38.5,
          112.0,
          0.9
        ],
        [
          35.5,
          112.0,
          0.9
        ],
        [
          35.5,
          113.0,
          0.9
        ],
        [
          35.5,
          114.4,
          0.9
        ],
        [
          35.7,
          114.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "증자 참치"
    },
    {
      "id": "FLOW-S03-S04-0",
      "kind": "conveyor",
      "from": "equipment:S03:0",
      "to": "equipment:S04:0",
      "points": [
        [
          54.4,
          112.9,
          0.9
        ],
        [
          56.0,
          112.9,
          0.9
        ],
        [
          56.0,
          113.0,
          0.9
        ],
        [
          56.0,
          102.5,
          0.9
        ],
        [
          69.5,
          102.5,
          0.9
        ],
        [
          69.5,
          102.0,
          0.9
        ],
        [
          72.0,
          102.0,
          0.9
        ],
        [
          80,
          102,
          0.9
        ],
        [
          79.0,
          102,
          0.9
        ],
        [
          79.0,
          98.5,
          0.9
        ],
        [
          78.5,
          98.5,
          0.9
        ],
        [
          80.0,
          98.5,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인 참치 살"
    },
    {
      "id": "FLOW-S03-S04-1",
      "kind": "conveyor",
      "from": "equipment:S03:1",
      "to": "equipment:S04:1",
      "points": [
        [
          31.0,
          115.9,
          0.9
        ],
        [
          32.5,
          115.9,
          0.9
        ],
        [
          32.5,
          116.0,
          0.9
        ],
        [
          32.5,
          112.0,
          0.9
        ],
        [
          38.5,
          112.0,
          0.9
        ],
        [
          38.5,
          102.5,
          0.9
        ],
        [
          69.5,
          102.5,
          0.9
        ],
        [
          69.5,
          102.0,
          0.9
        ],
        [
          72.0,
          102.0,
          0.9
        ],
        [
          80,
          102,
          0.9
        ],
        [
          80,
          101.5,
          0.9
        ],
        [
          88.5,
          101.5,
          0.9
        ],
        [
          88.5,
          98.5,
          0.9
        ],
        [
          90.0,
          98.5,
          0.9
        ],
        [
          91.2,
          98.5,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인 참치 살"
    },
    {
      "id": "FLOW-S03-S04-2",
      "kind": "conveyor",
      "from": "equipment:S03:2",
      "to": "equipment:S04:2",
      "points": [
        [
          35.7,
          119.4,
          0.9
        ],
        [
          35.5,
          119.4,
          0.9
        ],
        [
          35.5,
          121.0,
          0.9
        ],
        [
          35.5,
          120.0,
          0.9
        ],
        [
          38.0,
          120.0,
          0.9
        ],
        [
          38.0,
          112.0,
          0.9
        ],
        [
          38.5,
          112.0,
          0.9
        ],
        [
          38.5,
          103.0,
          0.9
        ],
        [
          72.0,
          103.0,
          0.9
        ],
        [
          80,
          103,
          0.9
        ],
        [
          80,
          101.5,
          0.9
        ],
        [
          88.5,
          101.5,
          0.9
        ],
        [
          88.5,
          94.5,
          0.9
        ],
        [
          105.0,
          94.5,
          0.9
        ],
        [
          105.0,
          96.0,
          0.9
        ],
        [
          104.9,
          96.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인 참치 살"
    },
    {
      "id": "FLOW-S03-S04-3",
      "kind": "conveyor",
      "from": "equipment:S03:0",
      "to": "equipment:S04:3",
      "points": [
        [
          54.4,
          112.9,
          0.9
        ],
        [
          56.0,
          112.9,
          0.9
        ],
        [
          56.0,
          113.0,
          0.9
        ],
        [
          56.0,
          110.5,
          0.9
        ],
        [
          72.0,
          110.5,
          0.9
        ],
        [
          72.0,
          110.0,
          0.9
        ],
        [
          80,
          110,
          0.9
        ],
        [
          79.0,
          110,
          0.9
        ],
        [
          79.0,
          106.5,
          0.9
        ],
        [
          78.5,
          106.5,
          0.9
        ],
        [
          78.5,
          106.7,
          0.9
        ],
        [
          80.0,
          106.7,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인 참치 살"
    },
    {
      "id": "FLOW-S04-S05-0",
      "kind": "conveyor",
      "from": "equipment:S04:0",
      "to": "equipment:S05:0",
      "points": [
        [
          88.0,
          98.5,
          0.9
        ],
        [
          89.5,
          98.5,
          0.9
        ],
        [
          89.5,
          106.0,
          0.9
        ],
        [
          90.0,
          106.0,
          0.9
        ],
        [
          90.0,
          106.2,
          0.9
        ],
        [
          91.2,
          106.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 충전 캔"
    },
    {
      "id": "FLOW-S04-S05-1",
      "kind": "conveyor",
      "from": "equipment:S04:1",
      "to": "equipment:S05:1",
      "points": [
        [
          99.2,
          98.5,
          0.9
        ],
        [
          100.5,
          98.5,
          0.9
        ],
        [
          100.0,
          98.5,
          0.9
        ],
        [
          100.0,
          101.5,
          0.9
        ],
        [
          98.0,
          101.5,
          0.9
        ],
        [
          98.0,
          109.0,
          0.9
        ],
        [
          98.0,
          109.2,
          0.9
        ],
        [
          99.4,
          109.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 충전 캔"
    },
    {
      "id": "FLOW-S04-S05-2",
      "kind": "conveyor",
      "from": "equipment:S04:2",
      "to": "equipment:S05:2",
      "points": [
        [
          104.9,
          104.0,
          0.9
        ],
        [
          105.0,
          104.0,
          0.9
        ],
        [
          105.0,
          105.5,
          0.9
        ],
        [
          97.0,
          105.5,
          0.9
        ],
        [
          97.0,
          109.0,
          0.9
        ],
        [
          88.5,
          109.0,
          0.9
        ],
        [
          88.5,
          110.0,
          0.9
        ],
        [
          79.0,
          110.0,
          0.9
        ],
        [
          79.0,
          114.5,
          0.9
        ],
        [
          78.5,
          114.5,
          0.9
        ],
        [
          78.5,
          114.4,
          0.9
        ],
        [
          80.0,
          114.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 충전 캔"
    },
    {
      "id": "FLOW-S04-S05-3",
      "kind": "conveyor",
      "from": "equipment:S04:3",
      "to": "equipment:S05:3",
      "points": [
        [
          88.0,
          106.7,
          0.9
        ],
        [
          89.5,
          106.7,
          0.9
        ],
        [
          89.5,
          106.5,
          0.9
        ],
        [
          89.5,
          113.5,
          0.9
        ],
        [
          90.0,
          113.5,
          0.9
        ],
        [
          90.0,
          113.4,
          0.9
        ],
        [
          91.2,
          113.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 충전 캔"
    },
    {
      "id": "FLOW-S05-S06-0",
      "kind": "conveyor",
      "from": "equipment:S05:0",
      "to": "equipment:S06:0",
      "points": [
        [
          96.2,
          106.2,
          0.9
        ],
        [
          97.5,
          106.2,
          0.9
        ],
        [
          97.5,
          106.0,
          0.9
        ],
        [
          97.5,
          101.5,
          0.9
        ],
        [
          100.0,
          101.5,
          0.9
        ],
        [
          100.0,
          95.5,
          0.9
        ],
        [
          98.0,
          95.5,
          0.9
        ],
        [
          98.0,
          92.0,
          0.9
        ],
        [
          98,
          85,
          0.9
        ],
        [
          98,
          61.0,
          0.9
        ],
        [
          99.2,
          61.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "밀봉 참치 캔"
    },
    {
      "id": "FLOW-S05-S06-1",
      "kind": "conveyor",
      "from": "equipment:S05:1",
      "to": "equipment:S06:1",
      "points": [
        [
          104.4,
          109.2,
          0.9
        ],
        [
          106.0,
          109.2,
          0.9
        ],
        [
          106.0,
          109.0,
          0.9
        ],
        [
          105.0,
          109.0,
          0.9
        ],
        [
          105.0,
          106.5,
          0.9
        ],
        [
          102.0,
          106.5,
          0.9
        ],
        [
          102.0,
          104.5,
          0.9
        ],
        [
          101.5,
          104.5,
          0.9
        ],
        [
          101.5,
          92.0,
          0.9
        ],
        [
          102.0,
          92.0,
          0.9
        ],
        [
          102,
          85,
          0.9
        ],
        [
          98.0,
          85,
          0.9
        ],
        [
          98.0,
          68.0,
          0.9
        ],
        [
          98.0,
          68.2,
          0.9
        ],
        [
          99.2,
          68.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "밀봉 참치 캔"
    },
    {
      "id": "FLOW-S05-S06-2",
      "kind": "conveyor",
      "from": "equipment:S05:2",
      "to": "equipment:S06:2",
      "points": [
        [
          85.0,
          114.4,
          0.9
        ],
        [
          86.5,
          114.4,
          0.9
        ],
        [
          86.5,
          114.5,
          0.9
        ],
        [
          86.5,
          110.0,
          0.9
        ],
        [
          88.5,
          110.0,
          0.9
        ],
        [
          88.5,
          92.0,
          0.9
        ],
        [
          95.0,
          92.0,
          0.9
        ],
        [
          95,
          85,
          0.9
        ],
        [
          95,
          82.5,
          0.9
        ],
        [
          98.0,
          82.5,
          0.9
        ],
        [
          98.0,
          75.5,
          0.9
        ],
        [
          98.0,
          75.4,
          0.9
        ],
        [
          99.2,
          75.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "밀봉 참치 캔"
    },
    {
      "id": "FLOW-S05-S06-3",
      "kind": "conveyor",
      "from": "equipment:S05:3",
      "to": "equipment:S06:0",
      "points": [
        [
          96.2,
          113.4,
          0.9
        ],
        [
          97.5,
          113.4,
          0.9
        ],
        [
          97.5,
          113.5,
          0.9
        ],
        [
          97.5,
          101.5,
          0.9
        ],
        [
          100.0,
          101.5,
          0.9
        ],
        [
          100.0,
          95.5,
          0.9
        ],
        [
          98.0,
          95.5,
          0.9
        ],
        [
          98.0,
          92.0,
          0.9
        ],
        [
          98,
          85,
          0.9
        ],
        [
          98,
          61.0,
          0.9
        ],
        [
          99.2,
          61.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "밀봉 참치 캔"
    },
    {
      "id": "FLOW-S06-S07-0",
      "kind": "conveyor",
      "from": "equipment:S06:0",
      "to": "equipment:S07:0",
      "points": [
        [
          109.2,
          61.0,
          0.9
        ],
        [
          110.5,
          61.0,
          0.9
        ],
        [
          110.0,
          61.0,
          0.9
        ],
        [
          110.0,
          58.5,
          0.9
        ],
        [
          79.0,
          58.5,
          0.9
        ],
        [
          79.0,
          62.0,
          0.9
        ],
        [
          78.5,
          62.0,
          0.9
        ],
        [
          80.0,
          62.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "처리 완료 캔"
    },
    {
      "id": "FLOW-S06-S07-1",
      "kind": "conveyor",
      "from": "equipment:S06:1",
      "to": "equipment:S07:1",
      "points": [
        [
          109.2,
          68.2,
          0.9
        ],
        [
          110.5,
          68.2,
          0.9
        ],
        [
          110.5,
          68.0,
          0.9
        ],
        [
          110.0,
          68.0,
          0.9
        ],
        [
          110.0,
          65.5,
          0.9
        ],
        [
          79.0,
          65.5,
          0.9
        ],
        [
          79.0,
          71.0,
          0.9
        ],
        [
          78.5,
          71.0,
          0.9
        ],
        [
          78.5,
          71.2,
          0.9
        ],
        [
          80.0,
          71.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "처리 완료 캔"
    },
    {
      "id": "FLOW-S06-S07-2",
      "kind": "conveyor",
      "from": "equipment:S06:2",
      "to": "equipment:S07:0",
      "points": [
        [
          109.2,
          75.4,
          0.9
        ],
        [
          110.5,
          75.4,
          0.9
        ],
        [
          110.5,
          75.5,
          0.9
        ],
        [
          110.0,
          75.5,
          0.9
        ],
        [
          110.0,
          72.5,
          0.9
        ],
        [
          96.5,
          72.5,
          0.9
        ],
        [
          96.5,
          67.5,
          0.9
        ],
        [
          79.0,
          67.5,
          0.9
        ],
        [
          79.0,
          62.0,
          0.9
        ],
        [
          78.5,
          62.0,
          0.9
        ],
        [
          80.0,
          62.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "처리 완료 캔"
    },
    {
      "id": "FLOW-S07-S08-0",
      "kind": "conveyor",
      "from": "equipment:S07:0",
      "to": "equipment:S08:0",
      "points": [
        [
          96.0,
          62.0,
          0.9
        ],
        [
          97.5,
          62.0,
          0.9
        ],
        [
          96.5,
          62.0,
          0.9
        ],
        [
          96.5,
          65.5,
          0.9
        ],
        [
          80.0,
          65.5,
          0.9
        ],
        [
          80.0,
          66.0,
          0.9
        ],
        [
          73,
          66,
          0.9
        ],
        [
          60.0,
          66,
          0.9
        ],
        [
          60.0,
          64.5,
          0.9
        ],
        [
          39.0,
          64.5,
          0.9
        ],
        [
          39.0,
          67.0,
          0.9
        ],
        [
          38.5,
          67.0,
          0.9
        ],
        [
          38.5,
          67.2,
          0.9
        ],
        [
          40.0,
          67.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "출하 판정 캔"
    },
    {
      "id": "FLOW-S07-S08-1",
      "kind": "conveyor",
      "from": "equipment:S07:1",
      "to": "equipment:S08:1",
      "points": [
        [
          96.0,
          71.2,
          0.9
        ],
        [
          97.5,
          71.2,
          0.9
        ],
        [
          97.5,
          71.0,
          0.9
        ],
        [
          96.5,
          71.0,
          0.9
        ],
        [
          96.5,
          67.5,
          0.9
        ],
        [
          80.0,
          67.5,
          0.9
        ],
        [
          80.0,
          67.0,
          0.9
        ],
        [
          73,
          67,
          0.9
        ],
        [
          70.5,
          67,
          0.9
        ],
        [
          70.5,
          66.0,
          0.9
        ],
        [
          60.0,
          66.0,
          0.9
        ],
        [
          60.0,
          64.5,
          0.9
        ],
        [
          50.0,
          64.5,
          0.9
        ],
        [
          50.0,
          67.0,
          0.9
        ],
        [
          50.0,
          67.2,
          0.9
        ],
        [
          51.2,
          67.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "출하 판정 캔"
    },
    {
      "id": "FLOW-S07-S08-2",
      "kind": "conveyor",
      "from": "equipment:S07:0",
      "to": "equipment:S08:2",
      "points": [
        [
          96.0,
          62.0,
          0.9
        ],
        [
          97.5,
          62.0,
          0.9
        ],
        [
          96.5,
          62.0,
          0.9
        ],
        [
          96.5,
          65.5,
          0.9
        ],
        [
          80.0,
          65.5,
          0.9
        ],
        [
          80.0,
          66.0,
          0.9
        ],
        [
          73,
          66,
          0.9
        ],
        [
          60.0,
          66,
          0.9
        ],
        [
          60.0,
          70.0,
          0.9
        ],
        [
          39.0,
          70.0,
          0.9
        ],
        [
          39.0,
          74.5,
          0.9
        ],
        [
          38.5,
          74.5,
          0.9
        ],
        [
          38.5,
          74.4,
          0.9
        ],
        [
          40.0,
          74.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "출하 판정 캔"
    },
    {
      "id": "FLOW-S07-S08-3",
      "kind": "conveyor",
      "from": "equipment:S07:1",
      "to": "equipment:S08:3",
      "points": [
        [
          96.0,
          71.2,
          0.9
        ],
        [
          97.5,
          71.2,
          0.9
        ],
        [
          97.5,
          71.0,
          0.9
        ],
        [
          96.5,
          71.0,
          0.9
        ],
        [
          96.5,
          75.0,
          0.9
        ],
        [
          80.0,
          75.0,
          0.9
        ],
        [
          73,
          75,
          0.9
        ],
        [
          60.0,
          75,
          0.9
        ],
        [
          60.0,
          77.0,
          0.9
        ],
        [
          50.0,
          77.0,
          0.9
        ],
        [
          50.0,
          74.5,
          0.9
        ],
        [
          50.0,
          74.4,
          0.9
        ],
        [
          51.2,
          74.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "출하 판정 캔"
    },
    {
      "id": "INBOUND",
      "kind": "forklift",
      "from": "raw-dock",
      "to": "zone:B01-BUFFER",
      "points": [
        [
          24.0,
          92.15,
          0.06
        ],
        [
          26.0,
          92.15,
          0.06
        ],
        [
          26.0,
          92.0,
          0.06
        ],
        [
          26.0,
          92.5,
          0.06
        ],
        [
          61.5,
          92.5,
          0.06
        ],
        [
          61.5,
          94.0,
          0.06
        ],
        [
          62.5,
          94.0,
          0.06
        ],
        [
          62.5,
          94.5,
          0.06
        ],
        [
          65.0,
          94.5,
          0.06
        ]
      ],
      "width": 2,
      "enclosure": "표시된 차량 통로",
      "material": "참치 원료 트레이·빈 캔 팔레트·권체 뚜껑"
    },
    {
      "id": "RAW-FEED-0",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:0",
      "points": [
        [
          65.0,
          94.5,
          0.9
        ],
        [
          40.0,
          94.5,
          0.9
        ],
        [
          40.0,
          106.5,
          0.9
        ],
        [
          40.0,
          106.7,
          0.9
        ],
        [
          41.2,
          106.7,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 원료 트레이·빈 캔 팔레트·권체 뚜껑"
    },
    {
      "id": "RAW-FEED-1",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:1",
      "points": [
        [
          65.0,
          94.5,
          0.9
        ],
        [
          54.0,
          94.5,
          0.9
        ],
        [
          54.0,
          102.5,
          0.9
        ],
        [
          48.0,
          102.5,
          0.9
        ],
        [
          48.0,
          106.5,
          0.9
        ],
        [
          48.0,
          106.7,
          0.9
        ],
        [
          49.4,
          106.7,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 원료 트레이·빈 캔 팔레트·권체 뚜껑"
    },
    {
      "id": "RAW-FEED-2",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:2",
      "points": [
        [
          65.0,
          94.5,
          0.9
        ],
        [
          40.0,
          94.5,
          0.9
        ],
        [
          40.0,
          113.0,
          0.9
        ],
        [
          40.0,
          112.9,
          0.9
        ],
        [
          41.2,
          112.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "참치 원료 트레이·빈 캔 팔레트·권체 뚜껑"
    },
    {
      "id": "FINISH-BUFFER-0",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          48.0,
          67.2,
          0.9
        ],
        [
          49.5,
          67.2,
          0.9
        ],
        [
          49.5,
          67.0,
          0.9
        ],
        [
          49.5,
          54.0,
          0.9
        ],
        [
          65.5,
          54.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인된 참치 통조림 케이스"
    },
    {
      "id": "FINISH-BUFFER-1",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          59.2,
          67.2,
          0.9
        ],
        [
          60.5,
          67.2,
          0.9
        ],
        [
          60.5,
          67.0,
          0.9
        ],
        [
          60.5,
          54.0,
          0.9
        ],
        [
          65.5,
          54.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인된 참치 통조림 케이스"
    },
    {
      "id": "FINISH-BUFFER-2",
      "kind": "conveyor",
      "from": "equipment:S08:2",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          48.0,
          74.4,
          0.9
        ],
        [
          49.5,
          74.4,
          0.9
        ],
        [
          49.5,
          74.5,
          0.9
        ],
        [
          49.5,
          54.0,
          0.9
        ],
        [
          65.5,
          54.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인된 참치 통조림 케이스"
    },
    {
      "id": "FINISH-BUFFER-3",
      "kind": "conveyor",
      "from": "equipment:S08:3",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          59.2,
          74.4,
          0.9
        ],
        [
          60.5,
          74.4,
          0.9
        ],
        [
          60.5,
          74.5,
          0.9
        ],
        [
          60.5,
          54.0,
          0.9
        ],
        [
          65.5,
          54.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "승인된 참치 통조림 케이스"
    },
    {
      "id": "OUTBOUND",
      "kind": "forklift",
      "from": "zone:B04-BUFFER",
      "to": "shipping-dock",
      "points": [
        [
          65.5,
          53.5,
          0.06
        ],
        [
          40.0,
          53.5,
          0.06
        ],
        [
          40.0,
          51.0,
          0.06
        ],
        [
          40.0,
          51.15,
          0.06
        ],
        [
          38.0,
          51.15,
          0.06
        ]
      ],
      "width": 2,
      "enclosure": "표시된 차량 통로",
      "material": "승인된 참치 통조림 케이스"
    },
    {
      "id": "ROBOT-HANDOFF-0",
      "kind": "conveyor",
      "from": "equipment:S06:0",
      "to": "fixture:B03-PROCESS-FX01",
      "points": [
        [
          109.2,
          61.0,
          0.9
        ],
        [
          110.5,
          61.0,
          0.9
        ],
        [
          110.0,
          61.0,
          0.9
        ],
        [
          110.0,
          63.5,
          0.9
        ],
        [
          96.5,
          63.5,
          0.9
        ],
        [
          96.5,
          75.0,
          0.9
        ],
        [
          86.0,
          75.0,
          0.9
        ],
        [
          86.0,
          80.0,
          0.9
        ],
        [
          84.3,
          80.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "레일에 정렬한 바스켓을 적재 셀과 열처리 대기 위치 사이에 이송한다"
    },
    {
      "id": "ROBOT-HANDOFF-1",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "fixture:B04-PROCESS-FX01",
      "points": [
        [
          48.0,
          67.2,
          0.9
        ],
        [
          49.5,
          67.2,
          0.9
        ],
        [
          49.5,
          67.0,
          0.9
        ],
        [
          48.5,
          67.0,
          0.9
        ],
        [
          48.5,
          77.0,
          0.9
        ],
        [
          42.5,
          77.0,
          0.9
        ],
        [
          42.5,
          79.0,
          0.9
        ],
        [
          42.5,
          80.5,
          0.9
        ],
        [
          42.6,
          80.5,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다"
    },
    {
      "id": "ROBOT-HANDOFF-2",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "fixture:B04-PROCESS-FX02",
      "points": [
        [
          59.2,
          67.2,
          0.9
        ],
        [
          60.5,
          67.2,
          0.9
        ],
        [
          60.5,
          67.0,
          0.9
        ],
        [
          60.0,
          67.0,
          0.9
        ],
        [
          60.0,
          77.0,
          0.9
        ],
        [
          51.0,
          77.0,
          0.9
        ],
        [
          51.0,
          79.0,
          0.9
        ],
        [
          51.0,
          80.5,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다"
    },
    {
      "id": "ROBOT-HANDOFF-3",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "fixture:B04-PROCESS-FX03",
      "points": [
        [
          48.0,
          67.2,
          0.9
        ],
        [
          49.5,
          67.2,
          0.9
        ],
        [
          49.5,
          67.0,
          0.9
        ],
        [
          48.5,
          67.0,
          0.9
        ],
        [
          48.5,
          64.5,
          0.9
        ],
        [
          43.5,
          64.5,
          0.9
        ],
        [
          43.5,
          62.5,
          0.9
        ],
        [
          43.5,
          60.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "외포장 박스의 라벨을 바깥으로 향하게 적층하고 미끄럼 방지 시트를 층 사이에 공급한다"
    },
    {
      "id": "ROBOT-HANDOFF-4",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "fixture:B04-PROCESS-FX04",
      "points": [
        [
          59.2,
          67.2,
          0.9
        ],
        [
          60.5,
          67.2,
          0.9
        ],
        [
          60.5,
          67.0,
          0.9
        ],
        [
          60.0,
          67.0,
          0.9
        ],
        [
          60.0,
          64.5,
          0.9
        ],
        [
          53.5,
          64.5,
          0.9
        ],
        [
          53.5,
          62.5,
          0.9
        ],
        [
          53.5,
          60.9,
          0.9
        ],
        [
          53.7,
          60.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "외포장 박스의 라벨을 바깥으로 향하게 적층하고 미끄럼 방지 시트를 층 사이에 공급한다"
    },
    {
      "id": "SUPPORT-ACCESS-OFF",
      "kind": "pedestrian",
      "from": "staff-gate",
      "to": "building:OFF",
      "points": [
        [
          16,
          6,
          0.05
        ],
        [
          16,
          12,
          0.05
        ],
        [
          16,
          22.0,
          0.05
        ],
        [
          120.0,
          22.0,
          0.05
        ],
        [
          120.0,
          22,
          0.05
        ],
        [
          120.0,
          24,
          0.05
        ]
      ],
      "width": 1.8
    },
    {
      "id": "SUPPORT-ACCESS-LAB",
      "kind": "pedestrian",
      "from": "staff-gate",
      "to": "building:LAB",
      "points": [
        [
          16,
          6,
          0.05
        ],
        [
          16,
          12,
          0.05
        ],
        [
          16,
          27.0,
          0.05
        ],
        [
          22.0,
          27.0,
          0.05
        ],
        [
          22,
          26.6,
          0.05
        ],
        [
          24,
          26.6,
          0.05
        ]
      ],
      "width": 1.8
    },
    {
      "id": "SUPPORT-ACCESS-STAFF",
      "kind": "pedestrian",
      "from": "staff-gate",
      "to": "building:STAFF",
      "points": [
        [
          16,
          6,
          0.05
        ],
        [
          16,
          12,
          0.05
        ],
        [
          16,
          22.0,
          0.05
        ],
        [
          96.0,
          22.0,
          0.05
        ],
        [
          96.0,
          22,
          0.05
        ],
        [
          96.0,
          24,
          0.05
        ]
      ],
      "width": 1.8
    },
    {
      "id": "SUPPORT-ACCESS-UTIL",
      "kind": "pedestrian",
      "from": "staff-gate",
      "to": "building:UTIL",
      "points": [
        [
          16,
          6,
          0.05
        ],
        [
          16,
          12,
          0.05
        ],
        [
          16,
          32.0,
          0.05
        ],
        [
          44.0,
          32.0,
          0.05
        ],
        [
          44,
          32.05,
          0.05
        ],
        [
          46,
          32.05,
          0.05
        ]
      ],
      "width": 1.8
    },
    {
      "id": "SERVICE-RING",
      "kind": "forklift",
      "from": "raw-dock",
      "to": "shipping-dock",
      "points": [
        [
          24.0,
          92.15,
          0.05
        ],
        [
          21.0,
          92.15,
          0.05
        ],
        [
          21.0,
          92.0,
          0.05
        ],
        [
          21.0,
          51.0,
          0.05
        ],
        [
          35.0,
          51.0,
          0.05
        ],
        [
          35.0,
          51.15,
          0.05
        ],
        [
          38.0,
          51.15,
          0.05
        ]
      ],
      "width": 3.2
    }
  ],
  "landmarks": [
    "서북 습식 작업동의 적색 벽돌 박공",
    "동북 빈 캔 공급 전용 높은 도크",
    "남동 내압 처리동의 둥근 지붕",
    "남서 캔 검사 보류구의 긴 관찰창",
    "캔 상자와 부산물 차량을 가르는 물류 표지"
  ],
  "campus_revision": 4,
  "campus_relocation": {
    "method": "rigid_production_building_translation; support_unused_rear_strips_removed",
    "legacy_site": {
      "width": 210,
      "depth": 178
    },
    "site_area_reduction_ratio": 0.45757,
    "building_translations": {
      "B01": [
        0.84,
        -3.24
      ],
      "B02": [
        -12.12,
        -3.24
      ],
      "B03": [
        -12.12,
        4.9
      ],
      "B04": [
        14.84,
        0.9
      ],
      "LAB": [
        9,
        14
      ],
      "UTIL": [
        -12,
        14
      ],
      "STAFF": [
        -44,
        14
      ],
      "OFF": [
        -65,
        12
      ]
    },
    "support_program": [
      {
        "building_id": "LAB",
        "original_depth": 12,
        "new_depth": 5.2,
        "rear_working_aisle_m": 2.5,
        "program": "입고 시료·완제품 분석 벤치, 표준품 보관"
      },
      {
        "building_id": "UTIL",
        "original_depth": 18,
        "new_depth": 16.1,
        "rear_working_aisle_m": 2.5,
        "program": "공정별 열원·냉열 스키드 및 모터·씰 작업대"
      },
      {
        "building_id": "STAFF",
        "original_depth": 14,
        "new_depth": 8.3,
        "rear_working_aisle_m": 2.5,
        "program": "청결복·일반복 사물함, 위생 진입대와 교대 브리핑"
      },
      {
        "building_id": "OFF",
        "original_depth": 12,
        "new_depth": 8.0,
        "rear_working_aisle_m": 2.5,
        "program": "8 생산계획·배차 작업석과 기록 문서장"
      }
    ],
    "review_status": "layout_revised_render_review_pending"
  },
  "yard": {
    "roads": [
      {
        "points": [
          [
            6,
            6
          ],
          [
            142,
            6
          ],
          [
            142,
            131
          ],
          [
            6,
            131
          ],
          [
            6,
            6
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 24.0,
        "y": 92.15,
        "angle": -1.5707963267948966,
        "building_id": "B01",
        "role": "원료 입고·보류 시료 접수"
      },
      {
        "x": 38.0,
        "y": 51.15,
        "angle": -1.5707963267948966,
        "building_id": "B04",
        "role": "승인된 참치 통조림 케이스 출하"
      }
    ],
    "parking": [
      {
        "x": 24,
        "y": 14,
        "angle": 0,
        "count": 12
      }
    ],
    "gate": {
      "x": 142,
      "y": 6
    },
    "pedestrian_gate": {
      "x": 16,
      "y": 6
    },
    "fence": true
  },
  "inventory_basis": {
    "status": "synthetic_planning_assumption",
    "raw_dwell": "원료 참치 1일, 빈 캔 2일",
    "finished_dwell": "상온 승인·보류 캔 3일",
    "logic": "생산홀의 잔여 면적을 창고로 바꾸지 않고 각 동 외벽을 공정+제한 버퍼까지 축소했다. 보류/승인/빈 포장재는 표시된 랙 내에서 구별한다.",
    "rack_pallet_positions": 144,
    "floor_pallet_positions": 30
  },
  "density": {
    "equipment_footprint_m2": 986,
    "equipment_coverage_ratio": 0.25956,
    "intent": "참치 원료 트레이·빈 캔 팔레트·권체 뚜껑 입고 보류·승인재고, 공정 중간품, 승인된 참치 통조림 케이스 출하대기와 정비 기능으로 면적을 구성한다. 안전통로는 재고로 채우지 않는다.",
    "production_area_m2": 3798.77,
    "storage_area_m2": 643.43,
    "support_area_m2": 1612.84,
    "circulation_area_m2": 1084.72
  },
  "robot_station_revision": 1,
  "robot_station_review": {
    "status": "input_authored_pending_render",
    "basis": "actual fixture geometry and retained handoff routes",
    "robots": [
      {
        "robot": "0/0",
        "kind": "gantry",
        "fixture_id": "B03-PROCESS-FX01",
        "previous_position": [
          82.6,
          80.0,
          0
        ],
        "position": [
          84.3,
          80.0,
          0
        ],
        "task_points": [
          [
            85.3,
            80.0,
            1.5025
          ],
          [
            84.3,
            80.0,
            1.555
          ]
        ]
      },
      {
        "robot": "1/0",
        "kind": "six_axis",
        "fixture_id": "B04-PROCESS-FX01",
        "previous_position": [
          42.6,
          82.2,
          -1.5707963267948966
        ],
        "position": [
          42.6,
          81.8,
          -1.5707963267948966
        ],
        "task_points": [
          [
            42.2,
            80.5,
            1.18
          ],
          [
            42.8,
            80.5,
            1.35
          ]
        ]
      },
      {
        "robot": "1/1",
        "kind": "six_axis",
        "fixture_id": "B04-PROCESS-FX02",
        "previous_position": [
          51.0,
          82.2,
          -1.5707963267948966
        ],
        "position": [
          51.0,
          81.8,
          -1.5707963267948966
        ],
        "task_points": [
          [
            50.6,
            80.5,
            1.18
          ],
          [
            51.2,
            80.5,
            1.35
          ]
        ]
      },
      {
        "robot": "2/0",
        "kind": "palletizer",
        "fixture_id": "B04-PROCESS-FX03",
        "previous_position": [
          43.5,
          58.5,
          1.5707963267948966
        ],
        "position": [
          43.5,
          58.5,
          1.5707963267948966
        ],
        "task_points": [
          [
            43.28088,
            60.9,
            1.12
          ],
          [
            43.71912,
            60.9,
            1.12
          ]
        ]
      },
      {
        "robot": "2/1",
        "kind": "palletizer",
        "fixture_id": "B04-PROCESS-FX04",
        "previous_position": [
          53.7,
          58.5,
          1.5707963267948966
        ],
        "position": [
          53.7,
          58.5,
          1.5707963267948966
        ],
        "task_points": [
          [
            53.48088,
            60.9,
            1.12
          ],
          [
            53.91912,
            60.9,
            1.12
          ]
        ]
      }
    ]
  }
}
