{
  "factory_id": "A04",
  "design_revision": 2,
  "design_story": "가람은 캘리퍼 보어 가공유가 씰 조립면에 넘어오지 않도록 서쪽 습식 가공동과 동쪽 청정 조립동을 나눴다. 두 날개의 인계점에는 세척기를 한 줄로 놓고 세척 후 부품만 좁은 청정 동선을 지난다. 원재료 주조품 창고는 가공동 남쪽, 소형 씰·피스톤 보관은 조립동 북쪽에 붙는다. 낮은 회색 박공의 가공동과 밝은 평지붕 조립동 사이에는 정비차가 드나드는 틈을 남기며, 검사 합격 캘리퍼는 조립동 끝의 보호캡·포장 작업대에서 바로 출하 랙으로 간다.",
  "site": {
    "width": 137,
    "depth": 88
  },
  "buildings": [
    {
      "id": "machining",
      "name": "주조품 기준확인·보어·유로 가공동",
      "role": "production",
      "polygon": [
        [
          14,
          40
        ],
        [
          78.5,
          40
        ],
        [
          78.5,
          55.1
        ],
        [
          14,
          55.1
        ]
      ],
      "height": 6.2,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.43,
          0.5,
          0.54
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "clean",
      "name": "세척·씰·피스톤 청정 조립동",
      "role": "production",
      "polygon": [
        [
          84.5,
          40
        ],
        [
          119.1,
          40
        ],
        [
          119.1,
          61.2
        ],
        [
          84.5,
          61.2
        ]
      ],
      "height": 6.2,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.82,
          0.83,
          0.78
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "test",
      "name": "누설·작동·포장 출하실",
      "role": "production",
      "polygon": [
        [
          84.5,
          66.2
        ],
        [
          124.5,
          66.2
        ],
        [
          124.5,
          73.2
        ],
        [
          84.5,
          73.2
        ]
      ],
      "height": 6.2,
      "roof": {
        "type": "shed",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.63,
          0.73,
          0.72
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "cast-store",
      "name": "주조품·완제품 분리 보관",
      "role": "warehouse",
      "polygon": [
        [
          14,
          14
        ],
        [
          42,
          14
        ],
        [
          42,
          34
        ],
        [
          14,
          34
        ]
      ],
      "height": 7.5,
      "roof": {
        "type": "gable",
        "axis": "y",
        "pitch": 0.15
      },
      "facade": {
        "color": [
          0.59,
          0.65,
          0.64
        ],
        "accent": [
          0.17,
          0.32,
          0.34
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "support",
      "name": "계측·정비·교대 지원동",
      "role": "support",
      "polygon": [
        [
          48,
          14
        ],
        [
          82.0,
          14
        ],
        [
          82.0,
          34.0
        ],
        [
          48,
          34.0
        ]
      ],
      "height": 5.5,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.1
      },
      "facade": {
        "color": [
          0.65,
          0.45,
          0.34
        ],
        "accent": [
          0.2,
          0.28,
          0.3
        ],
        "material": "brick",
        "window_band_height": 0.85
      }
    },
    {
      "id": "dispatch-stock",
      "name": "캘리퍼 납품·반환용기 창고",
      "role": "warehouse",
      "polygon": [
        [
          88.0,
          14
        ],
        [
          124.5,
          14
        ],
        [
          124.5,
          34
        ],
        [
          88.0,
          34
        ]
      ],
      "height": 7.5,
      "roof": {
        "type": "gable",
        "axis": "y",
        "pitch": 0.15
      },
      "facade": {
        "color": [
          0.62,
          0.67,
          0.64
        ],
        "accent": [
          0.22,
          0.32,
          0.32
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    }
  ],
  "zones": [
    {
      "id": "machining",
      "name": "주조품 기준확인·보어·유로 가공동",
      "role": "process",
      "building_id": "machining",
      "x": 14,
      "y": 40,
      "width": 64.5,
      "depth": 15.1,
      "stage_ids": [
        "S01",
        "S02",
        "S03"
      ],
      "fixtures": [
        {
          "id": "machining-workbench-01",
          "type": "workbench",
          "x": 15.5,
          "y": 41.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "보어 게이지·공구 준비 1"
        },
        {
          "id": "machining-workbench-02",
          "type": "workbench",
          "x": 18.1,
          "y": 41.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "보어 게이지·공구 준비 2"
        },
        {
          "id": "machining-workbench-03",
          "type": "workbench",
          "x": 20.7,
          "y": 41.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "보어 게이지·공구 준비 3"
        },
        {
          "id": "machining-workbench-04",
          "type": "workbench",
          "x": 23.3,
          "y": 41.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "보어 게이지·공구 준비 4"
        },
        {
          "id": "machining-product_bins-01",
          "type": "product_bins",
          "x": 25.75,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 1"
        },
        {
          "id": "machining-product_bins-02",
          "type": "product_bins",
          "x": 27.85,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 2"
        },
        {
          "id": "machining-product_bins-03",
          "type": "product_bins",
          "x": 29.95,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 3"
        },
        {
          "id": "machining-product_bins-04",
          "type": "product_bins",
          "x": 32.05,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 4"
        },
        {
          "id": "machining-product_bins-05",
          "type": "product_bins",
          "x": 34.15,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 5"
        },
        {
          "id": "machining-product_bins-06",
          "type": "product_bins",
          "x": 36.25,
          "y": 41.05,
          "width": 1.3,
          "depth": 0.9,
          "height": 1.2,
          "count": 1,
          "label": "가공 전후 캘리퍼 트레이 6"
        },
        {
          "id": "machining-product_bins-07",
          "type": "product_bins",
          "x": 33.675,
          "y": 46.775,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 1"
        },
        {
          "id": "machining-product_bins-08",
          "type": "product_bins",
          "x": 39.825,
          "y": 46.775,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 2"
        },
        {
          "id": "machining-product_bins-09",
          "type": "product_bins",
          "x": 52.125,
          "y": 46.775,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 3"
        },
        {
          "id": "machining-product_bins-10",
          "type": "product_bins",
          "x": 54.175,
          "y": 46.775,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 4"
        },
        {
          "id": "machining-product_bins-11",
          "type": "product_bins",
          "x": 39.825,
          "y": 40.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 5"
        },
        {
          "id": "machining-product_bins-12",
          "type": "product_bins",
          "x": 45.975,
          "y": 40.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "캘리퍼 가공 팔레트 인계 6"
        }
      ]
    },
    {
      "id": "clean",
      "name": "세척·씰·피스톤 청정 조립동",
      "role": "process",
      "building_id": "clean",
      "x": 84.5,
      "y": 40,
      "width": 34.6,
      "depth": 21.2,
      "stage_ids": [
        "S04",
        "S05",
        "S06"
      ],
      "fixtures": [
        {
          "id": "clean-cabinet-01",
          "type": "cabinet",
          "x": 85.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 1"
        },
        {
          "id": "clean-cabinet-02",
          "type": "cabinet",
          "x": 87.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 2"
        },
        {
          "id": "clean-cabinet-03",
          "type": "cabinet",
          "x": 89.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 3"
        },
        {
          "id": "clean-cabinet-04",
          "type": "cabinet",
          "x": 91.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 4"
        },
        {
          "id": "clean-cabinet-05",
          "type": "cabinet",
          "x": 93.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 5"
        },
        {
          "id": "clean-cabinet-06",
          "type": "cabinet",
          "x": 95.7,
          "y": 40.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "씰·부트 청정 보관 6"
        },
        {
          "id": "clean-worktable-01",
          "type": "worktable",
          "x": 97.9,
          "y": 40.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "피스톤 기준품 준비 1"
        },
        {
          "id": "clean-worktable-02",
          "type": "worktable",
          "x": 100.3,
          "y": 40.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "피스톤 기준품 준비 2"
        },
        {
          "id": "clean-worktable-03",
          "type": "worktable",
          "x": 102.7,
          "y": 40.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "피스톤 기준품 준비 3"
        },
        {
          "id": "clean-worktable-04",
          "type": "worktable",
          "x": 87.775,
          "y": 54.575,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "피스톤·씰 청정 키트 준비 1"
        },
        {
          "id": "clean-worktable-05",
          "type": "worktable",
          "x": 104.175,
          "y": 54.575,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "피스톤·씰 청정 키트 준비 2"
        },
        {
          "id": "clean-worktable-06",
          "type": "worktable",
          "x": 93.925,
          "y": 54.575,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "피스톤·씰 청정 키트 준비 3"
        },
        {
          "id": "robot-1-0-supply-jig",
          "type": "workbench",
          "x": 110.4,
          "y": 41.15,
          "width": 1.8,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "씰 공급 SCARA S05:0 전용 방향·품번 정렬 치구"
        },
        {
          "id": "robot-1-1-supply-jig",
          "type": "workbench",
          "x": 115.7,
          "y": 46.85,
          "width": 1.8,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "씰 공급 SCARA S05:3 전용 방향·품번 정렬 치구"
        }
      ]
    },
    {
      "id": "test",
      "name": "누설·작동·포장 출하실",
      "role": "process",
      "building_id": "test",
      "x": 84.5,
      "y": 66.2,
      "width": 40.0,
      "depth": 7.0,
      "stage_ids": [
        "S07",
        "S08"
      ],
      "fixtures": [
        {
          "id": "test-lab_bench-01",
          "type": "lab_bench",
          "x": 86.0,
          "y": 67.2,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "누설 표준품·재판정 1"
        },
        {
          "id": "test-lab_bench-02",
          "type": "lab_bench",
          "x": 88.6,
          "y": 67.2,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "누설 표준품·재판정 2"
        },
        {
          "id": "test-bin_rack-01",
          "type": "bin_rack",
          "x": 90.9,
          "y": 67.3,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "보호캡·차종별 트레이 1"
        },
        {
          "id": "test-bin_rack-02",
          "type": "bin_rack",
          "x": 93.35,
          "y": 67.3,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "보호캡·차종별 트레이 2"
        },
        {
          "id": "test-bin_rack-03",
          "type": "bin_rack",
          "x": 95.8,
          "y": 67.3,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "보호캡·차종별 트레이 3"
        },
        {
          "id": "test-bin_rack-04",
          "type": "bin_rack",
          "x": 98.25,
          "y": 67.3,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "보호캡·차종별 트레이 4"
        },
        {
          "id": "robot-2-0-handover",
          "type": "workbench",
          "x": 91.7,
          "y": 71.35000000000001,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "캘리퍼 누설시험 인계 치구 S07:1"
        },
        {
          "id": "robot-2-1-handover",
          "type": "workbench",
          "x": 102.7,
          "y": 71.35000000000001,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "캘리퍼 누설시험 인계 치구 S07:3"
        }
      ]
    },
    {
      "id": "cast-store",
      "name": "주조품·완제품 분리 보관",
      "role": "warehouse",
      "building_id": "cast-store",
      "x": 14,
      "y": 14,
      "width": 28,
      "depth": 20,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "cast-store-pallet_rack-01",
          "type": "pallet_rack",
          "x": 15.85,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 1"
        },
        {
          "id": "cast-store-pallet_rack-02",
          "type": "pallet_rack",
          "x": 19.0,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 2"
        },
        {
          "id": "cast-store-pallet_rack-03",
          "type": "pallet_rack",
          "x": 22.15,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 3"
        },
        {
          "id": "cast-store-pallet_rack-04",
          "type": "pallet_rack",
          "x": 25.3,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 4"
        },
        {
          "id": "cast-store-pallet_rack-05",
          "type": "pallet_rack",
          "x": 28.75,
          "y": 24.0,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 5"
        },
        {
          "id": "cast-store-pallet_rack-06",
          "type": "pallet_rack",
          "x": 31.6,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 6"
        },
        {
          "id": "cast-store-pallet_rack-07",
          "type": "pallet_rack",
          "x": 34.75,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 7"
        },
        {
          "id": "cast-store-pallet_rack-08",
          "type": "pallet_rack",
          "x": 37.9,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 8"
        },
        {
          "id": "cast-store-pallet_rack-09",
          "type": "pallet_rack",
          "x": 15.85,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 9"
        },
        {
          "id": "cast-store-pallet_rack-10",
          "type": "pallet_rack",
          "x": 19.0,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 10"
        },
        {
          "id": "cast-store-pallet_rack-11",
          "type": "pallet_rack",
          "x": 22.15,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 11"
        },
        {
          "id": "cast-store-pallet_rack-12",
          "type": "pallet_rack",
          "x": 25.3,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 12"
        },
        {
          "id": "cast-store-pallet_rack-13",
          "type": "pallet_rack",
          "x": 28.25,
          "y": 19.5,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 13"
        },
        {
          "id": "cast-store-pallet_rack-14",
          "type": "pallet_rack",
          "x": 31.6,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 14"
        },
        {
          "id": "cast-store-pallet_rack-15",
          "type": "pallet_rack",
          "x": 34.75,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 15"
        },
        {
          "id": "cast-store-pallet_rack-16",
          "type": "pallet_rack",
          "x": 37.9,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 16"
        },
        {
          "id": "cast-store-pallet_rack-17",
          "type": "pallet_rack",
          "x": 15.85,
          "y": 22.6,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 17"
        },
        {
          "id": "cast-store-pallet_rack-18",
          "type": "pallet_rack",
          "x": 19.0,
          "y": 22.6,
          "width": 2.5,
          "depth": 1,
          "height": 4,
          "count": 1,
          "label": "로트별 캘리퍼 주조품 18"
        },
        {
          "id": "cast-store-bin_rack-01",
          "type": "bin_rack",
          "x": 22.85,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 1"
        },
        {
          "id": "cast-store-bin_rack-02",
          "type": "bin_rack",
          "x": 25.3,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 2"
        },
        {
          "id": "cast-store-bin_rack-03",
          "type": "bin_rack",
          "x": 27.75,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 3"
        },
        {
          "id": "cast-store-bin_rack-04",
          "type": "bin_rack",
          "x": 30.2,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 4"
        },
        {
          "id": "cast-store-bin_rack-05",
          "type": "bin_rack",
          "x": 32.65,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 5"
        },
        {
          "id": "cast-store-bin_rack-06",
          "type": "bin_rack",
          "x": 35.1,
          "y": 22.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 3,
          "count": 1,
          "label": "출하 트레이 6"
        }
      ]
    },
    {
      "id": "a04-office",
      "name": "생산·품질 사무실",
      "role": "office",
      "building_id": "support",
      "x": 48,
      "y": 14,
      "width": 13.600000000000001,
      "depth": 10.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a04-office-office_desks-01",
          "type": "office_desks",
          "x": 49.85,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 1"
        },
        {
          "id": "a04-office-office_desks-02",
          "type": "office_desks",
          "x": 53.15,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 2"
        },
        {
          "id": "a04-office-office_desks-03",
          "type": "office_desks",
          "x": 56.45,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 3"
        }
      ]
    },
    {
      "id": "a04-staff",
      "name": "교대 탈의·휴게",
      "role": "staff",
      "building_id": "support",
      "x": 61.6,
      "y": 14,
      "width": 10.2,
      "depth": 10.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a04-staff-locker_bank-01",
          "type": "locker_bank",
          "x": 63.1,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 1"
        },
        {
          "id": "a04-staff-locker_bank-02",
          "type": "locker_bank",
          "x": 65.7,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 2"
        },
        {
          "id": "a04-staff-locker_bank-03",
          "type": "locker_bank",
          "x": 68.3,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 3"
        },
        {
          "id": "a04-staff-locker_bank-04",
          "type": "locker_bank",
          "x": 63.1,
          "y": 16.65,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 4"
        },
        {
          "id": "a04-staff-worktable-01",
          "type": "worktable",
          "x": 65.4,
          "y": 17.1,
          "width": 1.6,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "휴게 테이블 1"
        }
      ]
    },
    {
      "id": "a04-lab",
      "name": "씰·압력 기준실",
      "role": "laboratory",
      "building_id": "support",
      "x": 71.8,
      "y": 14,
      "width": 10.2,
      "depth": 10.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a04-lab-lab_bench-01",
          "type": "lab_bench",
          "x": 73.3,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "씰·압력 기준실 1"
        },
        {
          "id": "a04-lab-lab_bench-02",
          "type": "lab_bench",
          "x": 75.9,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "씰·압력 기준실 2"
        },
        {
          "id": "a04-lab-lab_bench-03",
          "type": "lab_bench",
          "x": 78.5,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "씰·압력 기준실 3"
        }
      ]
    },
    {
      "id": "a04-maint",
      "name": "보어 스핀들·치구 정비",
      "role": "maintenance",
      "building_id": "support",
      "x": 48,
      "y": 24.0,
      "width": 17.0,
      "depth": 10.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a04-maint-workbench-01",
          "type": "workbench",
          "x": 49.6,
          "y": 25.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "보어 스핀들·치구 정비 1"
        },
        {
          "id": "a04-maint-workbench-02",
          "type": "workbench",
          "x": 52.4,
          "y": 25.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "보어 스핀들·치구 정비 2"
        },
        {
          "id": "a04-maint-workbench-03",
          "type": "workbench",
          "x": 55.2,
          "y": 25.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "보어 스핀들·치구 정비 3"
        },
        {
          "id": "a04-maint-bin_rack-01",
          "type": "bin_rack",
          "x": 59.3,
          "y": 25.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 1"
        },
        {
          "id": "a04-maint-bin_rack-02",
          "type": "bin_rack",
          "x": 61.75,
          "y": 25.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 2"
        },
        {
          "id": "a04-maint-bin_rack-03",
          "type": "bin_rack",
          "x": 49.5,
          "y": 28.6,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 3"
        }
      ]
    },
    {
      "id": "a04-utility",
      "name": "공압·배전·냉각",
      "role": "utility",
      "building_id": "support",
      "x": 65.0,
      "y": 24.0,
      "width": 17.0,
      "depth": 10.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a04-utility-compressor-01",
          "type": "compressor",
          "x": 66.85,
          "y": 25.35,
          "width": 2.5,
          "depth": 1.5,
          "height": 2,
          "count": 1,
          "label": "공압 공급 1"
        },
        {
          "id": "a04-utility-chiller-01",
          "type": "chiller",
          "x": 70.9,
          "y": 25.5,
          "width": 3,
          "depth": 1.8,
          "height": 2.3,
          "count": 1,
          "label": "공정 냉각 1"
        },
        {
          "id": "a04-utility-electrical_bank-01",
          "type": "electrical_bank",
          "x": 75.55,
          "y": 24.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 1"
        },
        {
          "id": "a04-utility-electrical_bank-02",
          "type": "electrical_bank",
          "x": 77.85,
          "y": 24.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 2"
        },
        {
          "id": "a04-utility-electrical_bank-03",
          "type": "electrical_bank",
          "x": 80.15,
          "y": 24.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 3"
        }
      ]
    },
    {
      "id": "dispatch-stock",
      "name": "캘리퍼 납품·반환용기 창고",
      "role": "warehouse",
      "building_id": "dispatch-stock",
      "x": 88.0,
      "y": 14,
      "width": 36.5,
      "depth": 20,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "dispatch-stock-bin_rack-01",
          "type": "bin_rack",
          "x": 89.8,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 1"
        },
        {
          "id": "dispatch-stock-bin_rack-02",
          "type": "bin_rack",
          "x": 92.85,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 2"
        },
        {
          "id": "dispatch-stock-bin_rack-03",
          "type": "bin_rack",
          "x": 95.9,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 3"
        },
        {
          "id": "dispatch-stock-bin_rack-04",
          "type": "bin_rack",
          "x": 98.95,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 4"
        },
        {
          "id": "dispatch-stock-bin_rack-05",
          "type": "bin_rack",
          "x": 102.0,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 5"
        },
        {
          "id": "dispatch-stock-bin_rack-06",
          "type": "bin_rack",
          "x": 105.2,
          "y": 21.0,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 6"
        },
        {
          "id": "dispatch-stock-bin_rack-07",
          "type": "bin_rack",
          "x": 108.7,
          "y": 16.5,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 7"
        },
        {
          "id": "dispatch-stock-bin_rack-08",
          "type": "bin_rack",
          "x": 111.15,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 8"
        },
        {
          "id": "dispatch-stock-bin_rack-09",
          "type": "bin_rack",
          "x": 114.2,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 9"
        },
        {
          "id": "dispatch-stock-bin_rack-10",
          "type": "bin_rack",
          "x": 117.25,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 10"
        },
        {
          "id": "dispatch-stock-bin_rack-11",
          "type": "bin_rack",
          "x": 120.3,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 11"
        },
        {
          "id": "dispatch-stock-bin_rack-12",
          "type": "bin_rack",
          "x": 89.8,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 12"
        },
        {
          "id": "dispatch-stock-bin_rack-13",
          "type": "bin_rack",
          "x": 92.85,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 13"
        },
        {
          "id": "dispatch-stock-bin_rack-14",
          "type": "bin_rack",
          "x": 95.9,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 14"
        },
        {
          "id": "dispatch-stock-bin_rack-15",
          "type": "bin_rack",
          "x": 98.95,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 15"
        },
        {
          "id": "dispatch-stock-bin_rack-16",
          "type": "bin_rack",
          "x": 102.0,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 16"
        },
        {
          "id": "dispatch-stock-bin_rack-17",
          "type": "bin_rack",
          "x": 108.2,
          "y": 21.0,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 17"
        },
        {
          "id": "dispatch-stock-bin_rack-18",
          "type": "bin_rack",
          "x": 111.2,
          "y": 21.0,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 18"
        },
        {
          "id": "dispatch-stock-bin_rack-19",
          "type": "bin_rack",
          "x": 111.15,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 19"
        },
        {
          "id": "dispatch-stock-bin_rack-20",
          "type": "bin_rack",
          "x": 114.2,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 20"
        },
        {
          "id": "dispatch-stock-bin_rack-21",
          "type": "bin_rack",
          "x": 117.25,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 21"
        },
        {
          "id": "dispatch-stock-bin_rack-22",
          "type": "bin_rack",
          "x": 120.3,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 22"
        },
        {
          "id": "dispatch-stock-bin_rack-23",
          "type": "bin_rack",
          "x": 89.8,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 23"
        },
        {
          "id": "dispatch-stock-bin_rack-24",
          "type": "bin_rack",
          "x": 92.85,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 24"
        },
        {
          "id": "dispatch-stock-bin_rack-25",
          "type": "bin_rack",
          "x": 95.9,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 25"
        },
        {
          "id": "dispatch-stock-bin_rack-26",
          "type": "bin_rack",
          "x": 98.95,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 26"
        },
        {
          "id": "dispatch-stock-bin_rack-27",
          "type": "bin_rack",
          "x": 102.0,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "캘리퍼 완제품·반환 트레이 27"
        }
      ]
    }
  ],
  "equipment": [
    {
      "stage_id": "S01",
      "index": 0,
      "x": 17.5,
      "y": 43.25,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 17.5,
      "y": 48.95,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 27.0,
      "y": 44.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 33.5,
      "y": 44.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 2,
      "x": 40.0,
      "y": 44.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 3,
      "x": 46.5,
      "y": 44.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 4,
      "x": 53.0,
      "y": 44.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 5,
      "x": 27.0,
      "y": 51.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 6,
      "x": 33.5,
      "y": 51.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 7,
      "x": 40.0,
      "y": 51.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 8,
      "x": 46.5,
      "y": 51.1,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 9,
      "x": 53.0,
      "y": 51.1,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 62.75,
      "y": 43.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 68.75,
      "y": 43.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 74.75,
      "y": 43.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 3,
      "x": 62.75,
      "y": 49.7,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 4,
      "x": 68.75,
      "y": 49.7,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 5,
      "x": 74.75,
      "y": 49.7,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 90.0,
      "y": 43.5,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 99.5,
      "y": 43.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 110.4,
      "y": 43.25,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 115.7,
      "y": 43.25,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 2,
      "x": 110.4,
      "y": 48.95,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 3,
      "x": 115.7,
      "y": 48.95,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 88.0,
      "y": 57.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 93.5,
      "y": 57.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 2,
      "x": 99.0,
      "y": 57.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 3,
      "x": 104.5,
      "y": 57.7,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 88.0,
      "y": 69.45,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 93.5,
      "y": 69.45,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 2,
      "x": 99.0,
      "y": 69.45,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 3,
      "x": 104.5,
      "y": 69.45,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 114.0,
      "y": 69.7,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 120.5,
      "y": 69.7,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S02",
      "x": 27.0,
      "y": 47.25,
      "angle": -1.5707963267948966,
      "task_station": "보어·체결면 정밀가공 1호의 북측 작업면. 주조품을 가공 팔레트와 세척 컨베이어로 전달한다."
    },
    {
      "definition_index": 0,
      "instance_index": 1,
      "stage_id": "S02",
      "x": 46.5,
      "y": 47.25,
      "angle": -1.5707963267948966,
      "task_station": "보어·체결면 정밀가공 4호의 북측 작업면. 주조품을 가공 팔레트와 세척 컨베이어로 전달한다."
    },
    {
      "definition_index": 0,
      "instance_index": 2,
      "stage_id": "S02",
      "x": 27.0,
      "y": 54.35,
      "angle": -1.5707963267948966,
      "task_station": "보어·체결면 정밀가공 6호의 북측 작업면. 주조품을 가공 팔레트와 세척 컨베이어로 전달한다."
    },
    {
      "definition_index": 0,
      "instance_index": 3,
      "stage_id": "S02",
      "x": 46.5,
      "y": 54.35,
      "angle": -1.5707963267948966,
      "task_station": "보어·체결면 정밀가공 9호의 북측 작업면. 주조품을 가공 팔레트와 세척 컨베이어로 전달한다."
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S05",
      "x": 111.0,
      "y": 40.85,
      "angle": 2.9084128529429747,
      "task_station": "씰 공급 SCARA S05:0 전용 방향·품번 정렬 치구. 작업대 상면1.045m에 소형 .24m 앵커를 고정하고 약.411m 떨어진 정렬 치구 전면을 조작한다. 기존 reach0.6m와 짧은 Z축 범위를 유지한다. 정렬 완료 부품의 후속 기계 공급은 작업자/지그 인계이며 로봇이 먼 기계 중심까지 직접 도달한다고 표현하지 않는다.",
      "mounting_height_m": 0.765,
      "task_point": [
        110.60000000000001,
        40.945,
        1.27
      ],
      "host_equipment": {
        "stage_id": "S05",
        "index": 0
      },
      "task_fixture_id": "robot-1-0-supply-jig",
      "controller_offset": [
        1.252899043189106,
        -0.2985699040020628,
        0
      ],
      "target_basis": "fixture Work fixture 전면 파지면 z1.27; bench surface z1.045"
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S05",
      "x": 116.3,
      "y": 46.550000000000004,
      "angle": 2.9084128529429747,
      "task_station": "씰 공급 SCARA S05:3 전용 방향·품번 정렬 치구. 작업대 상면1.045m에 소형 .24m 앵커를 고정하고 약.411m 떨어진 정렬 치구 전면을 조작한다. 기존 reach0.6m와 짧은 Z축 범위를 유지한다. 정렬 완료 부품의 후속 기계 공급은 작업자/지그 인계이며 로봇이 먼 기계 중심까지 직접 도달한다고 표현하지 않는다.",
      "mounting_height_m": 0.765,
      "task_point": [
        115.9,
        46.645,
        1.27
      ],
      "host_equipment": {
        "stage_id": "S05",
        "index": 3
      },
      "task_fixture_id": "robot-1-1-supply-jig",
      "controller_offset": [
        1.252899043189106,
        -0.2985699040020628,
        0
      ],
      "target_basis": "fixture Work fixture 전면 파지면 z1.27; bench surface z1.045"
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S07",
      "x": 91.7,
      "y": 69.45,
      "angle": 0,
      "task_station": "누설·작동 시험 #2: 프레임과 공정 헤드 외측의 실제 입력 컨베이어 ↔ 캘리퍼 누설시험 인계 치구 S07:1. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S07",
        "index": 1
      },
      "gantry_span": [
        2.8,
        5.78,
        5.0
      ],
      "task_point": [
        91.7,
        69.45,
        1.2225
      ],
      "task_points": [
        [
          91.9,
          71.19000000000001,
          1.35
        ],
        [
          91.7,
          69.45,
          1.2225
        ]
      ],
      "task_fixture_id": "robot-2-0-handover",
      "controller_offset": [
        0.7,
        2.8400000000000003,
        0
      ],
      "target_basis": "프레임과 공정 헤드 외측의 실제 입력 컨베이어"
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S07",
      "x": 102.7,
      "y": 69.45,
      "angle": 0,
      "task_station": "누설·작동 시험 #4: 프레임과 공정 헤드 외측의 실제 입력 컨베이어 ↔ 캘리퍼 누설시험 인계 치구 S07:3. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S07",
        "index": 3
      },
      "gantry_span": [
        2.8,
        4.58,
        5.0
      ],
      "task_point": [
        102.7,
        69.45,
        1.2225
      ],
      "task_points": [
        [
          102.9,
          71.19000000000001,
          1.35
        ],
        [
          102.7,
          69.45,
          1.2225
        ]
      ],
      "task_fixture_id": "robot-2-1-handover",
      "controller_offset": [
        0.7,
        -2.24,
        0
      ],
      "target_basis": "프레임과 공정 헤드 외측의 실제 입력 컨베이어"
    }
  ],
  "logistics": [
    {
      "id": "S01→S02",
      "kind": "amr",
      "from": "S01:0",
      "to": "S02:0",
      "points": [
        [
          19.82,
          44.0,
          0.1
        ],
        [
          24.18,
          44.0,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S02→S03",
      "kind": "amr",
      "from": "S02:4",
      "to": "S03:0",
      "points": [
        [
          55.82,
          43.5,
          0.1
        ],
        [
          60.18,
          43.5,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S03→S04",
      "kind": "amr",
      "from": "S03:2",
      "to": "S04:0",
      "points": [
        [
          77.32,
          43.5,
          0.1
        ],
        [
          85.68,
          43.5,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S04→S05",
      "kind": "amr",
      "from": "S04:1",
      "to": "S05:0",
      "points": [
        [
          103.82,
          43.25,
          0.1
        ],
        [
          108.18,
          43.25,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S05→S06",
      "kind": "amr",
      "from": "S05:2",
      "to": "S06:3",
      "points": [
        [
          110.4,
          51.02,
          0.1
        ],
        [
          110.4,
          57.7,
          0.1
        ],
        [
          106.82,
          57.7,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S06→S07",
      "kind": "amr",
      "from": "S06:0",
      "to": "S07:0",
      "points": [
        [
          85.68,
          57.7,
          0.1
        ],
        [
          83.53,
          57.7,
          0.1
        ],
        [
          83.53,
          69.45,
          0.1
        ],
        [
          85.68,
          69.45,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S07→S08",
      "kind": "amr",
      "from": "S07:3",
      "to": "S08:0",
      "points": [
        [
          106.82,
          69.7,
          0.1
        ],
        [
          111.18,
          69.7,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "원료 도크→입고 인계 1",
      "kind": "amr",
      "width": 1.4,
      "from": "raw-dock",
      "to": "cast-store",
      "points": [
        [
          28.0,
          14,
          0.1
        ],
        [
          28.0,
          18.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "입고 인계→초공정 1",
      "kind": "amr",
      "width": 1.4,
      "from": "cast-store",
      "to": "S01:0",
      "points": [
        [
          28.0,
          18.0,
          0.1
        ],
        [
          28.0,
          17.48,
          0.1
        ],
        [
          13.03,
          17.48,
          0.1
        ],
        [
          13.03,
          43.25,
          0.1
        ],
        [
          15.18,
          43.25,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "최종검사→출하 대기 2",
      "kind": "amr",
      "width": 1.4,
      "from": "S08:0",
      "to": "dispatch-stock",
      "points": [
        [
          114.0,
          67.38,
          0.1
        ],
        [
          114.0,
          62.17,
          0.1
        ],
        [
          122.42,
          62.17,
          0.1
        ],
        [
          122.42,
          13.08,
          0.1
        ],
        [
          106.25,
          13.08,
          0.1
        ],
        [
          106.25,
          18.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "출하 대기→완제품 도크 2",
      "kind": "amr",
      "width": 1.4,
      "from": "dispatch-stock",
      "to": "shipping-dock",
      "points": [
        [
          106.25,
          18.0,
          0.1
        ],
        [
          106.25,
          14,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "정문→교대 탈의·휴게",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "gate",
      "to": "a04-staff",
      "points": [
        [
          68.5,
          7,
          0.1
        ],
        [
          70.02,
          7,
          0.1
        ],
        [
          70.02,
          19.0,
          0.1
        ],
        [
          66.6,
          19.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a04-staff→a04-office",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a04-staff",
      "to": "a04-office",
      "points": [
        [
          66.6,
          19.0,
          0.1
        ],
        [
          55.0,
          19.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a04-staff→a04-lab",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a04-staff",
      "to": "a04-lab",
      "points": [
        [
          66.6,
          19.0,
          0.1
        ],
        [
          76.8,
          19.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a04-staff→a04-maint",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a04-staff",
      "to": "a04-maint",
      "points": [
        [
          66.6,
          19.0,
          0.1
        ],
        [
          63.47,
          19.0,
          0.1
        ],
        [
          63.47,
          29.0,
          0.1
        ],
        [
          56.5,
          29.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a04-staff→a04-utility",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a04-staff",
      "to": "a04-utility",
      "points": [
        [
          66.6,
          19.0,
          0.1
        ],
        [
          73.5,
          19.0,
          0.1
        ],
        [
          73.5,
          29.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    }
  ],
  "yard": {
    "roads": [
      {
        "points": [
          [
            7,
            7
          ],
          [
            130,
            7
          ],
          [
            130,
            81
          ],
          [
            7,
            81
          ],
          [
            7,
            7
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 28.0,
        "y": 14,
        "angle": 0,
        "building_id": "cast-store",
        "role": "원료·구매부품 입고 도크 — 주조품·구매품 분리 보관 도크"
      },
      {
        "x": 106.25,
        "y": 14,
        "angle": 0,
        "building_id": "dispatch-stock",
        "role": "캘리퍼 납품·반환용기 창고 출하"
      }
    ],
    "parking": [
      {
        "x": 15,
        "y": 79.2,
        "angle": 0,
        "count": 20
      }
    ],
    "gate": {
      "x": 68.5,
      "y": 7
    },
    "fence": true
  },
  "landmarks": [
    "짙은 습식 가공 박공동",
    "밝은 평지붕 씰 조립동",
    "조립동 끝에 꺾여 붙은 시험·포장실",
    "로트 트레이 랙과 보어 게이지 준비대",
    "캘리퍼 납품·반환용기 창고을 갖춘 실제 랙·전용대 출하 전면"
  ],
  "openings": [
    {
      "id": "opening-1",
      "building_id": "machining",
      "x": 78.5,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ]
    },
    {
      "id": "opening-2",
      "building_id": "machining",
      "x": 78.5,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ],
      "zone_id": "machining"
    },
    {
      "id": "opening-3",
      "building_id": "clean",
      "x": 84.5,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ]
    },
    {
      "id": "opening-4",
      "building_id": "clean",
      "x": 84.5,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ],
      "zone_id": "clean"
    },
    {
      "id": "opening-5",
      "building_id": "clean",
      "x": 119.1,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S06",
        "S07"
      ]
    },
    {
      "id": "opening-6",
      "building_id": "clean",
      "x": 119.1,
      "y": 40.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S06",
        "S07"
      ],
      "zone_id": "clean"
    },
    {
      "id": "opening-7",
      "building_id": "test",
      "x": 84.5,
      "y": 67.0,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S06",
        "S07"
      ]
    },
    {
      "id": "opening-8",
      "building_id": "test",
      "x": 84.5,
      "y": 67.0,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S06",
        "S07"
      ],
      "zone_id": "test"
    },
    {
      "id": "routing-r1-009",
      "building_id": "machining",
      "x": 78.5,
      "y": 43.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:2",
        "S04:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-010",
      "building_id": "clean",
      "x": 84.5,
      "y": 43.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:2",
        "S04:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-011",
      "building_id": "machining",
      "x": 78.5,
      "y": 43.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:2",
        "S04:0"
      ],
      "kind": "material_door",
      "zone_id": "machining"
    },
    {
      "id": "routing-r1-012",
      "building_id": "clean",
      "x": 84.5,
      "y": 43.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:2",
        "S04:0"
      ],
      "kind": "material_door",
      "zone_id": "clean"
    },
    {
      "id": "routing-r1-013",
      "building_id": "clean",
      "x": 84.5,
      "y": 57.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S06:0",
        "S07:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-014",
      "building_id": "clean",
      "x": 84.5,
      "y": 57.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S06:0",
        "S07:0"
      ],
      "kind": "material_door",
      "zone_id": "clean"
    },
    {
      "id": "routing-r1-015",
      "building_id": "test",
      "x": 84.5,
      "y": 69.45,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S06:0",
        "S07:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-016",
      "building_id": "test",
      "x": 84.5,
      "y": 69.45,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S06:0",
        "S07:0"
      ],
      "kind": "material_door",
      "zone_id": "test"
    },
    {
      "id": "routing-r1-017",
      "building_id": "cast-store",
      "x": 28.0,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "raw-dock",
        "cast-store"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-018",
      "building_id": "cast-store",
      "x": 14,
      "y": 17.48,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "cast-store",
        "S01:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-019",
      "building_id": "machining",
      "x": 14,
      "y": 43.25,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "cast-store",
        "S01:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-020",
      "building_id": "machining",
      "x": 14,
      "y": 43.25,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "cast-store",
        "S01:0"
      ],
      "kind": "material_door",
      "zone_id": "machining"
    },
    {
      "id": "routing-r1-021",
      "building_id": "test",
      "x": 114.0,
      "y": 66.2,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:0",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-022",
      "building_id": "test",
      "x": 114.0,
      "y": 66.2,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:0",
        "dispatch-stock"
      ],
      "kind": "material_door",
      "zone_id": "test"
    },
    {
      "id": "routing-r1-023",
      "building_id": "dispatch-stock",
      "x": 122.42,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:0",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-024",
      "building_id": "dispatch-stock",
      "x": 122.42,
      "y": 34,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:0",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-025",
      "building_id": "dispatch-stock",
      "x": 106.25,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:0",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-026",
      "building_id": "support",
      "x": 70.02,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a04-staff"
      ],
      "kind": "pedestrian_door"
    },
    {
      "id": "routing-r1-027",
      "building_id": "support",
      "x": 70.02,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a04-staff"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-staff"
    },
    {
      "id": "routing-r1-028",
      "building_id": "support",
      "x": 61.6,
      "y": 19.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a04-staff",
        "a04-office"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-office"
    },
    {
      "id": "routing-r1-029",
      "building_id": "support",
      "x": 61.6,
      "y": 19.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a04-staff",
        "a04-office"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-staff"
    },
    {
      "id": "routing-r1-030",
      "building_id": "support",
      "x": 71.8,
      "y": 19.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a04-staff",
        "a04-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-staff"
    },
    {
      "id": "routing-r1-031",
      "building_id": "support",
      "x": 71.8,
      "y": 19.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a04-staff",
        "a04-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-lab"
    },
    {
      "id": "routing-r1-032",
      "building_id": "support",
      "x": 63.47,
      "y": 24.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a04-staff",
        "a04-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-staff"
    },
    {
      "id": "routing-r1-033",
      "building_id": "support",
      "x": 63.47,
      "y": 24.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a04-staff",
        "a04-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-maint"
    },
    {
      "id": "routing-r1-034",
      "building_id": "support",
      "x": 73.5,
      "y": 24.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a04-staff",
        "a04-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-lab"
    },
    {
      "id": "routing-r1-035",
      "building_id": "support",
      "x": 73.5,
      "y": 24.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a04-staff",
        "a04-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a04-utility"
    }
  ],
  "density": {
    "intent": "설비 바닥 398.00㎡ / 제조 구획 1987.47㎡ = 20.03%. 개별 생산 셀의 서비스 간격·공정 인계와 실제 원부자재·정비·검사 시설을 먼저 구성했다. 빈 바닥을 채우기 위한 임의 장식 상자를 사용하지 않는다.",
    "production_area_m2": 1987.4699999999998,
    "storage_area_m2": 1290.0,
    "support_area_m2": 680.0,
    "circulation_area_m2": 0
  },
  "authoring_note": "개별 배치안. 형상·동작·피난·법정 안전설계 검수 및 시각 검수는 별도 수행해야 하며 공개 릴리스 승인 아님.",
  "routing_revision": 2
}
