{
  "factory_id": "F02",
  "design_revision": 2,
  "design_story": "작은 컵 포장동의 북동쪽에 8기 발효 탱크가 있는 높은 홀을 붙였다. 발효홀과 남쪽 컵 충전실 사이에서 냉각 베이스와 과일 준비 지선이 합류한다. 324㎡ 컵 자재실과 180㎡ 과일 준비실을 분리하고 바로 뒤의 작은 냉장 원료실에만 과일 토트를 둔다. 서쪽 별동은 균주 검사·작업복·냉열 설비이며, 남동쪽 748㎡ 냉장실에서 당일 제품을 보낸다.",
  "site": {
    "width": 120,
    "depth": 106
  },
  "buildings": [
    {
      "id": "base",
      "name": "배합·냉각동",
      "role": "production",
      "polygon": [
        [
          31,
          60
        ],
        [
          65,
          60
        ],
        [
          65,
          86
        ],
        [
          31,
          86
        ]
      ],
      "height": 9,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.86,
          0.84,
          0.75
        ],
        "accent": [
          0.56,
          0.2,
          0.4
        ],
        "material": "metal",
        "window_band_height": 3.7
      }
    },
    {
      "id": "fermentation",
      "name": "8기 발효 타워",
      "role": "production",
      "polygon": [
        [
          65,
          60
        ],
        [
          99,
          60
        ],
        [
          99,
          86
        ],
        [
          65,
          86
        ]
      ],
      "height": 12,
      "roof": {
        "type": "sawtooth",
        "axis": "y",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.85,
          0.85,
          0.81
        ],
        "accent": [
          0.56,
          0.2,
          0.4
        ],
        "material": "metal",
        "window_band_height": 3.7
      }
    },
    {
      "id": "cuphall",
      "name": "과일·컵·포장·냉장동",
      "role": "production",
      "polygon": [
        [
          31,
          26
        ],
        [
          99,
          26
        ],
        [
          99,
          60
        ],
        [
          31,
          60
        ]
      ],
      "height": 8,
      "roof": {
        "type": "shed",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.89,
          0.86,
          0.81
        ],
        "accent": [
          0.56,
          0.2,
          0.4
        ],
        "material": "metal",
        "window_band_height": 3.7
      }
    },
    {
      "id": "support",
      "name": "균주·작업복·냉열 별동",
      "role": "office",
      "polygon": [
        [
          10,
          28
        ],
        [
          25,
          28
        ],
        [
          25,
          78
        ],
        [
          10,
          78
        ]
      ],
      "height": 6,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.12
      },
      "facade": {
        "color": [
          0.79,
          0.73,
          0.64
        ],
        "accent": [
          0.1,
          0.28,
          0.36
        ],
        "material": "brick",
        "window_band_height": 3.7
      }
    }
  ],
  "zones": [
    {
      "id": "mix",
      "name": "배합유·균질 열처리",
      "role": "process",
      "building_id": "base",
      "x": 31,
      "y": 60,
      "width": 22,
      "depth": 16,
      "stage_ids": [
        "S01",
        "S02"
      ],
      "fixtures": []
    },
    {
      "id": "milk-service",
      "name": "계량·CIP 전환",
      "role": "utility",
      "building_id": "base",
      "x": 53,
      "y": 60,
      "width": 12,
      "depth": 16,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "milk-service-furniture",
          "type": "cip_skid",
          "x": 59.0,
          "y": 68.0,
          "width": 9,
          "depth": 7,
          "height": 3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "배합 밸브·위생 세척"
        }
      ]
    },
    {
      "id": "coolbase",
      "name": "냉각·과일 합류",
      "role": "process",
      "building_id": "base",
      "x": 31,
      "y": 76,
      "width": 34,
      "depth": 10,
      "stage_ids": [
        "S04",
        "S06"
      ],
      "fixtures": []
    },
    {
      "id": "ferment",
      "name": "발효 탱크홀",
      "role": "process",
      "building_id": "fermentation",
      "x": 65,
      "y": 60,
      "width": 34,
      "depth": 26,
      "stage_ids": [
        "S03"
      ],
      "fixtures": []
    },
    {
      "id": "fruit",
      "name": "과일 퓌레 준비",
      "role": "process",
      "building_id": "cuphall",
      "x": 31,
      "y": 44,
      "width": 18,
      "depth": 10,
      "stage_ids": [
        "S05"
      ],
      "fixtures": []
    },
    {
      "id": "fruit-stock",
      "name": "냉장 과일 원료",
      "role": "cold_store",
      "building_id": "cuphall",
      "x": 31,
      "y": 54,
      "width": 18,
      "depth": 6,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "fruit-bins",
          "type": "product_bins",
          "x": 40,
          "y": 57,
          "width": 13,
          "depth": 3,
          "height": 1.7,
          "count": 6,
          "rows": 1,
          "columns": 6,
          "angle": 0,
          "label": "냉장 과일 토트"
        }
      ]
    },
    {
      "id": "materials",
      "name": "컵·호일·외박스",
      "role": "warehouse",
      "building_id": "cuphall",
      "x": 31,
      "y": 26,
      "width": 18,
      "depth": 18,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "cup-stock",
          "type": "pallet_rack",
          "x": 40,
          "y": 32,
          "width": 12,
          "depth": 8,
          "height": 4,
          "count": 16,
          "rows": 2,
          "columns": 8,
          "angle": 0,
          "label": "컵·호일 16팔레트"
        }
      ]
    },
    {
      "id": "cup",
      "name": "3개 컵 충전 셀",
      "role": "process",
      "building_id": "cuphall",
      "x": 49,
      "y": 44,
      "width": 28,
      "depth": 16,
      "stage_ids": [
        "S07"
      ],
      "fixtures": []
    },
    {
      "id": "pack",
      "name": "트레이 포장·상자 인계",
      "role": "packaging",
      "building_id": "cuphall",
      "x": 49,
      "y": 26,
      "width": 28,
      "depth": 18,
      "stage_ids": [
        "S08"
      ],
      "fixtures": []
    },
    {
      "id": "cold",
      "name": "컵 요거트 출하 냉장",
      "role": "cold_store",
      "building_id": "cuphall",
      "x": 77,
      "y": 26,
      "width": 22,
      "depth": 34,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "cold-cup-racks",
          "type": "cold_rack",
          "x": 88,
          "y": 49,
          "width": 15,
          "depth": 15,
          "height": 5,
          "count": 30,
          "rows": 5,
          "columns": 6,
          "angle": 0,
          "label": "완제품 30팔레트"
        },
        {
          "id": "F02-robot-case-1",
          "type": "worktable",
          "x": 81.4,
          "y": 34,
          "width": 2,
          "depth": 1.5,
          "height": 1.3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "식품 외포장 인계대",
          "model_profile": "food_case_handoff"
        },
        {
          "id": "F02-robot-pallet-1",
          "type": "floor_pallets",
          "x": 85.7,
          "y": 35.5,
          "width": 1.4,
          "depth": 1.2,
          "height": 1.3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "출하 팔레트 인계"
        },
        {
          "id": "F02-robot-case-2",
          "type": "worktable",
          "x": 91.4,
          "y": 34,
          "width": 2,
          "depth": 1.5,
          "height": 1.3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "식품 외포장 인계대",
          "model_profile": "food_case_handoff"
        },
        {
          "id": "F02-robot-pallet-2",
          "type": "floor_pallets",
          "x": 95.7,
          "y": 35.5,
          "width": 1.4,
          "depth": 1.2,
          "height": 1.3,
          "count": 1,
          "rows": 1,
          "columns": 1,
          "angle": 0,
          "label": "출하 팔레트 인계"
        }
      ]
    },
    {
      "id": "research",
      "name": "균주·관능 검사",
      "role": "laboratory",
      "building_id": "support",
      "x": 10,
      "y": 58,
      "width": 15,
      "depth": 20,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "research-furniture",
          "type": "lab_bench",
          "x": 17.5,
          "y": 68.0,
          "width": 12,
          "depth": 7,
          "height": 1.4,
          "count": 3,
          "rows": 1,
          "columns": 3,
          "angle": 0,
          "label": "균주·산도 분석"
        }
      ]
    },
    {
      "id": "staff",
      "name": "교대 탈의·관리",
      "role": "staff",
      "building_id": "support",
      "x": 10,
      "y": 42,
      "width": 15,
      "depth": 16,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "staff-furniture",
          "type": "locker_bank",
          "x": 17.5,
          "y": 50.0,
          "width": 12,
          "depth": 7,
          "height": 1.4,
          "count": 8,
          "rows": 1,
          "columns": 8,
          "angle": 0,
          "label": "구역별 작업복"
        }
      ]
    },
    {
      "id": "plant",
      "name": "냉수·CIP",
      "role": "utility",
      "building_id": "support",
      "x": 10,
      "y": 28,
      "width": 15,
      "depth": 14,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "plant-furniture",
          "type": "chiller",
          "x": 17.5,
          "y": 35.0,
          "width": 12,
          "depth": 7,
          "height": 3,
          "count": 2,
          "rows": 1,
          "columns": 2,
          "angle": 0,
          "label": "냉수·공기 공급"
        }
      ]
    }
  ],
  "equipment": [
    {
      "stage_id": "S01",
      "index": 0,
      "x": 35,
      "y": 64,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 42,
      "y": 64,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 2,
      "x": 49,
      "y": 64,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 37,
      "y": 71,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 47,
      "y": 71,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 70,
      "y": 66,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 78,
      "y": 66,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 86,
      "y": 66,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 3,
      "x": 94,
      "y": 66,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 4,
      "x": 70,
      "y": 79,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 5,
      "x": 78,
      "y": 79,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 6,
      "x": 86,
      "y": 79,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 7,
      "x": 94,
      "y": 79,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 36,
      "y": 81,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 45,
      "y": 81,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 55,
      "y": 81,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 62,
      "y": 81,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 34.5,
      "y": 49,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 40,
      "y": 49,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 2,
      "x": 45.5,
      "y": 49,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 55,
      "y": 48,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 70,
      "y": 48,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 2,
      "x": 62,
      "y": 56,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 55,
      "y": 31,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 70,
      "y": 31,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 80.0,
      "y": 34,
      "angle": 0,
      "task_station": "F02-robot-case-1",
      "task_point": [
        81.0,
        34,
        1.18
      ],
      "task_points": [
        [
          81.0,
          34,
          1.18
        ],
        [
          81.60000000000001,
          34,
          1.35
        ]
      ],
      "task_fixture": {
        "fixture_ids": [
          "F02-robot-case-1"
        ],
        "target_basis": "actual generated mesh contact surfaces"
      },
      "controller_offset": [
        0,
        -1.25,
        0
      ],
      "station_correction": {
        "revision": 1,
        "previous_position": [
          59,
          38,
          0
        ],
        "reason": "최종 포장 제품을 밀폐 카트로 받아 실제 트레이 상면에서 외포장 상자로 인계한다."
      },
      "motion_scope": "실제 접촉 TCP의 대표 이송 동작이며 전체 동작 충돌·위생·안전 검수는 별도"
    },
    {
      "definition_index": 0,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 90.0,
      "y": 34,
      "angle": 0,
      "task_station": "F02-robot-case-2",
      "task_point": [
        91.0,
        34,
        1.18
      ],
      "task_points": [
        [
          91.0,
          34,
          1.18
        ],
        [
          91.60000000000001,
          34,
          1.35
        ]
      ],
      "task_fixture": {
        "fixture_ids": [
          "F02-robot-case-2"
        ],
        "target_basis": "actual generated mesh contact surfaces"
      },
      "controller_offset": [
        0,
        -1.25,
        0
      ],
      "station_correction": {
        "revision": 1,
        "previous_position": [
          72,
          38,
          0
        ],
        "reason": "최종 포장 제품을 밀폐 카트로 받아 실제 트레이 상면에서 외포장 상자로 인계한다."
      },
      "motion_scope": "실제 접촉 TCP의 대표 이송 동작이며 전체 동작 충돌·위생·안전 검수는 별도"
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 84.2,
      "y": 34,
      "angle": 0,
      "task_station": "F02-robot-pallet-1",
      "task_point": [
        81.60000000000001,
        34,
        1.35
      ],
      "task_points": [
        [
          81.60000000000001,
          34,
          1.35
        ],
        [
          85.44436,
          35.5,
          1.4
        ]
      ],
      "task_fixture": {
        "fixture_ids": [
          "F02-robot-case-1",
          "F02-robot-pallet-1"
        ],
        "target_basis": "actual generated mesh contact surfaces"
      },
      "controller_offset": [
        0,
        -1.25,
        0
      ],
      "station_correction": {
        "revision": 1,
        "previous_position": [
          83,
          32,
          0
        ],
        "reason": "박스 인계대의 실제 상자 윗면에서 집어 인접 출하 팔레트의 실제 상자 위치로 적층한다."
      },
      "motion_scope": "실제 접촉 TCP의 대표 이송 동작이며 전체 동작 충돌·위생·안전 검수는 별도"
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 94.2,
      "y": 34,
      "angle": 0,
      "task_station": "F02-robot-pallet-2",
      "task_point": [
        91.60000000000001,
        34,
        1.35
      ],
      "task_points": [
        [
          91.60000000000001,
          34,
          1.35
        ],
        [
          95.44436,
          35.5,
          1.4
        ]
      ],
      "task_fixture": {
        "fixture_ids": [
          "F02-robot-case-2",
          "F02-robot-pallet-2"
        ],
        "target_basis": "actual generated mesh contact surfaces"
      },
      "controller_offset": [
        0,
        -1.25,
        0
      ],
      "station_correction": {
        "revision": 1,
        "previous_position": [
          93,
          32,
          0
        ],
        "reason": "박스 인계대의 실제 상자 윗면에서 집어 인접 출하 팔레트의 실제 상자 위치로 적층한다."
      },
      "motion_scope": "실제 접촉 TCP의 대표 이송 동작이며 전체 동작 충돌·위생·안전 검수는 별도"
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S08",
      "x": 33,
      "y": 41,
      "angle": 0,
      "task_station": "컵·호일 공급 정거장"
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S08",
      "x": 46,
      "y": 41,
      "angle": 0,
      "task_station": "컵·호일 공급 정거장"
    },
    {
      "definition_index": 2,
      "instance_index": 2,
      "stage_id": "S08",
      "x": 52,
      "y": 40,
      "angle": 0,
      "task_station": "컵·호일 공급 정거장"
    }
  ],
  "logistics": [
    {
      "id": "F02-liquid-F02-S01-S02-0",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          36.8,
          62.05,
          0.73
        ],
        [
          36.8,
          61.85,
          0.73
        ],
        [
          36.8,
          61.85,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S01-S02-1",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          43.8,
          62.05,
          0.73
        ],
        [
          43.8,
          61.85,
          0.73
        ],
        [
          43.8,
          61.85,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S01-S02-2",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          50.8,
          62.05,
          0.73
        ],
        [
          50.8,
          61.85,
          0.73
        ],
        [
          50.8,
          61.85,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S01-S02-3",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          34.5,
          70.34,
          1.4
        ],
        [
          33.85,
          70.34,
          1.4
        ],
        [
          33.85,
          70.34,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S01-S02-4",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          44.5,
          70.34,
          1.4
        ],
        [
          43.85,
          70.34,
          1.4
        ],
        [
          43.85,
          70.34,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S01-S02-5",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          36.8,
          61.85,
          7.65
        ],
        [
          33.85,
          61.85,
          7.65
        ],
        [
          33.85,
          70.34,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S01-S02-6",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          43.8,
          61.85,
          7.65
        ],
        [
          36.8,
          61.85,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S01-S02-7",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          50.8,
          61.85,
          7.65
        ],
        [
          36.8,
          61.85,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S01-S02-8",
      "kind": "pipe",
      "from": "S01",
      "to": "S02",
      "points": [
        [
          33.85,
          70.34,
          7.65
        ],
        [
          43.85,
          70.34,
          7.65
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-0",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          34.5,
          71.66,
          2.16
        ],
        [
          33.85,
          71.66,
          2.16
        ],
        [
          33.85,
          71.66,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-1",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          44.5,
          71.66,
          2.16
        ],
        [
          43.85,
          71.66,
          2.16
        ],
        [
          43.85,
          71.66,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-2",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          68.1,
          4.53
        ],
        [
          70.0,
          69.15,
          4.53
        ],
        [
          70.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-3",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          78.0,
          68.1,
          4.53
        ],
        [
          78.0,
          69.15,
          4.53
        ],
        [
          78.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-4",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          86.0,
          68.1,
          4.53
        ],
        [
          86.0,
          69.15,
          4.53
        ],
        [
          86.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-5",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          94.0,
          68.1,
          4.53
        ],
        [
          94.0,
          69.15,
          4.53
        ],
        [
          94.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-6",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          81.1,
          4.53
        ],
        [
          70.0,
          82.15,
          4.53
        ],
        [
          70.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-7",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          78.0,
          81.1,
          4.53
        ],
        [
          78.0,
          82.15,
          4.53
        ],
        [
          78.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-8",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          86.0,
          81.1,
          4.53
        ],
        [
          86.0,
          82.15,
          4.53
        ],
        [
          86.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-9",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          94.0,
          81.1,
          4.53
        ],
        [
          94.0,
          82.15,
          4.53
        ],
        [
          94.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S02-S03-10",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          33.85,
          71.66,
          7.43
        ],
        [
          70.0,
          71.66,
          7.43
        ],
        [
          70.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-11",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          43.85,
          71.66,
          7.43
        ],
        [
          33.85,
          71.66,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-12",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          78.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-13",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          86.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-14",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          94.0,
          69.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-15",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          70.0,
          76.22,
          7.43
        ],
        [
          67.22,
          76.22,
          7.43
        ],
        [
          67.22,
          82.15,
          7.43
        ],
        [
          70.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-16",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          70.0,
          76.22,
          7.43
        ],
        [
          72.78,
          76.22,
          7.43
        ],
        [
          72.78,
          82.15,
          7.43
        ],
        [
          78.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-17",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          70.0,
          76.22,
          7.43
        ],
        [
          72.78,
          76.22,
          7.43
        ],
        [
          72.78,
          82.15,
          7.43
        ],
        [
          86.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S02-S03-18",
      "kind": "pipe",
      "from": "S02",
      "to": "S03",
      "points": [
        [
          70.0,
          69.15,
          7.43
        ],
        [
          70.0,
          76.22,
          7.43
        ],
        [
          72.78,
          76.22,
          7.43
        ],
        [
          72.78,
          82.15,
          7.43
        ],
        [
          94.0,
          82.15,
          7.43
        ]
      ],
      "width": 0.11,
      "transfer_method": "milk",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-0",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          72.25,
          62.75,
          0.73
        ],
        [
          72.25,
          62.85,
          0.73
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-1",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          80.25,
          62.75,
          0.73
        ],
        [
          80.25,
          62.85,
          0.73
        ],
        [
          80.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-2",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          88.25,
          62.75,
          0.73
        ],
        [
          88.25,
          62.85,
          0.73
        ],
        [
          88.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-3",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          96.25,
          62.75,
          0.73
        ],
        [
          96.25,
          62.85,
          0.73
        ],
        [
          96.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-4",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          72.25,
          75.75,
          0.73
        ],
        [
          72.25,
          75.85,
          0.73
        ],
        [
          72.25,
          75.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-5",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          80.25,
          75.75,
          0.73
        ],
        [
          80.25,
          75.85,
          0.73
        ],
        [
          80.25,
          75.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-6",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          88.25,
          75.75,
          0.73
        ],
        [
          88.25,
          75.85,
          0.73
        ],
        [
          88.25,
          75.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-7",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          96.25,
          75.75,
          0.73
        ],
        [
          96.25,
          75.85,
          0.73
        ],
        [
          96.25,
          75.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-8",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          33.12,
          79.4,
          1.62
        ],
        [
          32.35,
          79.4,
          1.62
        ],
        [
          32.35,
          79.4,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-9",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          42.12,
          79.4,
          1.62
        ],
        [
          41.35,
          79.4,
          1.62
        ],
        [
          41.35,
          79.4,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S03-S04-10",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          72.25,
          62.85,
          7.21
        ],
        [
          32.35,
          62.85,
          7.21
        ],
        [
          32.35,
          79.4,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-11",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          80.25,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-12",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          88.25,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-13",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          96.25,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-14",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          72.25,
          75.85,
          7.21
        ],
        [
          72.25,
          68.78,
          7.21
        ],
        [
          72.78,
          68.78,
          7.21
        ],
        [
          72.78,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-15",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          80.25,
          75.85,
          7.21
        ],
        [
          80.25,
          68.78,
          7.21
        ],
        [
          75.22,
          68.78,
          7.21
        ],
        [
          75.22,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-16",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          88.25,
          75.85,
          7.21
        ],
        [
          88.25,
          68.78,
          7.21
        ],
        [
          83.22,
          68.78,
          7.21
        ],
        [
          83.22,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-17",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          96.25,
          75.85,
          7.21
        ],
        [
          96.25,
          68.78,
          7.21
        ],
        [
          91.22,
          68.78,
          7.21
        ],
        [
          91.22,
          62.85,
          7.21
        ],
        [
          72.25,
          62.85,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S03-S04-18",
      "kind": "pipe",
      "from": "S03",
      "to": "S04",
      "points": [
        [
          32.35,
          79.4,
          7.21
        ],
        [
          41.35,
          79.4,
          7.21
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S04-S06-0",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          33.12,
          82.6,
          2.85
        ],
        [
          32.35,
          82.6,
          2.85
        ],
        [
          32.35,
          82.6,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S04-S06-1",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          42.12,
          82.6,
          2.85
        ],
        [
          41.35,
          82.6,
          2.85
        ],
        [
          41.35,
          82.6,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S04-S06-2",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          55.0,
          82.26,
          2.73
        ],
        [
          55.0,
          83.15,
          2.73
        ],
        [
          55.0,
          83.15,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S04-S06-3",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          62.0,
          82.26,
          2.73
        ],
        [
          62.0,
          83.15,
          2.73
        ],
        [
          62.0,
          83.15,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S04-S06-4",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          32.35,
          82.6,
          6.99
        ],
        [
          55.0,
          82.6,
          6.99
        ],
        [
          55.0,
          83.15,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S04-S06-5",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          41.35,
          82.6,
          6.99
        ],
        [
          32.35,
          82.6,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S04-S06-6",
      "kind": "pipe",
      "from": "S04",
      "to": "S06",
      "points": [
        [
          55.0,
          83.15,
          6.99
        ],
        [
          62.0,
          83.15,
          6.99
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S05-S06-0",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          36.3,
          47.05,
          0.73
        ],
        [
          36.3,
          46.85,
          0.73
        ],
        [
          36.3,
          46.85,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S05-S06-1",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          41.8,
          47.05,
          0.73
        ],
        [
          41.8,
          46.85,
          0.73
        ],
        [
          41.8,
          46.85,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S05-S06-2",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          47.3,
          47.05,
          0.73
        ],
        [
          47.3,
          46.85,
          0.73
        ],
        [
          47.3,
          46.85,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S05-S06-3",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          55.28,
          82.26,
          2.73
        ],
        [
          55.28,
          83.15,
          2.73
        ],
        [
          55.28,
          83.15,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S05-S06-4",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          62.28,
          82.26,
          2.73
        ],
        [
          62.28,
          83.15,
          2.73
        ],
        [
          62.28,
          83.15,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S05-S06-5",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          36.3,
          46.85,
          6.77
        ],
        [
          55.28,
          46.85,
          6.77
        ],
        [
          55.28,
          83.15,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S05-S06-6",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          41.8,
          46.85,
          6.77
        ],
        [
          36.3,
          46.85,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S05-S06-7",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          47.3,
          46.85,
          6.77
        ],
        [
          36.3,
          46.85,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S05-S06-8",
      "kind": "pipe",
      "from": "S05",
      "to": "S06",
      "points": [
        [
          55.28,
          83.15,
          6.77
        ],
        [
          61.71,
          83.15,
          6.77
        ],
        [
          61.71,
          82.89,
          6.77
        ],
        [
          62.28,
          82.89,
          6.77
        ],
        [
          62.28,
          83.15,
          6.77
        ]
      ],
      "width": 0.15,
      "transfer_method": "fruit_puree",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S06-S07-0",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          56.8,
          79.05,
          0.73
        ],
        [
          56.8,
          78.85,
          0.73
        ],
        [
          56.8,
          78.85,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S06-S07-1",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          63.8,
          79.05,
          0.73
        ],
        [
          63.8,
          78.85,
          0.73
        ],
        [
          63.8,
          78.85,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S06-S07-2",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          58.2,
          50.4,
          2.58
        ],
        [
          58.2,
          51.15,
          2.58
        ],
        [
          58.2,
          51.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S06-S07-3",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          73.2,
          50.4,
          2.58
        ],
        [
          73.2,
          51.15,
          2.58
        ],
        [
          73.2,
          51.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S06-S07-4",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          65.2,
          58.4,
          2.58
        ],
        [
          65.2,
          59.15,
          2.58
        ],
        [
          65.2,
          59.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review",
      "equipment_base_z_m": 0.28,
      "port_height_correction_m": 0.08
    },
    {
      "id": "F02-liquid-F02-S06-S07-5",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          56.8,
          78.85,
          6.55
        ],
        [
          58.2,
          78.85,
          6.55
        ],
        [
          58.2,
          51.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S06-S07-6",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          63.8,
          78.85,
          6.55
        ],
        [
          56.8,
          78.85,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S06-S07-7",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          58.2,
          51.15,
          6.55
        ],
        [
          73.2,
          51.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-liquid-F02-S06-S07-8",
      "kind": "pipe",
      "from": "S06",
      "to": "S07",
      "points": [
        [
          58.2,
          51.15,
          6.55
        ],
        [
          65.2,
          51.15,
          6.55
        ],
        [
          65.2,
          59.15,
          6.55
        ]
      ],
      "width": 0.13,
      "transfer_method": "yogurt",
      "review_status": "synthetic_ports_require_equipment_review"
    },
    {
      "id": "F02-solid-S07-S08-0",
      "kind": "conveyor",
      "from": "S07",
      "to": "S08",
      "points": [
        [
          59.0,
          48.0,
          1.12
        ],
        [
          59.6,
          48.0,
          1.12
        ],
        [
          59.56,
          48.0,
          1.12
        ],
        [
          59.56,
          44.94,
          1.12
        ],
        [
          50.4,
          44.94,
          1.12
        ],
        [
          50.4,
          31.0,
          1.12
        ],
        [
          51.0,
          31.0,
          1.12
        ]
      ],
      "width": 0.7,
      "transfer_method": "product_belt_with_transfer_plates",
      "review_status": "synthetic_transfer_requires_hygiene_and_controls_review"
    },
    {
      "id": "F02-solid-S07-S08-1",
      "kind": "conveyor",
      "from": "S07",
      "to": "S08",
      "points": [
        [
          74.0,
          48.0,
          1.12
        ],
        [
          74.6,
          48.0,
          1.12
        ],
        [
          74.56,
          48.0,
          1.12
        ],
        [
          74.56,
          44.94,
          1.12
        ],
        [
          65.4,
          44.94,
          1.12
        ],
        [
          65.4,
          31.0,
          1.12
        ],
        [
          66.0,
          31.0,
          1.12
        ]
      ],
      "width": 0.7,
      "transfer_method": "product_belt_with_transfer_plates",
      "review_status": "synthetic_transfer_requires_hygiene_and_controls_review"
    },
    {
      "id": "F02-solid-S07-S08-2",
      "kind": "conveyor",
      "from": "S07",
      "to": "S08",
      "points": [
        [
          66.0,
          56.0,
          1.12
        ],
        [
          66.6,
          56.0,
          1.12
        ],
        [
          66.56,
          56.0,
          1.12
        ],
        [
          66.56,
          52.94,
          1.12
        ],
        [
          65.4,
          52.94,
          1.12
        ],
        [
          65.4,
          31.0,
          1.12
        ],
        [
          66.0,
          31.0,
          1.12
        ]
      ],
      "width": 0.7,
      "transfer_method": "product_belt_with_transfer_plates",
      "review_status": "synthetic_transfer_requires_hygiene_and_controls_review"
    },
    {
      "id": "F02-staff-research",
      "kind": "pedestrian",
      "from": "gate",
      "to": "research",
      "points": [
        [
          60,
          3,
          0.2
        ],
        [
          60,
          12,
          0.2
        ],
        [
          8,
          12,
          0.2
        ],
        [
          8,
          30,
          0.2
        ],
        [
          8,
          60,
          0.2
        ],
        [
          11,
          60,
          0.2
        ]
      ],
      "width": 1.2,
      "design_note": "정문 보행 연결망에서 지원동 각 부서의 남측 비품 없는 접근 통로로 진입한다. 생산물 운반과 구별되는 직원 이동선이다."
    },
    {
      "id": "F02-staff-staff",
      "kind": "pedestrian",
      "from": "gate",
      "to": "staff",
      "points": [
        [
          60,
          3,
          0.2
        ],
        [
          60,
          12,
          0.2
        ],
        [
          8,
          12,
          0.2
        ],
        [
          8,
          30,
          0.2
        ],
        [
          8,
          44,
          0.2
        ],
        [
          11,
          44,
          0.2
        ]
      ],
      "width": 1.2,
      "design_note": "정문 보행 연결망에서 지원동 각 부서의 남측 비품 없는 접근 통로로 진입한다. 생산물 운반과 구별되는 직원 이동선이다."
    },
    {
      "id": "F02-staff-plant",
      "kind": "pedestrian",
      "from": "gate",
      "to": "plant",
      "points": [
        [
          60,
          3,
          0.2
        ],
        [
          60,
          12,
          0.2
        ],
        [
          8,
          12,
          0.2
        ],
        [
          8,
          30,
          0.2
        ],
        [
          11,
          30,
          0.2
        ]
      ],
      "width": 1.2,
      "design_note": "정문 보행 연결망에서 지원동 각 부서의 남측 비품 없는 접근 통로로 진입한다. 생산물 운반과 구별되는 직원 이동선이다."
    },
    {
      "id": "F02-dock-1-inbound",
      "kind": "pipe",
      "from": "raw-dock",
      "to": "S01",
      "points": [
        [
          31,
          66,
          1.2
        ],
        [
          32.1,
          66,
          1.2
        ],
        [
          32.1,
          62.74,
          1.2
        ],
        [
          35,
          62.74,
          1.2
        ],
        [
          35,
          62.74,
          2.94
        ]
      ],
      "width": 0.12,
      "cargo_containment": "탱크로리 하역 커플링에서 배합유 탱크의 상부 위생 입구로 이어지는 폐쇄식 유원료 배관",
      "design_note": "벌크 유원료는 작업자 카트가 아니라 위생 배관으로 수유한다. S01 첫 탱크의 반지름 1.26m, 남측 입구와 실제 설비 기준 높이 .28m를 반영했다.",
      "transfer_method": "milk"
    },
    {
      "id": "F02-dock-2-inbound",
      "kind": "pedestrian",
      "from": "raw-dock",
      "to": "S05",
      "points": [
        [
          31,
          57,
          0.2
        ],
        [
          32.1,
          57,
          0.2
        ],
        [
          32.1,
          53,
          0.2
        ],
        [
          34.5,
          53,
          0.2
        ],
        [
          34.5,
          51.4,
          0.2
        ]
      ],
      "width": 1.2,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "냉장·냉동품은 단열 밀폐 카트, 건식 원료·제품은 배치별 밀폐 위생 용기",
      "design_note": "과일 원료 입고 도크의 실제 좌표에서 투입 공정으로 연결하는 원료 인계 경로. 선반 예약 면적과 설비를 피한 서비스 통로를 사용한다.",
      "enclosure": {
        "width": 2.0,
        "height": 2.7,
        "type": "sealed_transfer_gallery"
      }
    },
    {
      "id": "F02-dock-3-outbound",
      "kind": "pedestrian",
      "from": "S08",
      "to": "shipping-dock",
      "points": [
        [
          74.9,
          31,
          0.2
        ],
        [
          98,
          31,
          0.2
        ],
        [
          98,
          34,
          0.2
        ],
        [
          99,
          34,
          0.2
        ]
      ],
      "width": 1.2,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "냉장·냉동품은 단열 밀폐 카트, 건식 원료·제품은 배치별 밀폐 위생 용기",
      "design_note": "냉장 출하 도크의 실제 좌표에서 최종 공정 출구를 잇는 제품 인계 경로. 선반 예약 면적과 설비를 피한 서비스 통로를 사용한다.",
      "enclosure": {
        "width": 2.0,
        "height": 2.7,
        "type": "sealed_transfer_gallery"
      }
    },
    {
      "id": "F02-robot-access-F02-robot-case-1",
      "kind": "pedestrian",
      "from": "route:F02-dock-3-outbound",
      "to": "fixture:F02-robot-case-1",
      "points": [
        [
          81.4,
          31.0,
          0.2
        ],
        [
          81.4,
          32.699999999999996,
          0.2
        ]
      ],
      "width": 0.9,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "위생 밀폐 제품 카트",
      "design_note": "기존 제품 이송 동선에서 실제 로봇 인계대 또는 팔레트의 작업자 접근면으로 연결한다.",
      "feeds_from_route_id": "F02-dock-3-outbound",
      "source_handoff": {
        "existing_route_id": "F02-dock-3-outbound",
        "world_xy": [
          81.4,
          31.0
        ],
        "mode": "manual lift at existing product-transfer lane"
      },
      "endpoint_handoffs": {
        "from": {
          "reference": "route:F02-dock-3-outbound",
          "method": "direct_polyline_join",
          "access_point_world_xyz": [
            81.4,
            31.0,
            0.2
          ],
          "route_point_world_xyz": [
            81.4,
            31.0,
            0.2
          ],
          "basis": "Named existing route polyline; manual lift only for the declared cart-to-belt height change."
        }
      }
    },
    {
      "id": "F02-robot-access-F02-robot-pallet-1",
      "kind": "pedestrian",
      "from": "fixture:F02-robot-pallet-1",
      "to": "route:F02-dock-3-outbound",
      "points": [
        [
          85.7,
          34.349999999999994,
          0.2
        ],
        [
          85.7,
          31.0,
          0.2
        ]
      ],
      "width": 0.9,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "위생 밀폐 제품 카트",
      "design_note": "기존 제품 이송 동선에서 실제 로봇 인계대 또는 팔레트의 작업자 접근면으로 연결한다.",
      "feeds_from_route_id": "F02-dock-3-outbound",
      "source_handoff": {
        "existing_route_id": "F02-dock-3-outbound",
        "world_xy": [
          85.7,
          31.0
        ],
        "mode": "manual lift at existing product-transfer lane"
      },
      "endpoint_handoffs": {
        "to": {
          "reference": "route:F02-dock-3-outbound",
          "method": "direct_polyline_join",
          "access_point_world_xyz": [
            85.7,
            31.0,
            0.2
          ],
          "route_point_world_xyz": [
            85.7,
            31.0,
            0.2
          ],
          "basis": "Named existing route polyline; manual lift only for the declared cart-to-belt height change."
        }
      }
    },
    {
      "id": "F02-robot-access-F02-robot-case-2",
      "kind": "pedestrian",
      "from": "route:F02-dock-3-outbound",
      "to": "fixture:F02-robot-case-2",
      "points": [
        [
          91.4,
          31.0,
          0.2
        ],
        [
          91.4,
          32.699999999999996,
          0.2
        ]
      ],
      "width": 0.9,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "위생 밀폐 제품 카트",
      "design_note": "기존 제품 이송 동선에서 실제 로봇 인계대 또는 팔레트의 작업자 접근면으로 연결한다.",
      "feeds_from_route_id": "F02-dock-3-outbound",
      "source_handoff": {
        "existing_route_id": "F02-dock-3-outbound",
        "world_xy": [
          91.4,
          31.0
        ],
        "mode": "manual lift at existing product-transfer lane"
      },
      "endpoint_handoffs": {
        "from": {
          "reference": "route:F02-dock-3-outbound",
          "method": "direct_polyline_join",
          "access_point_world_xyz": [
            91.4,
            31.0,
            0.2
          ],
          "route_point_world_xyz": [
            91.4,
            31.0,
            0.2
          ],
          "basis": "Named existing route polyline; manual lift only for the declared cart-to-belt height change."
        }
      }
    },
    {
      "id": "F02-robot-access-F02-robot-pallet-2",
      "kind": "pedestrian",
      "from": "fixture:F02-robot-pallet-2",
      "to": "route:F02-dock-3-outbound",
      "points": [
        [
          96.95,
          35.5,
          0.2
        ],
        [
          98,
          35.5,
          0.2
        ],
        [
          98,
          34,
          0.2
        ]
      ],
      "width": 0.9,
      "transport_method": "manual_closed_cart",
      "carries_product": true,
      "cargo_containment": "위생 밀폐 제품 카트",
      "design_note": "기존 제품 이송 동선에서 실제 로봇 인계대 또는 팔레트의 작업자 접근면으로 연결한다.",
      "feeds_from_route_id": "F02-dock-3-outbound",
      "source_handoff": {
        "existing_route_id": "F02-dock-3-outbound",
        "world_xy": [
          98,
          34
        ],
        "mode": "manual lift at existing product-transfer lane"
      },
      "endpoint_handoffs": {
        "to": {
          "reference": "route:F02-dock-3-outbound",
          "method": "direct_polyline_join",
          "access_point_world_xyz": [
            98,
            34,
            0.2
          ],
          "route_point_world_xyz": [
            98,
            34,
            0.2
          ],
          "basis": "Named existing route polyline; manual lift only for the declared cart-to-belt height change."
        }
      }
    }
  ],
  "yard": {
    "roads": [
      {
        "points": [
          [
            5,
            8
          ],
          [
            112,
            8
          ],
          [
            112,
            99
          ],
          [
            5,
            99
          ],
          [
            5,
            8
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 31,
        "y": 66,
        "angle": 4.71238898038469,
        "building_id": "base",
        "role": "유원료 입고"
      },
      {
        "x": 31,
        "y": 57,
        "angle": 4.71238898038469,
        "building_id": "cuphall",
        "role": "과일 원료 입고"
      },
      {
        "x": 99,
        "y": 34,
        "angle": 1.5707963267948966,
        "building_id": "cuphall",
        "role": "냉장 출하"
      }
    ],
    "parking": [
      {
        "x": 31,
        "y": 17,
        "angle": 0,
        "count": 24
      }
    ],
    "gate": {
      "x": 60,
      "y": 3
    },
    "fence": true
  },
  "landmarks": [
    "북동쪽 높은 발효 탱크 타워",
    "보라색 컵 포장동 파사드",
    "서쪽 과일 원료 전용 문",
    "작은 균주 검사 별동",
    "낮은 냉장 출하 캐노피"
  ],
  "density": {
    "intent": "공정별 생산 셀, 원료·제품·포장재 재고, 현장 유틸리티와 작업자 공간을 서로 다른 면적으로 직접 설계하였다. 남는 공간을 무작위 상자로 채우지 않고 명시된 용도와 정비 통로를 유지한다.",
    "production_area_m2": 2708,
    "storage_area_m2": 1180,
    "support_area_m2": 942,
    "circulation_area_m2": 0
  },
  "compact_campus_revision": 3,
  "production_density_review": [
    {
      "basis": "Explicitly reduced building and room dimensions; no residual space generator.",
      "status": "spatial_preflight_required"
    }
  ],
  "openings": [
    {
      "id": "door-mix",
      "building_id": "base",
      "zone_id": "mix",
      "x": 42.0,
      "y": 60,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "mix",
        "service_access"
      ]
    },
    {
      "id": "door-milk-service",
      "building_id": "base",
      "zone_id": "milk-service",
      "x": 59.0,
      "y": 60,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "milk-service",
        "service_access"
      ]
    },
    {
      "id": "door-coolbase",
      "building_id": "base",
      "zone_id": "coolbase",
      "x": 48.0,
      "y": 76,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "coolbase",
        "service_access"
      ]
    },
    {
      "id": "door-ferment",
      "building_id": "fermentation",
      "zone_id": "ferment",
      "x": 82.0,
      "y": 60,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "ferment",
        "service_access"
      ]
    },
    {
      "id": "door-fruit",
      "building_id": "cuphall",
      "zone_id": "fruit",
      "x": 40.0,
      "y": 44,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "fruit",
        "service_access"
      ]
    },
    {
      "id": "door-fruit-stock",
      "building_id": "cuphall",
      "zone_id": "fruit-stock",
      "x": 40.0,
      "y": 54,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "fruit-stock",
        "service_access"
      ]
    },
    {
      "id": "door-materials",
      "building_id": "cuphall",
      "zone_id": "materials",
      "x": 40.0,
      "y": 26,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "materials",
        "service_access"
      ]
    },
    {
      "id": "door-cup",
      "building_id": "cuphall",
      "zone_id": "cup",
      "x": 63.0,
      "y": 44,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "cup",
        "service_access"
      ]
    },
    {
      "id": "door-pack",
      "building_id": "cuphall",
      "zone_id": "pack",
      "x": 63.0,
      "y": 26,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "pack",
        "service_access"
      ]
    },
    {
      "id": "door-cold",
      "building_id": "cuphall",
      "zone_id": "cold",
      "x": 88.0,
      "y": 26,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "cold",
        "service_access"
      ]
    },
    {
      "id": "door-research",
      "building_id": "support",
      "zone_id": "research",
      "x": 17.5,
      "y": 58,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "research",
        "service_access"
      ]
    },
    {
      "id": "door-staff",
      "building_id": "support",
      "zone_id": "staff",
      "x": 17.5,
      "y": 42,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "staff",
        "service_access"
      ]
    },
    {
      "id": "door-plant",
      "building_id": "support",
      "zone_id": "plant",
      "x": 17.5,
      "y": 28,
      "width": 3.0,
      "height": 2.7,
      "axis": "x",
      "connects": [
        "plant",
        "service_access"
      ]
    },
    {
      "id": "transfer-F02-solid-S07-S08-0-0",
      "building_id": "cuphall",
      "zone_id": "cup",
      "x": 50.4,
      "y": 44.0,
      "width": 1.6,
      "height": 2.5,
      "axis": "x",
      "connects": [
        "S07",
        "S08"
      ]
    },
    {
      "id": "transfer-F02-solid-S07-S08-1-0",
      "building_id": "cuphall",
      "zone_id": "cup",
      "x": 65.4,
      "y": 44.0,
      "width": 1.6,
      "height": 2.5,
      "axis": "x",
      "connects": [
        "S07",
        "S08"
      ]
    },
    {
      "id": "route-r1-building-base-16",
      "building_id": "base",
      "x": 65.0,
      "y": 71.66,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S02",
        "S03"
      ],
      "route_ids": [
        "F02-liquid-F02-S02-S03-10"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 7.18
    },
    {
      "id": "route-r1-building-fermentation-17",
      "building_id": "fermentation",
      "x": 65.0,
      "y": 71.66,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S02",
        "S03"
      ],
      "route_ids": [
        "F02-liquid-F02-S02-S03-10"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 7.18
    },
    {
      "id": "route-r1-building-base-18",
      "building_id": "base",
      "x": 65.0,
      "y": 62.85,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S03",
        "S04"
      ],
      "route_ids": [
        "F02-liquid-F02-S03-S04-10"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.96
    },
    {
      "id": "route-r1-building-fermentation-19",
      "building_id": "fermentation",
      "x": 65.0,
      "y": 62.85,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S03",
        "S04"
      ],
      "route_ids": [
        "F02-liquid-F02-S03-S04-10"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.96
    },
    {
      "id": "route-r1-building-base-20",
      "building_id": "base",
      "x": 55.28,
      "y": 60.0,
      "axis": "x",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S05",
        "S06"
      ],
      "route_ids": [
        "F02-liquid-F02-S05-S06-5"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.52
    },
    {
      "id": "route-r1-building-cuphall-21",
      "building_id": "cuphall",
      "x": 55.28,
      "y": 60.0,
      "axis": "x",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S05",
        "S06"
      ],
      "route_ids": [
        "F02-liquid-F02-S05-S06-5"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.52
    },
    {
      "id": "route-r1-building-base-22",
      "building_id": "base",
      "x": 58.2,
      "y": 60.0,
      "axis": "x",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S06",
        "S07"
      ],
      "route_ids": [
        "F02-liquid-F02-S06-S07-5"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.3
    },
    {
      "id": "route-r1-building-cuphall-23",
      "building_id": "cuphall",
      "x": 58.2,
      "y": 60.0,
      "axis": "x",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "S06",
        "S07"
      ],
      "route_ids": [
        "F02-liquid-F02-S06-S07-5"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 6.3
    },
    {
      "id": "route-r1-building-support-24",
      "building_id": "support",
      "x": 10.0,
      "y": 60.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "research"
      ],
      "route_ids": [
        "F02-staff-research"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다."
    },
    {
      "id": "route-r1-zone-research-25",
      "building_id": "support",
      "x": 10.0,
      "y": 60.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "research"
      ],
      "route_ids": [
        "F02-staff-research"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "research"
    },
    {
      "id": "route-r1-building-support-26",
      "building_id": "support",
      "x": 10.0,
      "y": 44.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "staff"
      ],
      "route_ids": [
        "F02-staff-staff"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다."
    },
    {
      "id": "route-r1-zone-staff-27",
      "building_id": "support",
      "x": 10.0,
      "y": 44.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "staff"
      ],
      "route_ids": [
        "F02-staff-staff"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "staff"
    },
    {
      "id": "route-r1-building-support-28",
      "building_id": "support",
      "x": 10.0,
      "y": 30.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "plant"
      ],
      "route_ids": [
        "F02-staff-plant"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다."
    },
    {
      "id": "route-r1-zone-plant-29",
      "building_id": "support",
      "x": 10.0,
      "y": 30.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "gate",
        "plant"
      ],
      "route_ids": [
        "F02-staff-plant"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "plant"
    },
    {
      "id": "route-r1-building-base-30",
      "building_id": "base",
      "x": 31.0,
      "y": 66.0,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "raw-dock",
        "S01"
      ],
      "route_ids": [
        "F02-dock-1-inbound"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "sill_height": 0.95
    },
    {
      "id": "route-r1-zone-mix-31",
      "building_id": "base",
      "x": 31.0,
      "y": 66.0,
      "axis": "y",
      "width": 0.5,
      "height": 0.5,
      "connects": [
        "raw-dock",
        "S01"
      ],
      "route_ids": [
        "F02-dock-1-inbound"
      ],
      "kind": "pipe_sleeve",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "mix",
      "sill_height": 0.95
    },
    {
      "id": "route-r1-building-cuphall-32",
      "building_id": "cuphall",
      "x": 31.0,
      "y": 57.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "raw-dock",
        "S05"
      ],
      "route_ids": [
        "F02-dock-2-inbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다."
    },
    {
      "id": "route-r1-zone-fruit-33",
      "building_id": "cuphall",
      "x": 32.1,
      "y": 54.0,
      "axis": "x",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "raw-dock",
        "S05"
      ],
      "route_ids": [
        "F02-dock-2-inbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "fruit"
    },
    {
      "id": "route-r1-zone-fruit-stock-34",
      "building_id": "cuphall",
      "x": 32.1,
      "y": 54.0,
      "axis": "x",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "raw-dock",
        "S05"
      ],
      "route_ids": [
        "F02-dock-2-inbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "fruit-stock"
    },
    {
      "id": "route-r1-zone-fruit-stock-35",
      "building_id": "cuphall",
      "x": 31.0,
      "y": 57.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "raw-dock",
        "S05"
      ],
      "route_ids": [
        "F02-dock-2-inbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "fruit-stock"
    },
    {
      "id": "route-r1-building-cuphall-36",
      "building_id": "cuphall",
      "x": 99.0,
      "y": 34.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "S08",
        "shipping-dock"
      ],
      "route_ids": [
        "F02-dock-3-outbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다."
    },
    {
      "id": "route-r1-zone-cold-37",
      "building_id": "cuphall",
      "x": 99.0,
      "y": 34.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "S08",
        "shipping-dock"
      ],
      "route_ids": [
        "F02-dock-3-outbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "cold"
    },
    {
      "id": "route-r1-zone-cold-38",
      "building_id": "cuphall",
      "x": 77.0,
      "y": 31.0,
      "axis": "y",
      "width": 1.6,
      "height": 2.5,
      "connects": [
        "S08",
        "shipping-dock"
      ],
      "route_ids": [
        "F02-dock-3-outbound"
      ],
      "kind": "personnel_door",
      "design_note": "해당 경로가 통과하는 소유벽의 국부 개구부. 인접 소유벽은 별도로 기록한다.",
      "zone_id": "cold"
    }
  ],
  "connection_review": {
    "counts": {
      "declared_process_edges": 7,
      "wet_edges_classified": 6,
      "wet_edges_routed": 6,
      "graph_only_edges": 1,
      "unresolved_edges": 0
    },
    "unresolved": [],
    "limitations": [
      "Synthetic product ports require equipment-level visual review.",
      "Pipe pressure drop, cleanability, thermal expansion and pump sizing are not simulated.",
      "Cutaway room crossings are not validated sealed hygiene penetrations.",
      "Dry or unsupported material transfers remain graph-only; no invented floor-centre conveyors."
    ],
    "dry_connections": [
      {
        "source": "S07",
        "target": "S08",
        "index": 0,
        "method": "conveyor"
      },
      {
        "source": "S07",
        "target": "S08",
        "index": 1,
        "method": "conveyor"
      },
      {
        "source": "S07",
        "target": "S08",
        "index": 2,
        "method": "conveyor"
      }
    ],
    "dry_unresolved": [],
    "world_base_correction": {
      "equipment_base_z_m": 0.28,
      "legacy_planner_base_z_m": 0.2,
      "riser_endpoints_adjusted_m": 0.08,
      "scope": "일부 공정 노즐과 라이저의 낮은 수평 연결부. 고소 주 배관 높이는 유지.",
      "acceptance": "실제 부품 형상 및 노즐 기능 검수는 별도"
    }
  },
  "routing_revision": 1,
  "routing_design_note": "공정·입출하 제품 카트 2개 경로, 직원 보행 3개 경로를 구별한다. 직원 경로는 실제 정문에서 지원동 각 부서의 남측 접근 공간까지 이어진다. 외벽과 부서벽은 동일 좌표에서도 소유벽별 개구부를 가진다. 관통구는 통과 물체에 필요한 국부 폭으로만 만들며, 고소 배관 10개 관통구에는 sill_height와 실제 구멍 높이를 명시해 위아래 벽체를 보존한다. 설비·로봇·기물·건물의 설치 좌표와 기존 ID는 이 수정에서 변경하지 않았다.",
  "robot_station_revision": 1,
  "robot_station_review": {
    "status": "input_authored_pending_render",
    "basis": "actual generated fixture/contact geometry, base/support primitive checks and retained process routes",
    "robots": [
      {
        "robot": "0/0",
        "stage_id": "S08",
        "position": [
          80.0,
          34,
          0.28
        ],
        "task_points": [
          [
            81.0,
            34,
            1.18
          ],
          [
            81.60000000000001,
            34,
            1.35
          ]
        ],
        "task_fixture": {
          "fixture_ids": [
            "F02-robot-case-1"
          ],
          "target_basis": "actual generated mesh contact surfaces"
        },
        "previous_position": [
          59,
          38,
          0
        ]
      },
      {
        "robot": "0/1",
        "stage_id": "S08",
        "position": [
          90.0,
          34,
          0.28
        ],
        "task_points": [
          [
            91.0,
            34,
            1.18
          ],
          [
            91.60000000000001,
            34,
            1.35
          ]
        ],
        "task_fixture": {
          "fixture_ids": [
            "F02-robot-case-2"
          ],
          "target_basis": "actual generated mesh contact surfaces"
        },
        "previous_position": [
          72,
          38,
          0
        ]
      },
      {
        "robot": "1/0",
        "stage_id": "S08",
        "position": [
          84.2,
          34,
          0.28
        ],
        "task_points": [
          [
            81.60000000000001,
            34,
            1.35
          ],
          [
            85.44436,
            35.5,
            1.4
          ]
        ],
        "task_fixture": {
          "fixture_ids": [
            "F02-robot-case-1",
            "F02-robot-pallet-1"
          ],
          "target_basis": "actual generated mesh contact surfaces"
        },
        "previous_position": [
          83,
          32,
          0
        ]
      },
      {
        "robot": "1/1",
        "stage_id": "S08",
        "position": [
          94.2,
          34,
          0.28
        ],
        "task_points": [
          [
            91.60000000000001,
            34,
            1.35
          ],
          [
            95.44436,
            35.5,
            1.4
          ]
        ],
        "task_fixture": {
          "fixture_ids": [
            "F02-robot-case-2",
            "F02-robot-pallet-2"
          ],
          "target_basis": "actual generated mesh contact surfaces"
        },
        "previous_position": [
          93,
          32,
          0
        ]
      }
    ]
  }
}
