{
  "factory_id": "A03",
  "design_revision": 2,
  "design_story": "은결은 황삭·열처리·정밀연삭의 진동과 온도를 분리한 기어 공장이다. 원형 블랭크를 다루는 서쪽 가공동의 반복적인 소형 설비열은 동쪽 긴 침탄로와 대조된다. 뜨거운 로트는 북쪽 세척 인계실을 거쳐 낮은 항온 연삭동으로 돌아오므로 가공유와 완제품 방청 포장이 교차하지 않는다. 지붕은 가공동의 북향 톱니, 열처리동의 높은 박공, 연삭동의 평지붕으로 구별한다. 블랭크와 기어 전용 치구는 서로 다른 랙에 두고 소음 검사실은 열처리 배기에서 먼 모서리에 둔다.",
  "site": {
    "width": 149,
    "depth": 99
  },
  "buildings": [
    {
      "id": "rough",
      "name": "블랭크 선삭·호빙·디버링동",
      "role": "production",
      "polygon": [
        [
          14,
          42
        ],
        [
          86.5,
          42
        ],
        [
          86.5,
          55.6
        ],
        [
          14,
          55.6
        ]
      ],
      "height": 6.2,
      "roof": {
        "type": "sawtooth",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.52,
          0.61,
          0.65
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "thermal",
      "name": "침탄·담금질·열처리 세척동",
      "role": "production",
      "polygon": [
        [
          92.5,
          42
        ],
        [
          136.5,
          42
        ],
        [
          136.5,
          63.0
        ],
        [
          92.5,
          63.0
        ]
      ],
      "height": 11,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.35,
          0.39,
          0.42
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "precision",
      "name": "항온 연삭·소음검사·방청동",
      "role": "production",
      "polygon": [
        [
          14,
          61.6
        ],
        [
          54.0,
          61.6
        ],
        [
          54.0,
          84.8
        ],
        [
          14,
          84.8
        ]
      ],
      "height": 6.2,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.74,
          0.77,
          0.73
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "blank",
      "name": "블랭크·열처리 치구 보관",
      "role": "warehouse",
      "polygon": [
        [
          14,
          14
        ],
        [
          50,
          14
        ],
        [
          50,
          36
        ],
        [
          14,
          36
        ]
      ],
      "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": [
        [
          56,
          14
        ],
        [
          96.0,
          14
        ],
        [
          96.0,
          36.0
        ],
        [
          56,
          36.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": [
        [
          102.0,
          14
        ],
        [
          136.5,
          14
        ],
        [
          136.5,
          36
        ],
        [
          102.0,
          36
        ]
      ],
      "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": "rough",
      "name": "블랭크 선삭·호빙·디버링동",
      "role": "process",
      "building_id": "rough",
      "x": 14,
      "y": 42,
      "width": 72.5,
      "depth": 13.6,
      "stage_ids": [
        "S01",
        "S02",
        "S03"
      ],
      "fixtures": [
        {
          "id": "rough-bin_rack-01",
          "type": "bin_rack",
          "x": 45.0,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 1 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-bin_rack-02",
          "type": "bin_rack",
          "x": 47.45,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 2 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-bin_rack-03",
          "type": "bin_rack",
          "x": 49.9,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 3 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-bin_rack-04",
          "type": "bin_rack",
          "x": 52.35,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 4 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-bin_rack-05",
          "type": "bin_rack",
          "x": 54.8,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 5 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-bin_rack-06",
          "type": "bin_rack",
          "x": 57.25,
          "y": 43.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "선삭척·호브·모따기 공구 6 · 호빙측 남벽 공구 서비스 띠"
        },
        {
          "id": "rough-workbench-01",
          "type": "workbench",
          "x": 60.2,
          "y": 43.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "공구 프리셋 1 · 공구랙 옆 프리셋"
        },
        {
          "id": "rough-workbench-02",
          "type": "workbench",
          "x": 62.800000000000004,
          "y": 43.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "공구 프리셋 2 · 공구랙 옆 프리셋"
        },
        {
          "id": "rough-workbench-03",
          "type": "workbench",
          "x": 65.4,
          "y": 43.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "공구 프리셋 3 · 공구랙 옆 프리셋"
        },
        {
          "id": "rough-worktable-01",
          "type": "worktable",
          "x": 68.525,
          "y": 54.625,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "호빙 공구 프리셋 대차 1"
        },
        {
          "id": "rough-worktable-02",
          "type": "worktable",
          "x": 52.125,
          "y": 54.625,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "호빙 공구 프리셋 대차 2"
        },
        {
          "id": "rough-worktable-03",
          "type": "worktable",
          "x": 62.375,
          "y": 54.625,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "호빙 공구 프리셋 대차 3"
        },
        {
          "id": "rough-worktable-04",
          "type": "worktable",
          "x": 68.525,
          "y": 42.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "호빙 공구 프리셋 대차 4"
        },
        {
          "id": "robot-0-0-handover",
          "type": "workbench",
          "x": 17.75,
          "y": 43.35,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:0"
        },
        {
          "id": "robot-0-1-handover",
          "type": "workbench",
          "x": 29.75,
          "y": 43.35,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:2"
        },
        {
          "id": "robot-0-2-handover",
          "type": "workbench",
          "x": 41.75,
          "y": 43.35,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:4"
        },
        {
          "id": "robot-0-3-handover",
          "type": "workbench",
          "x": 17.75,
          "y": 53.85,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:5"
        },
        {
          "id": "robot-0-4-handover",
          "type": "workbench",
          "x": 29.75,
          "y": 53.85,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:7"
        },
        {
          "id": "robot-0-5-handover",
          "type": "workbench",
          "x": 41.75,
          "y": 53.85,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "기어 블랭크·가공품 분리 트레이 S01:9"
        }
      ]
    },
    {
      "id": "thermal",
      "name": "침탄·담금질·열처리 세척동",
      "role": "process",
      "building_id": "thermal",
      "x": 92.5,
      "y": 42,
      "width": 44,
      "depth": 21.0,
      "stage_ids": [
        "S04",
        "S05"
      ],
      "fixtures": [
        {
          "id": "thermal-floor_pallets-01",
          "type": "floor_pallets",
          "x": 94.1,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 1"
        },
        {
          "id": "thermal-floor_pallets-02",
          "type": "floor_pallets",
          "x": 96.9,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 2"
        },
        {
          "id": "thermal-floor_pallets-03",
          "type": "floor_pallets",
          "x": 105.3,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 3"
        },
        {
          "id": "thermal-floor_pallets-04",
          "type": "floor_pallets",
          "x": 108.1,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 4"
        },
        {
          "id": "thermal-floor_pallets-05",
          "type": "floor_pallets",
          "x": 110.9,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 5"
        },
        {
          "id": "thermal-floor_pallets-06",
          "type": "floor_pallets",
          "x": 113.7,
          "y": 43.35,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "내열 열처리 치구 6"
        },
        {
          "id": "thermal-pipe_rack-01",
          "type": "pipe_rack",
          "x": 118.8,
          "y": 43.1,
          "width": 5,
          "depth": 1,
          "height": 5,
          "count": 1,
          "label": "침탄로 냉각·배기 서비스 1"
        },
        {
          "id": "thermal-pipe_rack-02",
          "type": "pipe_rack",
          "x": 113.0,
          "y": 61.5,
          "width": 5,
          "depth": 1,
          "height": 5,
          "count": 1,
          "label": "침탄로 냉각·배기 서비스 2"
        }
      ]
    },
    {
      "id": "precision",
      "name": "항온 연삭·소음검사·방청동",
      "role": "process",
      "building_id": "precision",
      "x": 14,
      "y": 61.6,
      "width": 40.0,
      "depth": 23.2,
      "stage_ids": [
        "S06",
        "S07",
        "S08"
      ],
      "fixtures": [
        {
          "id": "precision-cabinet-01",
          "type": "cabinet",
          "x": 15.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 1"
        },
        {
          "id": "precision-cabinet-02",
          "type": "cabinet",
          "x": 17.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 2"
        },
        {
          "id": "precision-cabinet-03",
          "type": "cabinet",
          "x": 19.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 3"
        },
        {
          "id": "precision-cabinet-04",
          "type": "cabinet",
          "x": 21.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 4"
        },
        {
          "id": "precision-cabinet-05",
          "type": "cabinet",
          "x": 23.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 5"
        },
        {
          "id": "precision-cabinet-06",
          "type": "cabinet",
          "x": 25.2,
          "y": 62.5,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "드레서·기준 기어 6"
        },
        {
          "id": "precision-lab_bench-01",
          "type": "lab_bench",
          "x": 28.5,
          "y": 62.6,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "기어 표면·소음 재판정 1"
        },
        {
          "id": "precision-lab_bench-02",
          "type": "lab_bench",
          "x": 31.1,
          "y": 62.6,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "기어 표면·소음 재판정 2"
        },
        {
          "id": "precision-lab_bench-03",
          "type": "lab_bench",
          "x": 33.7,
          "y": 62.6,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "기어 표면·소음 재판정 3"
        },
        {
          "id": "precision-product_bins-01",
          "type": "product_bins",
          "x": 37.775,
          "y": 62.525,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "연삭 전후 기어 소형 트레이 1"
        },
        {
          "id": "precision-product_bins-02",
          "type": "product_bins",
          "x": 37.775,
          "y": 68.375,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "연삭 전후 기어 소형 트레이 2"
        },
        {
          "id": "precision-product_bins-03",
          "type": "product_bins",
          "x": 31.625,
          "y": 68.375,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "연삭 전후 기어 소형 트레이 3"
        },
        {
          "id": "precision-product_bins-04",
          "type": "product_bins",
          "x": 17.275,
          "y": 68.375,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "연삭 전후 기어 소형 트레이 4"
        },
        {
          "id": "precision-product_bins-05",
          "type": "product_bins",
          "x": 21.375,
          "y": 72.275,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "연삭 전후 기어 소형 트레이 5"
        }
      ]
    },
    {
      "id": "blank",
      "name": "블랭크·열처리 치구 보관",
      "role": "warehouse",
      "building_id": "blank",
      "x": 14,
      "y": 14,
      "width": 36,
      "depth": 22,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "blank-pallet_rack-01",
          "type": "pallet_rack",
          "x": 15.85,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 1"
        },
        {
          "id": "blank-pallet_rack-02",
          "type": "pallet_rack",
          "x": 19.0,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 2"
        },
        {
          "id": "blank-pallet_rack-03",
          "type": "pallet_rack",
          "x": 22.15,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 3"
        },
        {
          "id": "blank-pallet_rack-04",
          "type": "pallet_rack",
          "x": 25.3,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 4"
        },
        {
          "id": "blank-pallet_rack-05",
          "type": "pallet_rack",
          "x": 28.45,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 5"
        },
        {
          "id": "blank-pallet_rack-06",
          "type": "pallet_rack",
          "x": 32.25,
          "y": 21.0,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 6"
        },
        {
          "id": "blank-pallet_rack-07",
          "type": "pallet_rack",
          "x": 34.75,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 7"
        },
        {
          "id": "blank-pallet_rack-08",
          "type": "pallet_rack",
          "x": 37.9,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 8"
        },
        {
          "id": "blank-pallet_rack-09",
          "type": "pallet_rack",
          "x": 41.05,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 9"
        },
        {
          "id": "blank-pallet_rack-10",
          "type": "pallet_rack",
          "x": 44.2,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 10"
        },
        {
          "id": "blank-pallet_rack-11",
          "type": "pallet_rack",
          "x": 47.35,
          "y": 15.2,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 11"
        },
        {
          "id": "blank-pallet_rack-12",
          "type": "pallet_rack",
          "x": 15.85,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 12"
        },
        {
          "id": "blank-pallet_rack-13",
          "type": "pallet_rack",
          "x": 19.0,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 13"
        },
        {
          "id": "blank-pallet_rack-14",
          "type": "pallet_rack",
          "x": 22.15,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 14"
        },
        {
          "id": "blank-pallet_rack-15",
          "type": "pallet_rack",
          "x": 25.3,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 15"
        },
        {
          "id": "blank-pallet_rack-16",
          "type": "pallet_rack",
          "x": 28.45,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 16"
        },
        {
          "id": "blank-pallet_rack-17",
          "type": "pallet_rack",
          "x": 35.25,
          "y": 21.0,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 17"
        },
        {
          "id": "blank-pallet_rack-18",
          "type": "pallet_rack",
          "x": 34.75,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 18"
        },
        {
          "id": "blank-pallet_rack-19",
          "type": "pallet_rack",
          "x": 37.9,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 19"
        },
        {
          "id": "blank-pallet_rack-20",
          "type": "pallet_rack",
          "x": 41.05,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 20"
        },
        {
          "id": "blank-pallet_rack-21",
          "type": "pallet_rack",
          "x": 44.2,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 21"
        },
        {
          "id": "blank-pallet_rack-22",
          "type": "pallet_rack",
          "x": 47.35,
          "y": 18.9,
          "width": 2.5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "강종별 기어 블랭크 22"
        },
        {
          "id": "blank-floor_pallets-01",
          "type": "floor_pallets",
          "x": 15.6,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 1"
        },
        {
          "id": "blank-floor_pallets-02",
          "type": "floor_pallets",
          "x": 18.4,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 2"
        },
        {
          "id": "blank-floor_pallets-03",
          "type": "floor_pallets",
          "x": 21.2,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 3"
        },
        {
          "id": "blank-floor_pallets-04",
          "type": "floor_pallets",
          "x": 24.0,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 4"
        },
        {
          "id": "blank-floor_pallets-05",
          "type": "floor_pallets",
          "x": 26.8,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 5"
        },
        {
          "id": "blank-floor_pallets-06",
          "type": "floor_pallets",
          "x": 29.6,
          "y": 20.95,
          "width": 2,
          "depth": 1.5,
          "height": 1.4,
          "count": 1,
          "label": "침탄 전 로트 트레이 6"
        }
      ]
    },
    {
      "id": "a03-office",
      "name": "생산·품질 사무실",
      "role": "office",
      "building_id": "support",
      "x": 56,
      "y": 14,
      "width": 16.0,
      "depth": 11.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a03-office-office_desks-01",
          "type": "office_desks",
          "x": 57.85,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 1"
        },
        {
          "id": "a03-office-office_desks-02",
          "type": "office_desks",
          "x": 61.15,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 2"
        },
        {
          "id": "a03-office-office_desks-03",
          "type": "office_desks",
          "x": 64.45,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 3"
        }
      ]
    },
    {
      "id": "a03-staff",
      "name": "교대 탈의·휴게",
      "role": "staff",
      "building_id": "support",
      "x": 72.0,
      "y": 14,
      "width": 12.0,
      "depth": 11.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a03-staff-locker_bank-01",
          "type": "locker_bank",
          "x": 73.5,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 1"
        },
        {
          "id": "a03-staff-locker_bank-02",
          "type": "locker_bank",
          "x": 76.1,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 2"
        },
        {
          "id": "a03-staff-locker_bank-03",
          "type": "locker_bank",
          "x": 78.7,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 3"
        },
        {
          "id": "a03-staff-locker_bank-04",
          "type": "locker_bank",
          "x": 81.3,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 4"
        },
        {
          "id": "a03-staff-worktable-01",
          "type": "worktable",
          "x": 73.4,
          "y": 17.1,
          "width": 1.6,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "휴게 테이블 1"
        }
      ]
    },
    {
      "id": "a03-lab",
      "name": "치형·조도 기준 측정",
      "role": "laboratory",
      "building_id": "support",
      "x": 84.0,
      "y": 14,
      "width": 12.0,
      "depth": 11.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a03-lab-lab_bench-01",
          "type": "lab_bench",
          "x": 85.5,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "치형·조도 기준 측정 1"
        },
        {
          "id": "a03-lab-lab_bench-02",
          "type": "lab_bench",
          "x": 88.1,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "치형·조도 기준 측정 2"
        },
        {
          "id": "a03-lab-lab_bench-03",
          "type": "lab_bench",
          "x": 90.7,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "치형·조도 기준 측정 3"
        }
      ]
    },
    {
      "id": "a03-maint",
      "name": "호브·연삭축 정비",
      "role": "maintenance",
      "building_id": "support",
      "x": 56,
      "y": 25.0,
      "width": 20.0,
      "depth": 11.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a03-maint-workbench-01",
          "type": "workbench",
          "x": 57.6,
          "y": 26.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "호브·연삭축 정비 1"
        },
        {
          "id": "a03-maint-workbench-02",
          "type": "workbench",
          "x": 60.4,
          "y": 26.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "호브·연삭축 정비 2"
        },
        {
          "id": "a03-maint-workbench-03",
          "type": "workbench",
          "x": 63.2,
          "y": 26.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "호브·연삭축 정비 3"
        },
        {
          "id": "a03-maint-bin_rack-01",
          "type": "bin_rack",
          "x": 67.3,
          "y": 26.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 1"
        },
        {
          "id": "a03-maint-bin_rack-02",
          "type": "bin_rack",
          "x": 69.75,
          "y": 26.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 2"
        },
        {
          "id": "a03-maint-bin_rack-03",
          "type": "bin_rack",
          "x": 72.2,
          "y": 26.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 3"
        }
      ]
    },
    {
      "id": "a03-utility",
      "name": "공압·배전·냉각",
      "role": "utility",
      "building_id": "support",
      "x": 76.0,
      "y": 25.0,
      "width": 20.0,
      "depth": 11.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a03-utility-compressor-01",
          "type": "compressor",
          "x": 77.85,
          "y": 26.35,
          "width": 2.5,
          "depth": 1.5,
          "height": 2,
          "count": 1,
          "label": "공압 공급 1"
        },
        {
          "id": "a03-utility-chiller-01",
          "type": "chiller",
          "x": 81.9,
          "y": 26.5,
          "width": 3,
          "depth": 1.8,
          "height": 2.3,
          "count": 1,
          "label": "공정 냉각 1"
        },
        {
          "id": "a03-utility-electrical_bank-01",
          "type": "electrical_bank",
          "x": 86.55,
          "y": 25.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 1"
        },
        {
          "id": "a03-utility-electrical_bank-02",
          "type": "electrical_bank",
          "x": 88.85,
          "y": 25.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 2"
        },
        {
          "id": "a03-utility-electrical_bank-03",
          "type": "electrical_bank",
          "x": 91.15,
          "y": 25.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 3"
        }
      ]
    },
    {
      "id": "dispatch-stock",
      "name": "방청 기어 납품 창고",
      "role": "warehouse",
      "building_id": "dispatch-stock",
      "x": 102.0,
      "y": 14,
      "width": 34.5,
      "depth": 22,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "dispatch-stock-pallet_rack-01",
          "type": "pallet_rack",
          "x": 103.8,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 1"
        },
        {
          "id": "dispatch-stock-pallet_rack-02",
          "type": "pallet_rack",
          "x": 106.85,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 2"
        },
        {
          "id": "dispatch-stock-pallet_rack-03",
          "type": "pallet_rack",
          "x": 109.9,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 3"
        },
        {
          "id": "dispatch-stock-pallet_rack-04",
          "type": "pallet_rack",
          "x": 112.95,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 4"
        },
        {
          "id": "dispatch-stock-pallet_rack-05",
          "type": "pallet_rack",
          "x": 116.0,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 5"
        },
        {
          "id": "dispatch-stock-pallet_rack-06",
          "type": "pallet_rack",
          "x": 121.2,
          "y": 21.0,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 6"
        },
        {
          "id": "dispatch-stock-pallet_rack-07",
          "type": "pallet_rack",
          "x": 122.1,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 7"
        },
        {
          "id": "dispatch-stock-pallet_rack-08",
          "type": "pallet_rack",
          "x": 125.15,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 8"
        },
        {
          "id": "dispatch-stock-pallet_rack-09",
          "type": "pallet_rack",
          "x": 128.2,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 9"
        },
        {
          "id": "dispatch-stock-pallet_rack-10",
          "type": "pallet_rack",
          "x": 131.25,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 10"
        },
        {
          "id": "dispatch-stock-pallet_rack-11",
          "type": "pallet_rack",
          "x": 134.3,
          "y": 15.2,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 11"
        },
        {
          "id": "dispatch-stock-pallet_rack-12",
          "type": "pallet_rack",
          "x": 103.8,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 12"
        },
        {
          "id": "dispatch-stock-pallet_rack-13",
          "type": "pallet_rack",
          "x": 106.85,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 13"
        },
        {
          "id": "dispatch-stock-pallet_rack-14",
          "type": "pallet_rack",
          "x": 109.9,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 14"
        },
        {
          "id": "dispatch-stock-pallet_rack-15",
          "type": "pallet_rack",
          "x": 112.95,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 15"
        },
        {
          "id": "dispatch-stock-pallet_rack-16",
          "type": "pallet_rack",
          "x": 116.0,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 16"
        },
        {
          "id": "dispatch-stock-pallet_rack-17",
          "type": "pallet_rack",
          "x": 118.7,
          "y": 19.5,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 17"
        },
        {
          "id": "dispatch-stock-pallet_rack-18",
          "type": "pallet_rack",
          "x": 122.1,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 18"
        },
        {
          "id": "dispatch-stock-pallet_rack-19",
          "type": "pallet_rack",
          "x": 125.15,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 19"
        },
        {
          "id": "dispatch-stock-pallet_rack-20",
          "type": "pallet_rack",
          "x": 128.2,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 20"
        },
        {
          "id": "dispatch-stock-pallet_rack-21",
          "type": "pallet_rack",
          "x": 131.25,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 21"
        },
        {
          "id": "dispatch-stock-pallet_rack-22",
          "type": "pallet_rack",
          "x": 134.3,
          "y": 18.9,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 22"
        },
        {
          "id": "dispatch-stock-pallet_rack-23",
          "type": "pallet_rack",
          "x": 103.8,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 23"
        },
        {
          "id": "dispatch-stock-pallet_rack-24",
          "type": "pallet_rack",
          "x": 106.85,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 24"
        },
        {
          "id": "dispatch-stock-pallet_rack-25",
          "type": "pallet_rack",
          "x": 109.9,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 25"
        },
        {
          "id": "dispatch-stock-pallet_rack-26",
          "type": "pallet_rack",
          "x": 112.95,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 26"
        },
        {
          "id": "dispatch-stock-pallet_rack-27",
          "type": "pallet_rack",
          "x": 116.0,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 27"
        },
        {
          "id": "dispatch-stock-pallet_rack-28",
          "type": "pallet_rack",
          "x": 119.05,
          "y": 22.6,
          "width": 2.4,
          "depth": 1.0,
          "height": 4.5,
          "count": 1,
          "label": "납품 로트별 포장 기어 28"
        }
      ]
    }
  ],
  "equipment": [
    {
      "stage_id": "S01",
      "index": 0,
      "x": 17.75,
      "y": 45.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 23.75,
      "y": 45.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 2,
      "x": 29.75,
      "y": 45.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 3,
      "x": 35.75,
      "y": 45.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 4,
      "x": 41.75,
      "y": 45.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 5,
      "x": 17.75,
      "y": 51.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 6,
      "x": 23.75,
      "y": 51.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 7,
      "x": 29.75,
      "y": 51.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 8,
      "x": 35.75,
      "y": 51.7,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 9,
      "x": 41.75,
      "y": 51.7,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 51.25,
      "y": 45.6,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 57.25,
      "y": 45.6,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 2,
      "x": 63.25,
      "y": 45.6,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 3,
      "x": 69.25,
      "y": 45.6,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 4,
      "x": 51.25,
      "y": 52.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 5,
      "x": 57.25,
      "y": 52.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 6,
      "x": 63.25,
      "y": 52.0,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 7,
      "x": 69.25,
      "y": 52.0,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 78.25,
      "y": 45.25,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 83.25,
      "y": 45.25,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 78.25,
      "y": 50.95,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 3,
      "x": 83.25,
      "y": 50.95,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 100.5,
      "y": 48.0,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 114.5,
      "y": 48.0,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 2,
      "x": 128.5,
      "y": 48.0,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 97.0,
      "y": 59.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 104.5,
      "y": 59.5,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 18.0,
      "y": 65.35,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 24.5,
      "y": 65.35,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 2,
      "x": 31.0,
      "y": 65.35,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 3,
      "x": 37.5,
      "y": 65.35,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 4,
      "x": 18.0,
      "y": 72.05,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 5,
      "x": 24.5,
      "y": 72.05,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 6,
      "x": 31.0,
      "y": 72.05,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 7,
      "x": 37.5,
      "y": 72.05,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 17.5,
      "y": 81.3,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 23.0,
      "y": 81.3,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 2,
      "x": 28.5,
      "y": 81.3,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 3,
      "x": 34.0,
      "y": 81.3,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 43.5,
      "y": 81.3,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 50.0,
      "y": 81.3,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S01",
      "x": 17.75,
      "y": 44.7,
      "angle": 0,
      "task_station": "블랭크 선삭 #1: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:0. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 0
      },
      "gantry_span": [
        4.0,
        3.48,
        5.0
      ],
      "task_point": [
        17.75,
        45.23,
        2.0818
      ],
      "task_points": [
        [
          17.95,
          43.51,
          1.35
        ],
        [
          17.75,
          45.23,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-0-handover",
      "controller_offset": [
        1.3,
        -1.69,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 0,
      "instance_index": 1,
      "stage_id": "S01",
      "x": 29.75,
      "y": 44.7,
      "angle": 0,
      "task_station": "블랭크 선삭 #3: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:2. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 2
      },
      "gantry_span": [
        4.0,
        3.48,
        5.0
      ],
      "task_point": [
        29.75,
        45.23,
        2.0818
      ],
      "task_points": [
        [
          29.95,
          43.51,
          1.35
        ],
        [
          29.75,
          45.23,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-1-handover",
      "controller_offset": [
        1.3,
        -1.69,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 0,
      "instance_index": 2,
      "stage_id": "S01",
      "x": 41.75,
      "y": 45.5,
      "angle": 0,
      "task_station": "블랭크 선삭 #5: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:4. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 4
      },
      "gantry_span": [
        2.8,
        5.08,
        5.0
      ],
      "task_point": [
        41.75,
        45.23,
        2.0818
      ],
      "task_points": [
        [
          41.95,
          43.51,
          1.35
        ],
        [
          41.75,
          45.23,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-2-handover",
      "controller_offset": [
        0.7,
        2.49,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 0,
      "instance_index": 3,
      "stage_id": "S01",
      "x": 17.75,
      "y": 51.7,
      "angle": 0,
      "task_station": "블랭크 선삭 #6: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:5. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 5
      },
      "gantry_span": [
        2.8,
        5.08,
        5.0
      ],
      "task_point": [
        17.75,
        51.43,
        2.0818
      ],
      "task_points": [
        [
          17.95,
          53.690000000000005,
          1.35
        ],
        [
          17.75,
          51.43,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-3-handover",
      "controller_offset": [
        0.7,
        -2.49,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 0,
      "instance_index": 4,
      "stage_id": "S01",
      "x": 29.75,
      "y": 51.7,
      "angle": 0,
      "task_station": "블랭크 선삭 #8: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:7. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 7
      },
      "gantry_span": [
        2.8,
        5.08,
        5.0
      ],
      "task_point": [
        29.75,
        51.43,
        2.0818
      ],
      "task_points": [
        [
          29.95,
          53.690000000000005,
          1.35
        ],
        [
          29.75,
          51.43,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-4-handover",
      "controller_offset": [
        0.7,
        -2.49,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 0,
      "instance_index": 5,
      "stage_id": "S01",
      "x": 41.75,
      "y": 51.7,
      "angle": 0,
      "task_station": "블랭크 선삭 #10: Pallet fixture 상면 ↔ 기어 블랭크·가공품 분리 트레이 S01:9. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S01",
        "index": 9
      },
      "gantry_span": [
        2.8,
        5.08,
        5.0
      ],
      "task_point": [
        41.75,
        51.43,
        2.0818
      ],
      "task_points": [
        [
          41.95,
          53.690000000000005,
          1.35
        ],
        [
          41.75,
          51.43,
          2.0818
        ]
      ],
      "task_fixture_id": "robot-0-5-handover",
      "controller_offset": [
        0.7,
        -2.49,
        0
      ],
      "target_basis": "Pallet fixture 상면"
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S04",
      "x": 100.5,
      "y": 43.75,
      "angle": 1.5707963267948966,
      "task_station": "침탄·담금질·뜨임 1호의 남측 작업면. 차가운 기어를 장입 지그에 일정 방향으로 적재한다."
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S04",
      "x": 128.5,
      "y": 43.75,
      "angle": 1.5707963267948966,
      "task_station": "침탄·담금질·뜨임 3호의 남측 작업면. 차가운 기어를 장입 지그에 일정 방향으로 적재한다."
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S03",
      "x": 78.25,
      "y": 42.75,
      "angle": 1.5707963267948966,
      "task_station": "치끝 모따기·디버링 1호의 남측 작업면. 열처리 전후의 분리 경로를 따라 트레이를 운반한다."
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S05",
      "x": 97.0,
      "y": 56.75,
      "angle": 1.5707963267948966,
      "task_station": "열처리 후 세척 1호의 남측 작업면. 열처리 전후의 분리 경로를 따라 트레이를 운반한다."
    },
    {
      "definition_index": 2,
      "instance_index": 2,
      "stage_id": "S08",
      "x": 50.0,
      "y": 78.55,
      "angle": 1.5707963267948966,
      "task_station": "방청·개별 포장 2호의 남측 작업면. 열처리 전후의 분리 경로를 따라 트레이를 운반한다."
    }
  ],
  "logistics": [
    {
      "id": "S01→S02",
      "kind": "amr",
      "from": "S01:4",
      "to": "S02:0",
      "points": [
        [
          44.32,
          45.6,
          0.1
        ],
        [
          48.68,
          45.6,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S02→S03",
      "kind": "amr",
      "from": "S02:3",
      "to": "S03:0",
      "points": [
        [
          71.82,
          45.25,
          0.1
        ],
        [
          76.18,
          45.25,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S03→S04",
      "kind": "amr",
      "from": "S03:1",
      "to": "S04:0",
      "points": [
        [
          83.25,
          47.32,
          0.1
        ],
        [
          83.25,
          48.0,
          0.1
        ],
        [
          94.68,
          48.0,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S04→S05",
      "kind": "amr",
      "from": "S04:0",
      "to": "S05:0",
      "points": [
        [
          100.5,
          51.82,
          0.1
        ],
        [
          100.5,
          59.5,
          0.1
        ],
        [
          100.32,
          59.5,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S05→S06",
      "kind": "amr",
      "from": "S05:0",
      "to": "S06:3",
      "points": [
        [
          97.0,
          61.82,
          0.1
        ],
        [
          97.0,
          65.35,
          0.1
        ],
        [
          40.32,
          65.35,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S06→S07",
      "kind": "amr",
      "from": "S06:4",
      "to": "S07:0",
      "points": [
        [
          18.0,
          74.62,
          0.1
        ],
        [
          18.0,
          78.98,
          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": [
        [
          36.32,
          81.3,
          0.1
        ],
        [
          40.68,
          81.3,
          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": "blank",
      "points": [
        [
          32.0,
          14,
          0.1
        ],
        [
          32.0,
          18.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "입고 인계→초공정 1",
      "kind": "amr",
      "width": 1.4,
      "from": "blank",
      "to": "S01:2",
      "points": [
        [
          32.0,
          18.0,
          0.1
        ],
        [
          32.0,
          17.48,
          0.1
        ],
        [
          13.03,
          17.48,
          0.1
        ],
        [
          13.03,
          47.92,
          0.1
        ],
        [
          29.75,
          47.92,
          0.1
        ],
        [
          29.75,
          47.82,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "최종검사→출하 대기 2",
      "kind": "amr",
      "width": 1.4,
      "from": "S08:1",
      "to": "dispatch-stock",
      "points": [
        [
          52.82,
          81.3,
          0.1
        ],
        [
          89.48,
          81.3,
          0.1
        ],
        [
          89.48,
          36.92,
          0.1
        ],
        [
          101.08,
          36.92,
          0.1
        ],
        [
          101.08,
          17.48,
          0.1
        ],
        [
          119.25,
          17.48,
          0.1
        ],
        [
          119.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": [
        [
          119.25,
          18.0,
          0.1
        ],
        [
          119.25,
          14,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "정문→교대 탈의·휴게",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "gate",
      "to": "a03-staff",
      "points": [
        [
          74.5,
          7,
          0.1
        ],
        [
          83.02,
          7,
          0.1
        ],
        [
          83.02,
          19.5,
          0.1
        ],
        [
          78.0,
          19.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a03-staff→a03-office",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a03-staff",
      "to": "a03-office",
      "points": [
        [
          78.0,
          19.5,
          0.1
        ],
        [
          64.0,
          19.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a03-staff→a03-lab",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a03-staff",
      "to": "a03-lab",
      "points": [
        [
          78.0,
          19.5,
          0.1
        ],
        [
          90.0,
          19.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a03-staff→a03-maint",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a03-staff",
      "to": "a03-maint",
      "points": [
        [
          78.0,
          19.5,
          0.1
        ],
        [
          73.92,
          19.5,
          0.1
        ],
        [
          73.92,
          30.5,
          0.1
        ],
        [
          66.0,
          30.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a03-staff→a03-utility",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a03-staff",
      "to": "a03-utility",
      "points": [
        [
          78.0,
          19.5,
          0.1
        ],
        [
          84.98,
          19.5,
          0.1
        ],
        [
          84.98,
          30.5,
          0.1
        ],
        [
          86.0,
          30.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    }
  ],
  "yard": {
    "roads": [
      {
        "points": [
          [
            7,
            7
          ],
          [
            142,
            7
          ],
          [
            142,
            92
          ],
          [
            7,
            92
          ],
          [
            7,
            7
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 32.0,
        "y": 14,
        "angle": 0,
        "building_id": "blank",
        "role": "원료·구매부품 입고 도크 — 블랭크·열처리 치구 보관 도크"
      },
      {
        "x": 119.25,
        "y": 14,
        "angle": 0,
        "building_id": "dispatch-stock",
        "role": "방청 기어 납품 창고 출하"
      }
    ],
    "parking": [
      {
        "x": 15,
        "y": 90.8,
        "angle": 0,
        "count": 20
      }
    ],
    "gate": {
      "x": 74.5,
      "y": 7
    },
    "fence": true
  },
  "landmarks": [
    "북향 톱니 가공동과 낮은 항온 연삭동",
    "세 대 침탄로를 담는 동측 높은 박공 매스",
    "열처리동의 실제 내열 치구 적치와 배기 랙",
    "남측 짧은 블랭크 입고·품질 지원 전면",
    "방청 기어 납품 창고을 갖춘 실제 랙·전용대 출하 전면"
  ],
  "openings": [
    {
      "id": "opening-1",
      "building_id": "rough",
      "x": 86.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ]
    },
    {
      "id": "opening-2",
      "building_id": "rough",
      "x": 86.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ],
      "zone_id": "rough"
    },
    {
      "id": "opening-3",
      "building_id": "thermal",
      "x": 92.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ]
    },
    {
      "id": "opening-4",
      "building_id": "thermal",
      "x": 92.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S03",
        "S04"
      ],
      "zone_id": "thermal"
    },
    {
      "id": "opening-5",
      "building_id": "thermal",
      "x": 136.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S05",
        "S06"
      ]
    },
    {
      "id": "opening-6",
      "building_id": "thermal",
      "x": 136.5,
      "y": 42.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S05",
        "S06"
      ],
      "zone_id": "thermal"
    },
    {
      "id": "opening-7",
      "building_id": "precision",
      "x": 14,
      "y": 62.4,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S05",
        "S06"
      ]
    },
    {
      "id": "opening-8",
      "building_id": "precision",
      "x": 14,
      "y": 62.4,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S05",
        "S06"
      ],
      "zone_id": "precision"
    },
    {
      "id": "routing-r1-009",
      "building_id": "rough",
      "x": 86.5,
      "y": 48.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:1",
        "S04:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-010",
      "building_id": "thermal",
      "x": 92.5,
      "y": 48.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:1",
        "S04:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-011",
      "building_id": "rough",
      "x": 86.5,
      "y": 48.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:1",
        "S04:0"
      ],
      "kind": "material_door",
      "zone_id": "rough"
    },
    {
      "id": "routing-r1-012",
      "building_id": "thermal",
      "x": 92.5,
      "y": 48.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S03:1",
        "S04:0"
      ],
      "kind": "material_door",
      "zone_id": "thermal"
    },
    {
      "id": "routing-r1-013",
      "building_id": "thermal",
      "x": 97.0,
      "y": 63.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S05:0",
        "S06:3"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-014",
      "building_id": "thermal",
      "x": 97.0,
      "y": 63.0,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S05:0",
        "S06:3"
      ],
      "kind": "material_door",
      "zone_id": "thermal"
    },
    {
      "id": "routing-r1-015",
      "building_id": "precision",
      "x": 54.0,
      "y": 65.35,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S05:0",
        "S06:3"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-016",
      "building_id": "precision",
      "x": 54.0,
      "y": 65.35,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S05:0",
        "S06:3"
      ],
      "kind": "material_door",
      "zone_id": "precision"
    },
    {
      "id": "routing-r1-017",
      "building_id": "blank",
      "x": 32.0,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "raw-dock",
        "blank"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-018",
      "building_id": "blank",
      "x": 14,
      "y": 17.48,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "blank",
        "S01:2"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-019",
      "building_id": "rough",
      "x": 14,
      "y": 47.92,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "blank",
        "S01:2"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-020",
      "building_id": "rough",
      "x": 14,
      "y": 47.92,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "blank",
        "S01:2"
      ],
      "kind": "material_door",
      "zone_id": "rough"
    },
    {
      "id": "routing-r1-021",
      "building_id": "precision",
      "x": 54.0,
      "y": 81.3,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S08:1",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-022",
      "building_id": "precision",
      "x": 54.0,
      "y": 81.3,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S08:1",
        "dispatch-stock"
      ],
      "kind": "material_door",
      "zone_id": "precision"
    },
    {
      "id": "routing-r1-023",
      "building_id": "dispatch-stock",
      "x": 102.0,
      "y": 17.48,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S08:1",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-024",
      "building_id": "dispatch-stock",
      "x": 119.25,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "dispatch-stock",
        "shipping-dock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-025",
      "building_id": "support",
      "x": 83.02,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a03-staff"
      ],
      "kind": "pedestrian_door"
    },
    {
      "id": "routing-r1-026",
      "building_id": "support",
      "x": 83.02,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a03-staff"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-staff"
    },
    {
      "id": "routing-r1-027",
      "building_id": "support",
      "x": 72.0,
      "y": 19.5,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a03-staff",
        "a03-office"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-office"
    },
    {
      "id": "routing-r1-028",
      "building_id": "support",
      "x": 72.0,
      "y": 19.5,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a03-staff",
        "a03-office"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-staff"
    },
    {
      "id": "routing-r1-029",
      "building_id": "support",
      "x": 84.0,
      "y": 19.5,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a03-staff",
        "a03-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-staff"
    },
    {
      "id": "routing-r1-030",
      "building_id": "support",
      "x": 84.0,
      "y": 19.5,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a03-staff",
        "a03-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-lab"
    },
    {
      "id": "routing-r1-031",
      "building_id": "support",
      "x": 73.92,
      "y": 25.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a03-staff",
        "a03-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-staff"
    },
    {
      "id": "routing-r1-032",
      "building_id": "support",
      "x": 73.92,
      "y": 25.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a03-staff",
        "a03-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-maint"
    },
    {
      "id": "routing-r1-033",
      "building_id": "support",
      "x": 84.98,
      "y": 25.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a03-staff",
        "a03-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-lab"
    },
    {
      "id": "routing-r1-034",
      "building_id": "support",
      "x": 84.98,
      "y": 25.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a03-staff",
        "a03-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a03-utility"
    }
  ],
  "density": {
    "intent": "설비 바닥 601.60㎡ / 제조 구획 2838.00㎡ = 21.20%. 개별 생산 셀의 서비스 간격·공정 인계와 실제 원부자재·정비·검사 시설을 먼저 구성했다. 빈 바닥을 채우기 위한 임의 장식 상자를 사용하지 않는다.",
    "production_area_m2": 2838.0,
    "storage_area_m2": 1551.0,
    "support_area_m2": 880.0,
    "circulation_area_m2": 0
  },
  "authoring_note": "개별 배치안. 형상·동작·피난·법정 안전설계 검수 및 시각 검수는 별도 수행해야 하며 공개 릴리스 승인 아님.",
  "routing_revision": 2
}
