{
  "factory_id": "F20",
  "design_revision": 2,
  "design_story": "스모크밸리는 북서 원료육 전처리·분쇄·혼합동에서 나온 배치를 바로 동쪽 충전·걸대·훈연동으로 넘긴다. 훈연이 끝난 걸대는 남동 냉각·검사보류동에서 미생물 승인까지 분리 대기한 뒤 서쪽 외포장동으로 이동한다. 네 생산 공간은 서로 3~4m 사이의 짧은 인계부로 맞물리고, 젖은 원료 빈과 승인된 냉장 팩은 별도 도크를 쓴다. 남측 탈의·검사·열원·사무 wing은 각 역할에 필요한 설비·문서장·위생용구를 유지한 채 빈 뒤쪽 바닥만 줄였다. 적갈색 원료동 박공과 높은 훈연 배기 목, 낮은 냉각창과 금속 포장 지붕이 오래된 육가공동과 증축동의 차이를 만든다.",
  "site": {
    "width": 148,
    "depth": 140
  },
  "buildings": [
    {
      "id": "B01",
      "name": "원료육 전처리·분쇄·혼합동",
      "role": "production",
      "polygon": [
        [
          38.0,
          83.0
        ],
        [
          68.028,
          83.0
        ],
        [
          68.028,
          125.056
        ],
        [
          38.0,
          125.056
        ]
      ],
      "height": 8,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "brick",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B01-OPEN-1",
          "building_id": "B01",
          "x": 38.0,
          "y": 85.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": 68.028,
          "y": 87.0,
          "width": 0.57,
          "sill_height": 2.755,
          "height": 0.49,
          "axis": "y",
          "kind": "pipe_sleeve",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:0"
          ],
          "route_ids": [
            "FLOW-S03-S04-0"
          ],
          "closure": "sealed sanitary wall penetration"
        },
        {
          "id": "B01-OPEN-3",
          "building_id": "B01",
          "x": 68.028,
          "y": 104.0,
          "width": 0.57,
          "sill_height": 2.755,
          "height": 0.49,
          "axis": "y",
          "kind": "pipe_sleeve",
          "connects": [
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S03:3",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2",
            "FLOW-S03-S04-3"
          ],
          "closure": "sealed sanitary wall penetration"
        }
      ]
    },
    {
      "id": "B02",
      "name": "충전·걸대·훈연동",
      "role": "production",
      "polygon": [
        [
          72.0,
          83.0
        ],
        [
          126.069,
          83.0
        ],
        [
          126.069,
          120.13
        ],
        [
          72.0,
          120.13
        ]
      ],
      "height": 8,
      "roof": {
        "type": "sawtooth",
        "axis": "y",
        "pitch": 0.08
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "metal",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B02-OPEN-1",
          "building_id": "B02",
          "x": 80.0,
          "y": 83.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:2",
            "equipment:S07:2"
          ],
          "route_ids": [
            "FLOW-S06-S07-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-2",
          "building_id": "B02",
          "x": 85.0,
          "y": 83.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:1",
            "equipment:S07:1"
          ],
          "route_ids": [
            "FLOW-S06-S07-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-3",
          "building_id": "B02",
          "x": 90.0,
          "y": 83.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:0",
            "equipment:S07:0"
          ],
          "route_ids": [
            "FLOW-S06-S07-0"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-OPEN-4",
          "building_id": "B02",
          "x": 72.0,
          "y": 87.0,
          "width": 0.57,
          "sill_height": 2.755,
          "height": 0.49,
          "axis": "y",
          "kind": "pipe_sleeve",
          "connects": [
            "equipment:S03:0",
            "equipment:S04:0"
          ],
          "route_ids": [
            "FLOW-S03-S04-0"
          ],
          "closure": "sealed sanitary wall penetration"
        },
        {
          "id": "B02-OPEN-5",
          "building_id": "B02",
          "x": 72.0,
          "y": 104.0,
          "width": 0.57,
          "sill_height": 2.755,
          "height": 0.49,
          "axis": "y",
          "kind": "pipe_sleeve",
          "connects": [
            "equipment:S03:1",
            "equipment:S03:2",
            "equipment:S03:3",
            "equipment:S04:0",
            "equipment:S04:1",
            "equipment:S04:2"
          ],
          "route_ids": [
            "FLOW-S03-S04-1",
            "FLOW-S03-S04-2",
            "FLOW-S03-S04-3"
          ],
          "closure": "sealed sanitary wall penetration"
        }
      ]
    },
    {
      "id": "B03",
      "name": "배치 냉각·검사보류동",
      "role": "production",
      "polygon": [
        [
          72.0,
          50.0
        ],
        [
          115.8,
          50.0
        ],
        [
          115.8,
          79.231
        ],
        [
          72.0,
          79.231
        ]
      ],
      "height": 10,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.08
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "concrete",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B03-OPEN-1",
          "building_id": "B03",
          "x": 80.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:2",
            "equipment:S07:2"
          ],
          "route_ids": [
            "FLOW-S06-S07-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-2",
          "building_id": "B03",
          "x": 85.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:1",
            "equipment:S07:1"
          ],
          "route_ids": [
            "FLOW-S06-S07-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-3",
          "building_id": "B03",
          "x": 90.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:0",
            "equipment:S07:0"
          ],
          "route_ids": [
            "FLOW-S06-S07-0"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-OPEN-4",
          "building_id": "B03",
          "x": 72.0,
          "y": 66.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S07:2",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2",
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B04",
      "name": "냉장 외포장·출하동",
      "role": "production",
      "polygon": [
        [
          24.0,
          50.0
        ],
        [
          68.186,
          50.0
        ],
        [
          68.186,
          79.528
        ],
        [
          24.0,
          79.528
        ]
      ],
      "height": 8,
      "roof": {
        "type": "shed",
        "axis": "y",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "metal",
        "window_band_height": 4.2
      },
      "openings": [
        {
          "id": "B04-OPEN-1",
          "building_id": "B04",
          "x": 24.0,
          "y": 52.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": 68.186,
          "y": 66.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S07:2",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2",
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "STAFF",
      "name": "위생복 탈의·교대 휴게동",
      "role": "staff",
      "polygon": [
        [
          24,
          24
        ],
        [
          52,
          24
        ],
        [
          52,
          32.3
        ],
        [
          24,
          32.3
        ]
      ],
      "height": 7,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "brick",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "STAFF-OPEN-1",
          "building_id": "STAFF",
          "x": 24,
          "y": 28.15,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:STAFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-STAFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "LAB",
      "name": "원료·제품 품질 검사동",
      "role": "laboratory",
      "polygon": [
        [
          52,
          24
        ],
        [
          74,
          24
        ],
        [
          74,
          29.2
        ],
        [
          52,
          29.2
        ]
      ],
      "height": 7,
      "roof": {
        "type": "shed",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "concrete",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "LAB-OPEN-1",
          "building_id": "LAB",
          "x": 63.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "kind": "personnel_door",
          "connects": [
            "building:LAB",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-LAB"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "UTIL",
      "name": "열원·냉열·정비동",
      "role": "utility",
      "polygon": [
        [
          74,
          24
        ],
        [
          110,
          24
        ],
        [
          110,
          39.6
        ],
        [
          74,
          39.6
        ]
      ],
      "height": 9,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "material": "metal",
        "window_band_height": 3.2
      },
      "openings": [
        {
          "id": "UTIL-OPEN-1",
          "building_id": "UTIL",
          "x": 74,
          "y": 31.8,
          "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": "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.82,
          0.8,
          0.75
        ],
        "accent": [
          0.48,
          0.2,
          0.17
        ],
        "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": 38.0,
      "y": 83.0,
      "width": 30.028,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B01-PROCESS",
      "name": "원료육 전처리·분쇄·혼합동 작업홀",
      "role": "process",
      "building_id": "B01",
      "x": 38.0,
      "y": 87.0,
      "width": 19.028,
      "depth": 38.056,
      "stage_ids": [
        "S01",
        "S02",
        "S03"
      ],
      "fixtures": [],
      "openings": [
        {
          "id": "B01-PROCESS-OPEN-1",
          "building_id": "B01",
          "zone_id": "B01-PROCESS",
          "x": 55.5,
          "y": 87.0,
          "width": 2.32,
          "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": 57.028,
          "y": 88.5,
          "width": 2.32,
          "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": 57.028,
          "y": 88.0,
          "width": 1.07,
          "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-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "cold_store",
      "building_id": "B01",
      "x": 60.028,
      "y": 87.0,
      "width": 8.0,
      "depth": 20.931,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B01-BUFFER-FX01",
          "type": "cold_rack",
          "x": 64.44,
          "y": 89.2,
          "width": 5.0,
          "depth": 2.0,
          "height": 3.4,
          "count": 8,
          "rows": 2,
          "columns": 4,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B01-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 63.44,
          "y": 93.2,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        },
        {
          "id": "B01-BUFFER-FX03",
          "type": "cold_rack",
          "x": 64.44,
          "y": 97.2,
          "width": 5.0,
          "depth": 2.0,
          "height": 3.4,
          "count": 8,
          "rows": 2,
          "columns": 4,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B01-BUFFER-FX04",
          "type": "floor_pallets",
          "x": 63.44,
          "y": 101.2,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        }
      ],
      "openings": [
        {
          "id": "B01-BUFFER-OPEN-1",
          "building_id": "B01",
          "zone_id": "B01-BUFFER",
          "x": 60.028,
          "y": 88.5,
          "width": 2.32,
          "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-BUFFER-OPEN-2",
          "building_id": "B01",
          "zone_id": "B01-BUFFER",
          "x": 60.028,
          "y": 88.0,
          "width": 1.07,
          "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-SERVICE",
      "name": "원료육 전처리·분쇄·혼합동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B01",
      "x": 60.028,
      "y": 107.931,
      "width": 8.0,
      "depth": 17.125,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B01-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 63.44,
          "y": 110.2,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B01-SERVICE-FX02",
          "type": "compressor",
          "x": 63.44,
          "y": 114.2,
          "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": 63.44,
          "y": 118.2,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        },
        {
          "id": "B01-SERVICE-FX04",
          "type": "tank_bank",
          "x": 64.44,
          "y": 122.2,
          "width": 5,
          "depth": 2.6,
          "height": 3.5,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "세척수·공정용수 분리 탱크"
        }
      ],
      "openings": []
    },
    {
      "id": "B01-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B01",
      "x": 57.028,
      "y": 87.0,
      "width": 3,
      "depth": 38.056,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B02-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B02",
      "x": 72.0,
      "y": 83.0,
      "width": 54.069,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B02-PROCESS",
      "name": "충전·걸대·훈연동 작업홀",
      "role": "process",
      "building_id": "B02",
      "x": 72.0,
      "y": 87.0,
      "width": 43.069,
      "depth": 33.13,
      "stage_ids": [
        "S04",
        "S05",
        "S06"
      ],
      "fixtures": [
        {
          "id": "B02-PROCESS-FX01",
          "type": "worktable",
          "x": 87.8,
          "y": 107.3,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "빈 트레이와 채워진 트레이를 정해진 버퍼 랙 사이에서 수평으로 옮긴다",
          "model_profile": "food_tray_handoff"
        },
        {
          "id": "B02-PROCESS-FX02",
          "type": "worktable",
          "x": 96.2,
          "y": 107.3,
          "width": 1.2,
          "depth": 1.0,
          "height": 1.0,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "빈 트레이와 채워진 트레이를 정해진 버퍼 랙 사이에서 수평으로 옮긴다",
          "model_profile": "food_tray_handoff"
        },
        {
          "id": "B02-PROCESS-FX03",
          "type": "product_bins",
          "x": 102.48,
          "y": 106.8,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "충전·걸대·훈연동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B02-PROCESS-FX04",
          "type": "worktable",
          "x": 102.48,
          "y": 110.8,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B02-PROCESS-FX05",
          "type": "bin_rack",
          "x": 107.48,
          "y": 110.8,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B02-PROCESS-FX06",
          "type": "dock_staging",
          "x": 75.48,
          "y": 114.8,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B02-PROCESS-FX07",
          "type": "weigh_station",
          "x": 112.48,
          "y": 111.8,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B02-PROCESS-FX08",
          "type": "wash_station",
          "x": 81.48,
          "y": 114.8,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        },
        {
          "id": "B02-PROCESS-FX09",
          "type": "product_bins",
          "x": 86.48,
          "y": 114.8,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "충전·걸대·훈연동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B02-PROCESS-FX10",
          "type": "worktable",
          "x": 92.48,
          "y": 114.8,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B02-PROCESS-FX11",
          "type": "bin_rack",
          "x": 97.48,
          "y": 114.8,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B02-PROCESS-FX12",
          "type": "dock_staging",
          "x": 103.48,
          "y": 114.8,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B02-PROCESS-FX13",
          "type": "weigh_station",
          "x": 108.48,
          "y": 115.8,
          "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": 80.0,
          "y": 87.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:2",
            "equipment:S07:2"
          ],
          "route_ids": [
            "FLOW-S06-S07-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-2",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 83.5,
          "y": 87.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:1",
            "equipment:S07:1"
          ],
          "route_ids": [
            "FLOW-S06-S07-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B02-PROCESS-OPEN-3",
          "building_id": "B02",
          "zone_id": "B02-PROCESS",
          "x": 90.0,
          "y": 87.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:0",
            "equipment:S07:0"
          ],
          "route_ids": [
            "FLOW-S06-S07-0"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B02-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "warehouse",
      "building_id": "B02",
      "x": 118.069,
      "y": 87.0,
      "width": 8.0,
      "depth": 18.222,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B02-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 122.48,
          "y": 89.8,
          "width": 5.0,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B02-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 121.48,
          "y": 93.8,
          "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": 122.48,
          "y": 97.8,
          "width": 5.0,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B02-BUFFER-FX04",
          "type": "floor_pallets",
          "x": 121.48,
          "y": 101.8,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 피킹 대기"
        }
      ],
      "openings": []
    },
    {
      "id": "B02-SERVICE",
      "name": "충전·걸대·훈연동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B02",
      "x": 118.069,
      "y": 105.222,
      "width": 8.0,
      "depth": 14.909,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B02-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 121.48,
          "y": 107.8,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B02-SERVICE-FX02",
          "type": "compressor",
          "x": 121.48,
          "y": 111.8,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        },
        {
          "id": "B02-SERVICE-FX03",
          "type": "cip_skid",
          "x": 121.48,
          "y": 115.8,
          "width": 4.5,
          "depth": 2.4,
          "height": 2.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "제품 이송관 CIP 공급·회수"
        }
      ],
      "openings": []
    },
    {
      "id": "B02-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B02",
      "x": 115.069,
      "y": 87.0,
      "width": 3,
      "depth": 33.13,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B03-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B03",
      "x": 72.0,
      "y": 50.0,
      "width": 43.8,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B03-PROCESS",
      "name": "배치 냉각·검사보류동 작업홀",
      "role": "process",
      "building_id": "B03",
      "x": 72.0,
      "y": 54.0,
      "width": 32.8,
      "depth": 25.231,
      "stage_ids": [
        "S07"
      ],
      "fixtures": [
        {
          "id": "B03-PROCESS-FX01",
          "type": "product_bins",
          "x": 101.44,
          "y": 57.0,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "배치 냉각·검사보류동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B03-PROCESS-FX02",
          "type": "worktable",
          "x": 101.44,
          "y": 61.0,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B03-PROCESS-FX03",
          "type": "bin_rack",
          "x": 101.44,
          "y": 65.0,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B03-PROCESS-FX04",
          "type": "dock_staging",
          "x": 88.44,
          "y": 68.0,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        },
        {
          "id": "B03-PROCESS-FX05",
          "type": "weigh_station",
          "x": 93.44,
          "y": 67.0,
          "width": 2.4,
          "depth": 1.6,
          "height": 1.4,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배치 투입·수율 확인 계량대"
        },
        {
          "id": "B03-PROCESS-FX06",
          "type": "wash_station",
          "x": 98.44,
          "y": 69.0,
          "width": 2.8,
          "depth": 1.3,
          "height": 1.3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "공정 작업자 위생·도구 세척"
        },
        {
          "id": "B03-PROCESS-FX07",
          "type": "product_bins",
          "x": 88.44,
          "y": 73.0,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "배치 냉각·검사보류동 작업홀 / 투입 승인 중간품"
        },
        {
          "id": "B03-PROCESS-FX08",
          "type": "worktable",
          "x": 94.44,
          "y": 73.0,
          "width": 3,
          "depth": 1.5,
          "height": 0.95,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "공정 전환·중간품 품질 작업대"
        },
        {
          "id": "B03-PROCESS-FX09",
          "type": "bin_rack",
          "x": 99.44,
          "y": 73.0,
          "width": 3,
          "depth": 1.2,
          "height": 2.3,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "교체 치구·소모품·위생 용구"
        },
        {
          "id": "B03-PROCESS-FX10",
          "type": "dock_staging",
          "x": 94.44,
          "y": 77.0,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.1,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "다음 공정 인계용 밀폐 토트"
        }
      ],
      "openings": [
        {
          "id": "B03-PROCESS-OPEN-1",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 80.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:2",
            "equipment:S07:2"
          ],
          "route_ids": [
            "FLOW-S06-S07-2"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-2",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 85.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:1",
            "equipment:S07:1"
          ],
          "route_ids": [
            "FLOW-S06-S07-1"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-3",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 90.0,
          "y": 79.231,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "x",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S06:0",
            "equipment:S07:0"
          ],
          "route_ids": [
            "FLOW-S06-S07-0"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B03-PROCESS-OPEN-4",
          "building_id": "B03",
          "zone_id": "B03-PROCESS",
          "x": 72.0,
          "y": 66.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S07:2",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2",
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B03-BUFFER",
      "name": "원료·부자재 승인 버퍼",
      "role": "warehouse",
      "building_id": "B03",
      "x": 107.8,
      "y": 54.0,
      "width": 8.0,
      "depth": 13.877,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B03-BUFFER-FX01",
          "type": "pallet_rack",
          "x": 111.44,
          "y": 56.0,
          "width": 5.0,
          "depth": 2.0,
          "height": 6.2,
          "count": 18,
          "rows": 3,
          "columns": 6,
          "angle": 0,
          "label": "원료·부자재 승인 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B03-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 111.44,
          "y": 60.0,
          "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": 111.44,
          "y": 64.0,
          "width": 5.0,
          "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": 107.8,
      "y": 67.877,
      "width": 8.0,
      "depth": 11.354,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B03-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 111.44,
          "y": 70.0,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B03-SERVICE-FX02",
          "type": "compressor",
          "x": 111.44,
          "y": 74.0,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        }
      ],
      "openings": []
    },
    {
      "id": "B03-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B03",
      "x": 104.8,
      "y": 54.0,
      "width": 3,
      "depth": 25.231,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B04-AISLE",
      "name": "밀폐 배치 인계·정비 통로",
      "role": "circulation",
      "building_id": "B04",
      "x": 24.0,
      "y": 50.0,
      "width": 44.186,
      "depth": 4,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "B04-PROCESS",
      "name": "냉장 외포장·출하동 작업홀",
      "role": "packaging",
      "building_id": "B04",
      "x": 24.0,
      "y": 54.0,
      "width": 33.186,
      "depth": 25.528,
      "stage_ids": [
        "S08"
      ],
      "fixtures": [
        {
          "id": "B04-PROCESS-FX01",
          "type": "worktable",
          "x": 30.3,
          "y": 68.8,
          "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": 49.0,
          "y": 60.3,
          "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": 39.7,
          "y": 61.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": 31.9,
          "y": 59.5,
          "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": 27.48,
          "y": 75.0,
          "width": 3.2,
          "depth": 2.2,
          "height": 1.3,
          "count": 4,
          "rows": 2,
          "columns": 2,
          "angle": 0,
          "label": "냉장 외포장·출하동 작업홀 / 투입 승인 중간품"
        }
      ],
      "openings": []
    },
    {
      "id": "B04-BUFFER",
      "name": "완제품 승인·보류 버퍼",
      "role": "cold_store",
      "building_id": "B04",
      "x": 60.186,
      "y": 54.0,
      "width": 8.0,
      "depth": 14.04,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B04-BUFFER-FX01",
          "type": "cold_rack",
          "x": 64.48,
          "y": 56.0,
          "width": 5.0,
          "depth": 2.0,
          "height": 3.4,
          "count": 8,
          "rows": 2,
          "columns": 4,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 로트별 승인 재고"
        },
        {
          "id": "B04-BUFFER-FX02",
          "type": "floor_pallets",
          "x": 63.48,
          "y": 60.0,
          "width": 3.6,
          "depth": 2.4,
          "height": 1.4,
          "count": 6,
          "rows": 2,
          "columns": 3,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 피킹 대기"
        },
        {
          "id": "B04-BUFFER-FX03",
          "type": "cold_rack",
          "x": 64.48,
          "y": 64.0,
          "width": 5.0,
          "depth": 2.0,
          "height": 3.4,
          "count": 8,
          "rows": 2,
          "columns": 4,
          "angle": 0,
          "label": "완제품 승인·보류 버퍼 / 로트별 승인 재고"
        }
      ],
      "openings": [
        {
          "id": "B04-BUFFER-OPEN-1",
          "building_id": "B04",
          "zone_id": "B04-BUFFER",
          "x": 60.186,
          "y": 55.5,
          "width": 2.32,
          "sill_height": 0,
          "height": 3.6,
          "axis": "y",
          "kind": "vehicle_door",
          "connects": [
            "shipping-dock",
            "zone:B04-BUFFER"
          ],
          "route_ids": [
            "OUTBOUND"
          ],
          "closure": "staff/vehicle doorway"
        },
        {
          "id": "B04-BUFFER-OPEN-2",
          "building_id": "B04",
          "zone_id": "B04-BUFFER",
          "x": 60.186,
          "y": 55.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3",
            "zone:B04-BUFFER"
          ],
          "route_ids": [
            "FINISH-BUFFER-0",
            "FINISH-BUFFER-1",
            "FINISH-BUFFER-2",
            "FINISH-BUFFER-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B04-BUFFER-OPEN-3",
          "building_id": "B04",
          "zone_id": "B04-BUFFER",
          "x": 60.186,
          "y": 66.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S07:2",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2",
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        },
        {
          "id": "B04-BUFFER-OPEN-4",
          "building_id": "B04",
          "zone_id": "B04-BUFFER",
          "x": 68.186,
          "y": 66.0,
          "width": 1.07,
          "sill_height": 0.6,
          "height": 1.05,
          "axis": "y",
          "kind": "transfer_hatch",
          "connects": [
            "equipment:S07:0",
            "equipment:S07:1",
            "equipment:S07:2",
            "equipment:S08:0",
            "equipment:S08:1",
            "equipment:S08:2",
            "equipment:S08:3"
          ],
          "route_ids": [
            "FLOW-S07-S08-0",
            "FLOW-S07-S08-1",
            "FLOW-S07-S08-2",
            "FLOW-S07-S08-3"
          ],
          "closure": "interlocked washable transfer shutter"
        }
      ]
    },
    {
      "id": "B04-SERVICE",
      "name": "냉장 외포장·출하동 공정 유틸리티·위생 준비실",
      "role": "utility",
      "building_id": "B04",
      "x": 60.186,
      "y": 68.04,
      "width": 8.0,
      "depth": 11.488,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "B04-SERVICE-FX01",
          "type": "electrical_bank",
          "x": 63.48,
          "y": 70.0,
          "width": 4,
          "depth": 1.2,
          "height": 2.2,
          "count": 4,
          "rows": 1,
          "columns": 4,
          "angle": 0,
          "label": "분전·인버터·정비 잠금반"
        },
        {
          "id": "B04-SERVICE-FX02",
          "type": "compressor",
          "x": 63.48,
          "y": 74.0,
          "width": 3.5,
          "depth": 2.5,
          "height": 2.2,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "생산 공압·건조 공기 공급"
        }
      ],
      "openings": []
    },
    {
      "id": "B04-SERVICE-AISLE",
      "name": "생산·버퍼 사이 3m 서비스 통로",
      "role": "circulation",
      "building_id": "B04",
      "x": 57.186,
      "y": 54.0,
      "width": 3,
      "depth": 25.528,
      "stage_ids": [],
      "fixtures": [],
      "openings": []
    },
    {
      "id": "STAFF-ROOM",
      "name": "위생복 탈의·교대 휴게동",
      "role": "staff",
      "building_id": "STAFF",
      "x": 24,
      "y": 24,
      "width": 28,
      "depth": 8.3,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "STAFF-ROOM-FX01",
          "type": "locker_bank",
          "x": 27,
          "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": 32,
          "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": 37,
          "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": 42,
          "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": 47,
          "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": 27,
          "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": 32,
          "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": 24,
          "y": 28.15,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "y",
          "kind": "personnel_door",
          "connects": [
            "building:STAFF",
            "staff-gate"
          ],
          "route_ids": [
            "SUPPORT-ACCESS-STAFF"
          ],
          "closure": "staff/vehicle doorway"
        }
      ]
    },
    {
      "id": "LAB-ROOM",
      "name": "원료·제품 품질 검사동",
      "role": "laboratory",
      "building_id": "LAB",
      "x": 52,
      "y": 24,
      "width": 22,
      "depth": 5.2,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "LAB-ROOM-FX01",
          "type": "lab_bench",
          "x": 55,
          "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": 60,
          "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": 65,
          "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": 70,
          "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": 63.0,
          "y": 24,
          "width": 2.12,
          "sill_height": 0,
          "height": 2.4,
          "axis": "x",
          "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": 74,
      "y": 24,
      "width": 36,
      "depth": 9.7,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "UTIL-PLANT-FX01",
          "type": "electrical_bank",
          "x": 77,
          "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": 83,
          "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": 89,
          "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": 96,
          "y": 27,
          "width": 5,
          "depth": 2.6,
          "height": 3.5,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "세척수·공정용수 분리 탱크"
        },
        {
          "id": "UTIL-PLANT-FX05",
          "type": "chiller",
          "x": 103,
          "y": 27,
          "width": 5,
          "depth": 3,
          "height": 3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "저온 저장·제품 온도 안정 냉수 공급"
        },
        {
          "id": "UTIL-PLANT-FX06",
          "type": "air_handler",
          "x": 77,
          "y": 30,
          "width": 4,
          "depth": 2.4,
          "height": 2.5,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "결로 방지·청정 급기"
        }
      ],
      "openings": [
        {
          "id": "UTIL-PLANT-OPEN-1",
          "building_id": "UTIL",
          "zone_id": "UTIL-PLANT",
          "x": 74,
          "y": 31.8,
          "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": 74,
      "y": 33.7,
      "width": 36,
      "depth": 5.9,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "UTIL-MAINT-FX01",
          "type": "workbench",
          "x": 77,
          "y": 36.26,
          "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": 82,
          "y": 36.26,
          "width": 3,
          "depth": 1.2,
          "height": 2.4,
          "count": 24,
          "rows": 4,
          "columns": 6,
          "angle": 0,
          "label": "규격 베어링·밸브·센서 예비품"
        },
        {
          "id": "UTIL-MAINT-FX03",
          "type": "cabinet",
          "x": 86,
          "y": 35.26,
          "width": 2,
          "depth": 1,
          "height": 2,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "잠금·계측·안전 도구함"
        },
        {
          "id": "UTIL-MAINT-FX04",
          "type": "workbench",
          "x": 91,
          "y": 36.26,
          "width": 3.5,
          "depth": 1.5,
          "height": 0.95,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "탈거 모터·씰 정비 작업대"
        }
      ],
      "openings": []
    },
    {
      "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": 42.5,
      "y": 106.9,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 50.7,
      "y": 108.9,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 2,
      "x": 42.5,
      "y": 113.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 50.7,
      "y": 115.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 42.5,
      "y": 119.3,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 2,
      "x": 50.7,
      "y": 121.3,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 43.0,
      "y": 91.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 51.7,
      "y": 92.0,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 43.0,
      "y": 99.7,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 3,
      "x": 51.7,
      "y": 101.2,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 110.1,
      "y": 93.0,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 78.0,
      "y": 100.7,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 2,
      "x": 89.2,
      "y": 100.7,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 78.0,
      "y": 92.0,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 89.2,
      "y": 92.0,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 2,
      "x": 100.4,
      "y": 92.0,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 100.4,
      "y": 100.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 78.0,
      "y": 108.9,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 2,
      "x": 110.1,
      "y": 104.2,
      "angle": 1.5707963267948966
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 79.0,
      "y": 60.0,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 92.2,
      "y": 60.0,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 2,
      "x": 79.0,
      "y": 71.2,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 38.4,
      "y": 75.4,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 49.6,
      "y": 73.6,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 2,
      "x": 38.4,
      "y": 68.2,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 3,
      "x": 50.4,
      "y": 66.4,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S05",
      "x": 87.8,
      "y": 107.3,
      "angle": 0,
      "task_station": "B02-PROCESS-FX01",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          87.8,
          109.0,
          -1.5707963267948966
        ],
        "fixture_id": "B02-PROCESS-FX01",
        "reason": "기존 캐리어 인계대를 감싸는 4×3.2m 포털로 재배치. 기둥은 인계대 밖에 두고 기존 컨베이어의 반입 캐리어→고정 버퍼 캐리어로 이동."
      },
      "task_fixture": {
        "fixture_id": "B02-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.429
      ],
      "task_points": [
        [
          87.8,
          106.3,
          1.1575
        ],
        [
          87.8,
          107.3,
          1.21
        ]
      ],
      "carrier_contact": {
        "fixture_id": "B02-PROCESS-FX01",
        "lug_span_x": null,
        "rim_span_y": 0.429,
        "incoming_surface_world_z": 0.9925,
        "station_surface_world_z": 1.045,
        "tcp_basis": "clamp centre with opposing tray-rim contacts",
        "incoming_workpiece": "same carrier geometry on existing conveyor, pending rendered verification"
      },
      "task_point": [
        87.8,
        106.3,
        1.1575
      ],
      "motion_scope": "실제 작업면 접촉 TCP의 대표 이송·접근. 전체 동작 충돌과 대상물 동기화는 모델 검수 대상."
    },
    {
      "definition_index": 0,
      "instance_index": 1,
      "stage_id": "S05",
      "x": 96.2,
      "y": 107.3,
      "angle": 0,
      "task_station": "B02-PROCESS-FX02",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          96.2,
          109.0,
          -1.5707963267948966
        ],
        "fixture_id": "B02-PROCESS-FX02",
        "reason": "기존 캐리어 인계대를 감싸는 4×3.2m 포털로 재배치. 기둥은 인계대 밖에 두고 기존 컨베이어의 반입 캐리어→고정 버퍼 캐리어로 이동."
      },
      "task_fixture": {
        "fixture_id": "B02-PROCESS-FX02",
        "target_basis": "actual generated fixture solids"
      },
      "gantry_span": [
        4,
        3.2,
        3.4
      ],
      "controller_offset": [
        0,
        1.9,
        0
      ],
      "tool_span": [
        0.7488,
        0.429
      ],
      "task_points": [
        [
          96.2,
          106.3,
          1.1575
        ],
        [
          96.2,
          107.3,
          1.21
        ]
      ],
      "carrier_contact": {
        "fixture_id": "B02-PROCESS-FX02",
        "lug_span_x": null,
        "rim_span_y": 0.429,
        "incoming_surface_world_z": 0.9925,
        "station_surface_world_z": 1.045,
        "tcp_basis": "clamp centre with opposing tray-rim contacts",
        "incoming_workpiece": "same carrier geometry on existing conveyor, pending rendered verification"
      },
      "task_point": [
        96.2,
        106.3,
        1.1575
      ],
      "motion_scope": "실제 작업면 접촉 TCP의 대표 이송·접근. 전체 동작 충돌과 대상물 동기화는 모델 검수 대상."
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 29.0,
      "y": 68.8,
      "angle": 0,
      "task_station": "B04-PROCESS-FX01",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          28.6,
          68.8,
          0
        ],
        "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": [
        [
          29.9,
          68.8,
          1.18
        ],
        [
          30.5,
          68.8,
          1.35
        ]
      ],
      "task_point": [
        29.9,
        68.8,
        1.18
      ],
      "motion_scope": "인계대 트레이에서 고정 지그로 옮기는 접촉 TCP 대표 동작. 대상물·손목·주변 충돌 시각검수는 별도."
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 49.0,
      "y": 59.0,
      "angle": 1.5707963267948966,
      "task_station": "B04-PROCESS-FX02",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          49.0,
          58.6,
          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": [
        [
          48.6,
          60.3,
          1.18
        ],
        [
          49.2,
          60.3,
          1.35
        ]
      ],
      "task_point": [
        48.6,
        60.3,
        1.18
      ],
      "motion_scope": "인계대 트레이에서 고정 지그로 옮기는 접촉 TCP 대표 동작. 대상물·손목·주변 충돌 시각검수는 별도."
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 39.7,
      "y": 59.5,
      "angle": 1.5707963267948966,
      "task_station": "B04-PROCESS-FX03",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          39.7,
          59.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": [
        [
          39.48088,
          61.9,
          1.12
        ],
        [
          39.91912,
          61.9,
          1.12
        ]
      ],
      "task_point": [
        39.48088,
        61.9,
        1.12
      ],
      "motion_scope": "기존 팔레트 위 두 실제 박스 위치의 층 패턴 대표 동작. 다층 전체 적재·대상물 이송 검수는 별도."
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 29.5,
      "y": 59.5,
      "angle": 0,
      "task_station": "B04-PROCESS-FX04",
      "station_correction": {
        "revision": 1,
        "previous_position": [
          29.5,
          59.5,
          0
        ],
        "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": [
        [
          31.68088,
          59.5,
          1.12
        ],
        [
          32.11912,
          59.5,
          1.12
        ]
      ],
      "task_point": [
        31.68088,
        59.5,
        1.12
      ],
      "motion_scope": "기존 팔레트 위 두 실제 박스 위치의 층 패턴 대표 동작. 다층 전체 적재·대상물 이송 검수는 별도."
    }
  ],
  "logistics": [
    {
      "id": "FLOW-S01-S02-0",
      "kind": "conveyor",
      "from": "equipment:S01:0",
      "to": "equipment:S02:0",
      "points": [
        [
          45.0,
          106.9,
          0.9
        ],
        [
          46.5,
          106.9,
          0.9
        ],
        [
          46.5,
          107.0,
          0.9
        ],
        [
          46.5,
          115.0,
          0.9
        ],
        [
          47.0,
          115.0,
          0.9
        ],
        [
          47.0,
          115.1,
          0.9
        ],
        [
          48.2,
          115.1,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "정형 원료육"
    },
    {
      "id": "FLOW-S01-S02-1",
      "kind": "conveyor",
      "from": "equipment:S01:1",
      "to": "equipment:S02:1",
      "points": [
        [
          53.2,
          108.9,
          0.9
        ],
        [
          54.5,
          108.9,
          0.9
        ],
        [
          54.5,
          109.0,
          0.9
        ],
        [
          54.0,
          109.0,
          0.9
        ],
        [
          54.0,
          111.0,
          0.9
        ],
        [
          39.0,
          111.0,
          0.9
        ],
        [
          39.0,
          119.5,
          0.9
        ],
        [
          38.5,
          119.5,
          0.9
        ],
        [
          38.5,
          119.3,
          0.9
        ],
        [
          40.0,
          119.3,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "정형 원료육"
    },
    {
      "id": "FLOW-S01-S02-2",
      "kind": "conveyor",
      "from": "equipment:S01:2",
      "to": "equipment:S02:2",
      "points": [
        [
          45.0,
          113.1,
          0.9
        ],
        [
          46.5,
          113.1,
          0.9
        ],
        [
          46.5,
          113.0,
          0.9
        ],
        [
          46.5,
          121.5,
          0.9
        ],
        [
          47.0,
          121.5,
          0.9
        ],
        [
          47.0,
          121.3,
          0.9
        ],
        [
          48.2,
          121.3,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "정형 원료육"
    },
    {
      "id": "FLOW-S02-S03-0",
      "kind": "conveyor",
      "from": "equipment:S02:0",
      "to": "equipment:S03:0",
      "points": [
        [
          53.2,
          115.1,
          0.9
        ],
        [
          54.5,
          115.1,
          0.9
        ],
        [
          54.5,
          115.0,
          0.9
        ],
        [
          54.0,
          115.0,
          0.9
        ],
        [
          54.0,
          113.0,
          0.9
        ],
        [
          45.5,
          113.0,
          0.9
        ],
        [
          45.5,
          111.0,
          0.9
        ],
        [
          39.0,
          111.0,
          0.9
        ],
        [
          39.0,
          91.5,
          0.9
        ],
        [
          38.5,
          91.5,
          0.9
        ],
        [
          40.0,
          91.5,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "분쇄육"
    },
    {
      "id": "FLOW-S02-S03-1",
      "kind": "conveyor",
      "from": "equipment:S02:1",
      "to": "equipment:S03:1",
      "points": [
        [
          45.0,
          119.3,
          0.9
        ],
        [
          46.5,
          119.3,
          0.9
        ],
        [
          46.5,
          119.5,
          0.9
        ],
        [
          46.5,
          87.5,
          0.9
        ],
        [
          51.5,
          87.5,
          0.9
        ],
        [
          51.5,
          89.0,
          0.9
        ],
        [
          51.7,
          89.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "분쇄육"
    },
    {
      "id": "FLOW-S02-S03-2",
      "kind": "conveyor",
      "from": "equipment:S02:2",
      "to": "equipment:S03:2",
      "points": [
        [
          53.2,
          121.3,
          0.9
        ],
        [
          54.5,
          121.3,
          0.9
        ],
        [
          54.5,
          121.5,
          0.9
        ],
        [
          54.0,
          121.5,
          0.9
        ],
        [
          54.0,
          119.0,
          0.9
        ],
        [
          45.5,
          119.0,
          0.9
        ],
        [
          45.5,
          117.0,
          0.9
        ],
        [
          39.0,
          117.0,
          0.9
        ],
        [
          39.0,
          99.5,
          0.9
        ],
        [
          38.5,
          99.5,
          0.9
        ],
        [
          38.5,
          99.7,
          0.9
        ],
        [
          40.0,
          99.7,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "분쇄육"
    },
    {
      "id": "FLOW-S02-S03-3",
      "kind": "conveyor",
      "from": "equipment:S02:0",
      "to": "equipment:S03:3",
      "points": [
        [
          53.2,
          115.1,
          0.9
        ],
        [
          54.5,
          115.1,
          0.9
        ],
        [
          54.5,
          115.0,
          0.9
        ],
        [
          54.5,
          105.0,
          0.9
        ],
        [
          55.0,
          105.0,
          0.9
        ],
        [
          55.0,
          97.5,
          0.9
        ],
        [
          51.5,
          97.5,
          0.9
        ],
        [
          51.5,
          97.0,
          0.9
        ],
        [
          51.5,
          98.2,
          0.9
        ],
        [
          51.7,
          98.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "분쇄육"
    },
    {
      "id": "FLOW-S03-S04-0",
      "kind": "pipe",
      "from": "equipment:S03:0",
      "to": "equipment:S04:0",
      "points": [
        [
          46.0,
          91.5,
          3
        ],
        [
          47.5,
          91.5,
          3
        ],
        [
          47.5,
          87.5,
          3
        ],
        [
          66.0,
          87.5,
          3
        ],
        [
          66.0,
          87.0,
          3
        ],
        [
          74,
          87,
          3
        ],
        [
          74,
          87.5,
          3
        ],
        [
          110.0,
          87.5,
          3
        ],
        [
          110.0,
          89.0,
          3
        ],
        [
          110.1,
          89.0,
          3
        ]
      ],
      "width": 0.25,
      "enclosure": "밀폐 위생 이송관",
      "material": "소시지 배터"
    },
    {
      "id": "FLOW-S03-S04-1",
      "kind": "pipe",
      "from": "equipment:S03:1",
      "to": "equipment:S04:1",
      "points": [
        [
          51.7,
          95.0,
          3
        ],
        [
          51.5,
          95.0,
          3
        ],
        [
          51.5,
          96.5,
          3
        ],
        [
          51.5,
          97.5,
          3
        ],
        [
          55.0,
          97.5,
          3
        ],
        [
          55.0,
          104.0,
          3
        ],
        [
          66.0,
          104.0,
          3
        ],
        [
          74,
          104,
          3
        ],
        [
          73.0,
          104,
          3
        ],
        [
          73.0,
          100.5,
          3
        ],
        [
          72.5,
          100.5,
          3
        ],
        [
          72.5,
          100.7,
          3
        ],
        [
          74.0,
          100.7,
          3
        ]
      ],
      "width": 0.25,
      "enclosure": "밀폐 위생 이송관",
      "material": "소시지 배터"
    },
    {
      "id": "FLOW-S03-S04-2",
      "kind": "pipe",
      "from": "equipment:S03:2",
      "to": "equipment:S04:2",
      "points": [
        [
          46.0,
          99.7,
          3
        ],
        [
          47.5,
          99.7,
          3
        ],
        [
          47.5,
          99.5,
          3
        ],
        [
          47.5,
          104.0,
          3
        ],
        [
          48.5,
          104.0,
          3
        ],
        [
          48.5,
          105.0,
          3
        ],
        [
          55.0,
          105.0,
          3
        ],
        [
          55.0,
          104.0,
          3
        ],
        [
          66.0,
          104.0,
          3
        ],
        [
          74,
          104,
          3
        ],
        [
          82.5,
          104,
          3
        ],
        [
          82.5,
          100.5,
          3
        ],
        [
          84.0,
          100.5,
          3
        ],
        [
          84.0,
          100.7,
          3
        ],
        [
          85.2,
          100.7,
          3
        ]
      ],
      "width": 0.25,
      "enclosure": "밀폐 위생 이송관",
      "material": "소시지 배터"
    },
    {
      "id": "FLOW-S03-S04-3",
      "kind": "pipe",
      "from": "equipment:S03:3",
      "to": "equipment:S04:0",
      "points": [
        [
          51.7,
          104.2,
          3
        ],
        [
          51.5,
          104.2,
          3
        ],
        [
          51.5,
          105.5,
          3
        ],
        [
          51.5,
          105.0,
          3
        ],
        [
          55.0,
          105.0,
          3
        ],
        [
          55.0,
          104.0,
          3
        ],
        [
          66.0,
          104.0,
          3
        ],
        [
          74,
          104,
          3
        ],
        [
          82.5,
          104,
          3
        ],
        [
          82.5,
          87.5,
          3
        ],
        [
          110.0,
          87.5,
          3
        ],
        [
          110.0,
          89.0,
          3
        ],
        [
          110.1,
          89.0,
          3
        ]
      ],
      "width": 0.25,
      "enclosure": "밀폐 위생 이송관",
      "material": "소시지 배터"
    },
    {
      "id": "FLOW-S04-S05-0",
      "kind": "conveyor",
      "from": "equipment:S04:0",
      "to": "equipment:S05:0",
      "points": [
        [
          110.1,
          97.0,
          0.9
        ],
        [
          110.0,
          97.0,
          0.9
        ],
        [
          110.0,
          98.5,
          0.9
        ],
        [
          105.0,
          98.5,
          0.9
        ],
        [
          105.0,
          97.5,
          0.9
        ],
        [
          73.0,
          97.5,
          0.9
        ],
        [
          73.0,
          92.0,
          0.9
        ],
        [
          72.5,
          92.0,
          0.9
        ],
        [
          74.0,
          92.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "충전 소시지"
    },
    {
      "id": "FLOW-S04-S05-1",
      "kind": "conveyor",
      "from": "equipment:S04:1",
      "to": "equipment:S05:1",
      "points": [
        [
          82.0,
          100.7,
          0.9
        ],
        [
          83.5,
          100.7,
          0.9
        ],
        [
          83.5,
          100.5,
          0.9
        ],
        [
          83.5,
          92.0,
          0.9
        ],
        [
          84.0,
          92.0,
          0.9
        ],
        [
          85.2,
          92.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "충전 소시지"
    },
    {
      "id": "FLOW-S04-S05-2",
      "kind": "conveyor",
      "from": "equipment:S04:2",
      "to": "equipment:S05:2",
      "points": [
        [
          93.2,
          100.7,
          0.9
        ],
        [
          94.5,
          100.7,
          0.9
        ],
        [
          94.5,
          100.5,
          0.9
        ],
        [
          94.5,
          92.0,
          0.9
        ],
        [
          95.0,
          92.0,
          0.9
        ],
        [
          96.4,
          92.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "충전 소시지"
    },
    {
      "id": "FLOW-S05-S06-0",
      "kind": "conveyor",
      "from": "equipment:S05:0",
      "to": "equipment:S06:0",
      "points": [
        [
          82.0,
          92.0,
          0.9
        ],
        [
          83.5,
          92.0,
          0.9
        ],
        [
          83.5,
          97.5,
          0.9
        ],
        [
          94.0,
          97.5,
          0.9
        ],
        [
          94.0,
          100.5,
          0.9
        ],
        [
          95.0,
          100.5,
          0.9
        ],
        [
          95.0,
          100.7,
          0.9
        ],
        [
          96.4,
          100.7,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "훈연 준비 랙"
    },
    {
      "id": "FLOW-S05-S06-1",
      "kind": "conveyor",
      "from": "equipment:S05:1",
      "to": "equipment:S06:1",
      "points": [
        [
          93.2,
          92.0,
          0.9
        ],
        [
          94.5,
          92.0,
          0.9
        ],
        [
          94.0,
          92.0,
          0.9
        ],
        [
          94.0,
          95.5,
          0.9
        ],
        [
          73.0,
          95.5,
          0.9
        ],
        [
          73.0,
          109.0,
          0.9
        ],
        [
          72.5,
          109.0,
          0.9
        ],
        [
          72.5,
          108.9,
          0.9
        ],
        [
          74.0,
          108.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "훈연 준비 랙"
    },
    {
      "id": "FLOW-S05-S06-2",
      "kind": "conveyor",
      "from": "equipment:S05:2",
      "to": "equipment:S06:2",
      "points": [
        [
          104.4,
          92.0,
          0.9
        ],
        [
          106.0,
          92.0,
          0.9
        ],
        [
          106.0,
          99.0,
          0.9
        ],
        [
          110.0,
          99.0,
          0.9
        ],
        [
          110.0,
          100.2,
          0.9
        ],
        [
          110.1,
          100.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "훈연 준비 랙"
    },
    {
      "id": "FLOW-S06-S07-0",
      "kind": "conveyor",
      "from": "equipment:S06:0",
      "to": "equipment:S07:0",
      "points": [
        [
          104.4,
          100.7,
          0.9
        ],
        [
          106.0,
          100.7,
          0.9
        ],
        [
          106.0,
          100.5,
          0.9
        ],
        [
          105.0,
          100.5,
          0.9
        ],
        [
          105.0,
          97.5,
          0.9
        ],
        [
          94.0,
          97.5,
          0.9
        ],
        [
          94.0,
          88.5,
          0.9
        ],
        [
          90.0,
          88.5,
          0.9
        ],
        [
          90.0,
          85.0,
          0.9
        ],
        [
          90,
          77,
          0.9
        ],
        [
          73.0,
          77,
          0.9
        ],
        [
          73.0,
          60.0,
          0.9
        ],
        [
          72.5,
          60.0,
          0.9
        ],
        [
          74.0,
          60.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "가열 훈연 소시지"
    },
    {
      "id": "FLOW-S06-S07-1",
      "kind": "conveyor",
      "from": "equipment:S06:1",
      "to": "equipment:S07:1",
      "points": [
        [
          82.0,
          108.9,
          0.9
        ],
        [
          83.5,
          108.9,
          0.9
        ],
        [
          83.5,
          109.0,
          0.9
        ],
        [
          83.5,
          85.0,
          0.9
        ],
        [
          85.0,
          85.0,
          0.9
        ],
        [
          85,
          77,
          0.9
        ],
        [
          85,
          60.0,
          0.9
        ],
        [
          86.0,
          60.0,
          0.9
        ],
        [
          87.2,
          60.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "가열 훈연 소시지"
    },
    {
      "id": "FLOW-S06-S07-2",
      "kind": "conveyor",
      "from": "equipment:S06:2",
      "to": "equipment:S07:2",
      "points": [
        [
          110.1,
          108.2,
          0.9
        ],
        [
          110.0,
          108.2,
          0.9
        ],
        [
          110.0,
          109.5,
          0.9
        ],
        [
          97.5,
          109.5,
          0.9
        ],
        [
          97.5,
          106.0,
          0.9
        ],
        [
          82.5,
          106.0,
          0.9
        ],
        [
          82.5,
          88.5,
          0.9
        ],
        [
          80.0,
          88.5,
          0.9
        ],
        [
          80.0,
          85.0,
          0.9
        ],
        [
          80,
          77,
          0.9
        ],
        [
          73.0,
          77,
          0.9
        ],
        [
          73.0,
          71.0,
          0.9
        ],
        [
          72.5,
          71.0,
          0.9
        ],
        [
          72.5,
          71.2,
          0.9
        ],
        [
          74.0,
          71.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "가열 훈연 소시지"
    },
    {
      "id": "FLOW-S07-S08-0",
      "kind": "conveyor",
      "from": "equipment:S07:0",
      "to": "equipment:S08:0",
      "points": [
        [
          84.0,
          60.0,
          0.9
        ],
        [
          85.5,
          60.0,
          0.9
        ],
        [
          84.5,
          60.0,
          0.9
        ],
        [
          84.5,
          64.5,
          0.9
        ],
        [
          74.0,
          64.5,
          0.9
        ],
        [
          74.0,
          66.0,
          0.9
        ],
        [
          66,
          66,
          0.9
        ],
        [
          55.0,
          66,
          0.9
        ],
        [
          55.0,
          69.0,
          0.9
        ],
        [
          43.0,
          69.0,
          0.9
        ],
        [
          43.0,
          71.0,
          0.9
        ],
        [
          33.0,
          71.0,
          0.9
        ],
        [
          33.0,
          75.5,
          0.9
        ],
        [
          33.0,
          75.4,
          0.9
        ],
        [
          34.4,
          75.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "포장 준비 소시지"
    },
    {
      "id": "FLOW-S07-S08-1",
      "kind": "conveyor",
      "from": "equipment:S07:1",
      "to": "equipment:S08:1",
      "points": [
        [
          97.2,
          60.0,
          0.9
        ],
        [
          98.5,
          60.0,
          0.9
        ],
        [
          98.0,
          60.0,
          0.9
        ],
        [
          98.0,
          64.5,
          0.9
        ],
        [
          74.0,
          64.5,
          0.9
        ],
        [
          74.0,
          66.0,
          0.9
        ],
        [
          66,
          66,
          0.9
        ],
        [
          55.0,
          66,
          0.9
        ],
        [
          55.0,
          69.0,
          0.9
        ],
        [
          44.0,
          69.0,
          0.9
        ],
        [
          44.0,
          73.5,
          0.9
        ],
        [
          44.0,
          73.6,
          0.9
        ],
        [
          45.6,
          73.6,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "포장 준비 소시지"
    },
    {
      "id": "FLOW-S07-S08-2",
      "kind": "conveyor",
      "from": "equipment:S07:2",
      "to": "equipment:S08:2",
      "points": [
        [
          84.0,
          71.2,
          0.9
        ],
        [
          85.5,
          71.2,
          0.9
        ],
        [
          85.5,
          71.0,
          0.9
        ],
        [
          84.5,
          71.0,
          0.9
        ],
        [
          84.5,
          66.5,
          0.9
        ],
        [
          74.0,
          66.5,
          0.9
        ],
        [
          74.0,
          66.0,
          0.9
        ],
        [
          66,
          66,
          0.9
        ],
        [
          55.0,
          66,
          0.9
        ],
        [
          55.0,
          63.5,
          0.9
        ],
        [
          33.0,
          63.5,
          0.9
        ],
        [
          33.0,
          68.0,
          0.9
        ],
        [
          33.0,
          68.2,
          0.9
        ],
        [
          34.4,
          68.2,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "포장 준비 소시지"
    },
    {
      "id": "FLOW-S07-S08-3",
      "kind": "conveyor",
      "from": "equipment:S07:0",
      "to": "equipment:S08:3",
      "points": [
        [
          84.0,
          60.0,
          0.9
        ],
        [
          85.5,
          60.0,
          0.9
        ],
        [
          84.5,
          60.0,
          0.9
        ],
        [
          84.5,
          64.5,
          0.9
        ],
        [
          74.0,
          64.5,
          0.9
        ],
        [
          74.0,
          66.0,
          0.9
        ],
        [
          66,
          66,
          0.9
        ],
        [
          55.0,
          66,
          0.9
        ],
        [
          55.0,
          63.5,
          0.9
        ],
        [
          45.0,
          63.5,
          0.9
        ],
        [
          45.0,
          66.5,
          0.9
        ],
        [
          45.0,
          66.4,
          0.9
        ],
        [
          46.4,
          66.4,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "포장 준비 소시지"
    },
    {
      "id": "INBOUND",
      "kind": "forklift",
      "from": "raw-dock",
      "to": "zone:B01-BUFFER",
      "points": [
        [
          38.0,
          85.15,
          0.06
        ],
        [
          40.0,
          85.15,
          0.06
        ],
        [
          40.0,
          85.0,
          0.06
        ],
        [
          40.0,
          85.5,
          0.06
        ],
        [
          55.5,
          85.5,
          0.06
        ],
        [
          55.5,
          88.5,
          0.06
        ],
        [
          60.5,
          88.5,
          0.06
        ]
      ],
      "width": 2,
      "enclosure": "표시된 차량 통로",
      "material": "원료육 밀폐 빈·케이싱·훈연 걸대"
    },
    {
      "id": "RAW-FEED-0",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:0",
      "points": [
        [
          61.0,
          88.0,
          0.9
        ],
        [
          39.0,
          88.0,
          0.9
        ],
        [
          39.0,
          107.0,
          0.9
        ],
        [
          38.5,
          107.0,
          0.9
        ],
        [
          38.5,
          106.9,
          0.9
        ],
        [
          40.0,
          106.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "원료육 밀폐 빈·케이싱·훈연 걸대"
    },
    {
      "id": "RAW-FEED-1",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:1",
      "points": [
        [
          61.0,
          88.0,
          0.9
        ],
        [
          47.0,
          88.0,
          0.9
        ],
        [
          47.0,
          109.0,
          0.9
        ],
        [
          47.0,
          108.9,
          0.9
        ],
        [
          48.2,
          108.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "원료육 밀폐 빈·케이싱·훈연 걸대"
    },
    {
      "id": "RAW-FEED-2",
      "kind": "conveyor",
      "from": "zone:B01-BUFFER",
      "to": "equipment:S01:2",
      "points": [
        [
          61.0,
          88.0,
          0.9
        ],
        [
          39.0,
          88.0,
          0.9
        ],
        [
          39.0,
          113.0,
          0.9
        ],
        [
          38.5,
          113.0,
          0.9
        ],
        [
          38.5,
          113.1,
          0.9
        ],
        [
          40.0,
          113.1,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "원료육 밀폐 빈·케이싱·훈연 걸대"
    },
    {
      "id": "FINISH-BUFFER-0",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          42.4,
          75.4,
          0.9
        ],
        [
          44.0,
          75.4,
          0.9
        ],
        [
          44.0,
          75.5,
          0.9
        ],
        [
          44.0,
          55.0,
          0.9
        ],
        [
          61.0,
          55.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "냉장 훈연 소시지 박스"
    },
    {
      "id": "FINISH-BUFFER-1",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          53.6,
          73.6,
          0.9
        ],
        [
          55.0,
          73.6,
          0.9
        ],
        [
          55.0,
          73.5,
          0.9
        ],
        [
          55.0,
          55.0,
          0.9
        ],
        [
          61.0,
          55.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "냉장 훈연 소시지 박스"
    },
    {
      "id": "FINISH-BUFFER-2",
      "kind": "conveyor",
      "from": "equipment:S08:2",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          42.4,
          68.2,
          0.9
        ],
        [
          44.0,
          68.2,
          0.9
        ],
        [
          44.0,
          68.0,
          0.9
        ],
        [
          44.0,
          55.0,
          0.9
        ],
        [
          61.0,
          55.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "냉장 훈연 소시지 박스"
    },
    {
      "id": "FINISH-BUFFER-3",
      "kind": "conveyor",
      "from": "equipment:S08:3",
      "to": "zone:B04-BUFFER",
      "points": [
        [
          54.4,
          66.4,
          0.9
        ],
        [
          56.0,
          66.4,
          0.9
        ],
        [
          56.0,
          66.5,
          0.9
        ],
        [
          56.0,
          55.0,
          0.9
        ],
        [
          61.0,
          55.0,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "냉장 훈연 소시지 박스"
    },
    {
      "id": "OUTBOUND",
      "kind": "forklift",
      "from": "zone:B04-BUFFER",
      "to": "shipping-dock",
      "points": [
        [
          60.5,
          55.5,
          0.06
        ],
        [
          26.0,
          55.5,
          0.06
        ],
        [
          26.0,
          52.0,
          0.06
        ],
        [
          26.0,
          52.15,
          0.06
        ],
        [
          24.0,
          52.15,
          0.06
        ]
      ],
      "width": 2,
      "enclosure": "표시된 차량 통로",
      "material": "냉장 훈연 소시지 박스"
    },
    {
      "id": "ROBOT-HANDOFF-0",
      "kind": "conveyor",
      "from": "equipment:S05:0",
      "to": "fixture:B02-PROCESS-FX01",
      "points": [
        [
          82.0,
          92.0,
          0.9
        ],
        [
          83.5,
          92.0,
          0.9
        ],
        [
          83.5,
          106.0,
          0.9
        ],
        [
          88.0,
          106.0,
          0.9
        ],
        [
          88.0,
          107.3,
          0.9
        ],
        [
          87.8,
          107.3,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "빈 트레이와 채워진 트레이를 정해진 버퍼 랙 사이에서 수평으로 옮긴다"
    },
    {
      "id": "ROBOT-HANDOFF-1",
      "kind": "conveyor",
      "from": "equipment:S05:1",
      "to": "fixture:B02-PROCESS-FX02",
      "points": [
        [
          93.2,
          92.0,
          0.9
        ],
        [
          94.5,
          92.0,
          0.9
        ],
        [
          94.5,
          106.0,
          0.9
        ],
        [
          96.0,
          106.0,
          0.9
        ],
        [
          96.0,
          107.3,
          0.9
        ],
        [
          96.2,
          107.3,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "빈 트레이와 채워진 트레이를 정해진 버퍼 랙 사이에서 수평으로 옮긴다"
    },
    {
      "id": "ROBOT-HANDOFF-2",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "fixture:B04-PROCESS-FX01",
      "points": [
        [
          42.4,
          75.4,
          0.9
        ],
        [
          44.0,
          75.4,
          0.9
        ],
        [
          44.0,
          75.5,
          0.9
        ],
        [
          43.0,
          75.5,
          0.9
        ],
        [
          43.0,
          72.5,
          0.9
        ],
        [
          32.0,
          72.5,
          0.9
        ],
        [
          32.0,
          69.0,
          0.9
        ],
        [
          32.0,
          68.8,
          0.9
        ],
        [
          30.3,
          68.8,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다"
    },
    {
      "id": "ROBOT-HANDOFF-3",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "fixture:B04-PROCESS-FX02",
      "points": [
        [
          53.6,
          73.6,
          0.9
        ],
        [
          55.0,
          73.6,
          0.9
        ],
        [
          55.0,
          73.5,
          0.9
        ],
        [
          55.0,
          63.5,
          0.9
        ],
        [
          49.0,
          63.5,
          0.9
        ],
        [
          49.0,
          62.0,
          0.9
        ],
        [
          49.0,
          60.3,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "봉합을 마친 제품 묶음을 골판지 박스에 넣고 내용물 누락이 없도록 상부 비전과 동기화한다"
    },
    {
      "id": "ROBOT-HANDOFF-4",
      "kind": "conveyor",
      "from": "equipment:S08:0",
      "to": "fixture:B04-PROCESS-FX03",
      "points": [
        [
          42.4,
          75.4,
          0.9
        ],
        [
          44.0,
          75.4,
          0.9
        ],
        [
          44.0,
          75.5,
          0.9
        ],
        [
          43.0,
          75.5,
          0.9
        ],
        [
          43.0,
          65.5,
          0.9
        ],
        [
          39.5,
          65.5,
          0.9
        ],
        [
          39.5,
          63.5,
          0.9
        ],
        [
          39.5,
          61.9,
          0.9
        ],
        [
          39.7,
          61.9,
          0.9
        ]
      ],
      "width": 0.75,
      "enclosure": "건물 사이 제품 이송은 밀폐 연결 갤러리",
      "material": "외포장 박스의 라벨을 바깥으로 향하게 적층하고 미끄럼 방지 시트를 층 사이에 공급한다"
    },
    {
      "id": "ROBOT-HANDOFF-5",
      "kind": "conveyor",
      "from": "equipment:S08:1",
      "to": "fixture:B04-PROCESS-FX04",
      "points": [
        [
          53.6,
          73.6,
          0.9
        ],
        [
          55.0,
          73.6,
          0.9
        ],
        [
          55.0,
          73.5,
          0.9
        ],
        [
          54.5,
          73.5,
          0.9
        ],
        [
          54.5,
          71.0,
          0.9
        ],
        [
          33.5,
          71.0,
          0.9
        ],
        [
          33.5,
          59.5,
          0.9
        ],
        [
          31.9,
          59.5,
          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,
          22.0,
          0.05
        ],
        [
          63.0,
          22.0,
          0.05
        ],
        [
          63.0,
          22,
          0.05
        ],
        [
          63.0,
          24,
          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,
          28.0,
          0.05
        ],
        [
          22.0,
          28.0,
          0.05
        ],
        [
          22,
          28.15,
          0.05
        ],
        [
          24,
          28.15,
          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
        ],
        [
          22.5,
          32.0,
          0.05
        ],
        [
          22.5,
          33.5,
          0.05
        ],
        [
          53.5,
          33.5,
          0.05
        ],
        [
          53.5,
          32.0,
          0.05
        ],
        [
          72.0,
          32.0,
          0.05
        ],
        [
          72,
          31.8,
          0.05
        ],
        [
          74,
          31.8,
          0.05
        ]
      ],
      "width": 1.8
    },
    {
      "id": "SERVICE-RING",
      "kind": "forklift",
      "from": "raw-dock",
      "to": "shipping-dock",
      "points": [
        [
          38.0,
          85.15,
          0.05
        ],
        [
          35.0,
          85.15,
          0.05
        ],
        [
          35.0,
          85.0,
          0.05
        ],
        [
          21.0,
          85.0,
          0.05
        ],
        [
          21.0,
          52.0,
          0.05
        ],
        [
          21.0,
          52.15,
          0.05
        ],
        [
          24.0,
          52.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": 200,
      "depth": 176
    },
    "site_area_reduction_ratio": 0.41136,
    "building_translations": {
      "B01": [
        15.44,
        -23.8
      ],
      "B02": [
        -31.52,
        -2.2
      ],
      "B03": [
        49.44,
        2.0
      ],
      "B04": [
        -79.52,
        2.0
      ],
      "STAFF": [
        10,
        14
      ],
      "LAB": [
        -9,
        12
      ],
      "UTIL": [
        -28,
        14
      ],
      "OFF": [
        -54,
        12
      ]
    },
    "support_program": [
      {
        "building_id": "STAFF",
        "original_depth": 14,
        "new_depth": 8.3,
        "rear_working_aisle_m": 2.5,
        "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": 15.6,
        "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,
            134
          ],
          [
            6,
            134
          ],
          [
            6,
            6
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 38.0,
        "y": 85.15,
        "angle": -1.5707963267948966,
        "building_id": "B01",
        "role": "원료 입고·보류 시료 접수"
      },
      {
        "x": 24.0,
        "y": 52.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": "냉장 승인품 1일",
    "logic": "생산홀의 잔여 면적을 창고로 바꾸지 않고 각 동 외벽을 공정+제한 버퍼까지 축소했다. 보류/승인/빈 포장재는 표시된 랙 내에서 구별한다.",
    "rack_pallet_positions": 104,
    "floor_pallet_positions": 36
  },
  "density": {
    "equipment_footprint_m2": 962,
    "equipment_coverage_ratio": 0.25145,
    "intent": "원료육 밀폐 빈·케이싱·훈연 걸대 입고 보류·승인재고, 공정 중간품, 냉장 훈연 소시지 박스 출하대기와 정비 기능으로 면적을 구성한다. 안전통로는 재고로 채우지 않는다.",
    "production_area_m2": 3825.75,
    "storage_area_m2": 536.56,
    "support_area_m2": 1507.41,
    "circulation_area_m2": 1054.17
  },
  "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": "B02-PROCESS-FX01",
        "previous_position": [
          87.8,
          109.0,
          -1.5707963267948966
        ],
        "position": [
          87.8,
          107.3,
          0
        ],
        "task_points": [
          [
            87.8,
            106.3,
            1.1575
          ],
          [
            87.8,
            107.3,
            1.21
          ]
        ]
      },
      {
        "robot": "0/1",
        "kind": "gantry",
        "fixture_id": "B02-PROCESS-FX02",
        "previous_position": [
          96.2,
          109.0,
          -1.5707963267948966
        ],
        "position": [
          96.2,
          107.3,
          0
        ],
        "task_points": [
          [
            96.2,
            106.3,
            1.1575
          ],
          [
            96.2,
            107.3,
            1.21
          ]
        ]
      },
      {
        "robot": "1/0",
        "kind": "six_axis",
        "fixture_id": "B04-PROCESS-FX01",
        "previous_position": [
          28.6,
          68.8,
          0
        ],
        "position": [
          29.0,
          68.8,
          0
        ],
        "task_points": [
          [
            29.9,
            68.8,
            1.18
          ],
          [
            30.5,
            68.8,
            1.35
          ]
        ]
      },
      {
        "robot": "1/1",
        "kind": "six_axis",
        "fixture_id": "B04-PROCESS-FX02",
        "previous_position": [
          49.0,
          58.6,
          1.5707963267948966
        ],
        "position": [
          49.0,
          59.0,
          1.5707963267948966
        ],
        "task_points": [
          [
            48.6,
            60.3,
            1.18
          ],
          [
            49.2,
            60.3,
            1.35
          ]
        ]
      },
      {
        "robot": "2/0",
        "kind": "palletizer",
        "fixture_id": "B04-PROCESS-FX03",
        "previous_position": [
          39.7,
          59.5,
          1.5707963267948966
        ],
        "position": [
          39.7,
          59.5,
          1.5707963267948966
        ],
        "task_points": [
          [
            39.48088,
            61.9,
            1.12
          ],
          [
            39.91912,
            61.9,
            1.12
          ]
        ]
      },
      {
        "robot": "2/1",
        "kind": "palletizer",
        "fixture_id": "B04-PROCESS-FX04",
        "previous_position": [
          29.5,
          59.5,
          0
        ],
        "position": [
          29.5,
          59.5,
          0
        ],
        "task_points": [
          [
            31.68088,
            59.5,
            1.12
          ],
          [
            32.11912,
            59.5,
            1.12
          ]
        ]
      }
    ]
  }
}
