{
  "factory_id": "A07",
  "design_revision": 2,
  "design_story": "다온은 금속 프레임·우레탄 폼·봉제 커버가 한 좌석에서 만나는 세 갈래 공장이다. 서쪽 용접동과 북쪽 발포동은 분리하고, 동쪽 밝은 재단·봉제동에서 스무 대 재봉기가 작은 작업군을 만든다. 세 동의 출구가 가운데 합류 조립동을 향한다. 최종 레일·전장·작동 검사를 끝낸 좌석은 남쪽 순서 출하 전면에서 차량 생산 순서에 맞춰 놓인다. 금속용 지붕은 높은 박공, 발포동은 배기 서비스가 붙은 낮은 박공, 봉제동은 톱니 채광으로 읽힌다. 원단·폼·완성 좌석은 모두 다른 저장 방식과 대차를 쓴다.",
  "site": {
    "width": 155,
    "depth": 93
  },
  "buildings": [
    {
      "id": "frames",
      "name": "6셀 시트 프레임 용접동",
      "role": "production",
      "polygon": [
        [
          14,
          44
        ],
        [
          39.0,
          44
        ],
        [
          39.0,
          61.8
        ],
        [
          14,
          61.8
        ]
      ],
      "height": 9,
      "roof": {
        "type": "gable",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.41,
          0.46,
          0.48
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "foam",
      "name": "3조 폼 계량·발포동",
      "role": "production",
      "polygon": [
        [
          14,
          66.8
        ],
        [
          52,
          66.8
        ],
        [
          52,
          78.8
        ],
        [
          14,
          78.8
        ]
      ],
      "height": 8,
      "roof": {
        "type": "shed",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.72,
          0.68,
          0.57
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "merge",
      "name": "합류 조립·레일·전장·검사동",
      "role": "production",
      "polygon": [
        [
          45.0,
          44
        ],
        [
          107.5,
          44
        ],
        [
          107.5,
          66.7
        ],
        [
          45.0,
          66.7
        ]
      ],
      "height": 7,
      "roof": {
        "type": "flat",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.6,
          0.69,
          0.7
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "textile",
      "name": "재단·20석 봉제 채광동",
      "role": "production",
      "polygon": [
        [
          112.5,
          44
        ],
        [
          142.1,
          44
        ],
        [
          142.1,
          66.8
        ],
        [
          112.5,
          66.8
        ]
      ],
      "height": 6,
      "roof": {
        "type": "sawtooth",
        "axis": "x",
        "pitch": 0.16
      },
      "facade": {
        "color": [
          0.82,
          0.78,
          0.67
        ],
        "accent": [
          0.15,
          0.29,
          0.38
        ],
        "material": "metal",
        "window_band_height": 0.85
      }
    },
    {
      "id": "materials",
      "name": "원단·폼·프레임 키트 창고",
      "role": "warehouse",
      "polygon": [
        [
          14,
          14
        ],
        [
          56,
          14
        ],
        [
          56,
          38
        ],
        [
          14,
          38
        ]
      ],
      "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": [
        [
          62,
          14
        ],
        [
          104.0,
          14
        ],
        [
          104.0,
          38.0
        ],
        [
          62,
          38.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": [
        [
          110.0,
          14
        ],
        [
          142.1,
          14
        ],
        [
          142.1,
          38
        ],
        [
          110.0,
          38
        ]
      ],
      "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": "frames",
      "name": "6셀 시트 프레임 용접동",
      "role": "process",
      "building_id": "frames",
      "x": 14,
      "y": 44,
      "width": 25.0,
      "depth": 17.8,
      "stage_ids": [
        "S01"
      ],
      "fixtures": [
        {
          "id": "frames-workbench-01",
          "type": "workbench",
          "x": 15.6,
          "y": 45.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "프레임 지그·팁 정비 1"
        },
        {
          "id": "frames-workbench-02",
          "type": "workbench",
          "x": 18.4,
          "y": 45.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "프레임 지그·팁 정비 2"
        },
        {
          "id": "frames-workbench-03",
          "type": "workbench",
          "x": 21.2,
          "y": 45.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "프레임 지그·팁 정비 3"
        },
        {
          "id": "frames-workbench-04",
          "type": "workbench",
          "x": 24.0,
          "y": 45.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "프레임 지그·팁 정비 4"
        },
        {
          "id": "frames-product_bins-01",
          "type": "product_bins",
          "x": 30.7,
          "y": 45.1,
          "width": 1.4,
          "depth": 1,
          "height": 1.2,
          "count": 1,
          "label": "레일 브래킷 공급 1"
        },
        {
          "id": "frames-product_bins-02",
          "type": "product_bins",
          "x": 15.3,
          "y": 52.0,
          "width": 1.4,
          "depth": 1,
          "height": 1.2,
          "count": 1,
          "label": "레일 브래킷 공급 2"
        },
        {
          "id": "frames-product_bins-03",
          "type": "product_bins",
          "x": 37.3,
          "y": 52.0,
          "width": 1.4,
          "depth": 1,
          "height": 1.2,
          "count": 1,
          "label": "레일 브래킷 공급 3"
        },
        {
          "id": "frames-product_bins-04",
          "type": "product_bins",
          "x": 30.7,
          "y": 58.9,
          "width": 1.4,
          "depth": 1,
          "height": 1.2,
          "count": 1,
          "label": "레일 브래킷 공급 4"
        },
        {
          "id": "frames-product_bins-05",
          "type": "product_bins",
          "x": 33.675,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "용접 지그 브래킷 공급 1"
        },
        {
          "id": "frames-product_bins-06",
          "type": "product_bins",
          "x": 27.525,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "용접 지그 브래킷 공급 2"
        },
        {
          "id": "frames-product_bins-07",
          "type": "product_bins",
          "x": 35.725,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "용접 지그 브래킷 공급 3"
        },
        {
          "id": "frames-product_bins-08",
          "type": "product_bins",
          "x": 37.775,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "용접 지그 브래킷 공급 4"
        }
      ]
    },
    {
      "id": "foam",
      "name": "3조 폼 계량·발포동",
      "role": "process",
      "building_id": "foam",
      "x": 14,
      "y": 66.8,
      "width": 38,
      "depth": 12,
      "stage_ids": [
        "S02"
      ],
      "fixtures": [
        {
          "id": "foam-cabinet-01",
          "type": "cabinet",
          "x": 15.3,
          "y": 67.75,
          "width": 1.4,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "금형 이형·혼합헤드 예비품 1"
        },
        {
          "id": "foam-cabinet-02",
          "type": "cabinet",
          "x": 17.5,
          "y": 67.75,
          "width": 1.4,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "금형 이형·혼합헤드 예비품 2"
        },
        {
          "id": "foam-cabinet-03",
          "type": "cabinet",
          "x": 24.1,
          "y": 67.75,
          "width": 1.4,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "금형 이형·혼합헤드 예비품 3"
        },
        {
          "id": "foam-cabinet-04",
          "type": "cabinet",
          "x": 26.3,
          "y": 67.75,
          "width": 1.4,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "금형 이형·혼합헤드 예비품 4"
        },
        {
          "id": "foam-pipe_rack-01",
          "type": "pipe_rack",
          "x": 34.5,
          "y": 67.9,
          "width": 5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "발포 원료·배기 서비스 1"
        },
        {
          "id": "foam-pipe_rack-02",
          "type": "pipe_rack",
          "x": 40.3,
          "y": 67.9,
          "width": 5,
          "depth": 1,
          "height": 4.5,
          "count": 1,
          "label": "발포 원료·배기 서비스 2"
        },
        {
          "id": "robot-2-0-handover",
          "type": "workbench",
          "x": 21.0,
          "y": 69.14999999999999,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "탈형 폼 전용 지지대 S02:0"
        },
        {
          "id": "robot-2-1-handover",
          "type": "workbench",
          "x": 45.5,
          "y": 69.14999999999999,
          "width": 1.2,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "angle": 0,
          "label": "탈형 폼 전용 지지대 S02:2"
        }
      ]
    },
    {
      "id": "merge",
      "name": "합류 조립·레일·전장·검사동",
      "role": "process",
      "building_id": "merge",
      "x": 45.0,
      "y": 44,
      "width": 62.5,
      "depth": 22.7,
      "stage_ids": [
        "S05",
        "S06",
        "S07",
        "S08"
      ],
      "fixtures": [
        {
          "id": "merge-dock_staging-01",
          "type": "dock_staging",
          "x": 74.6,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 1"
        },
        {
          "id": "merge-dock_staging-02",
          "type": "dock_staging",
          "x": 94.2,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 2"
        },
        {
          "id": "merge-dock_staging-03",
          "type": "dock_staging",
          "x": 97.0,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 3"
        },
        {
          "id": "merge-dock_staging-04",
          "type": "dock_staging",
          "x": 99.8,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 4"
        },
        {
          "id": "merge-dock_staging-05",
          "type": "dock_staging",
          "x": 102.6,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 5"
        },
        {
          "id": "merge-dock_staging-06",
          "type": "dock_staging",
          "x": 105.4,
          "y": 45.3,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 6"
        },
        {
          "id": "merge-dock_staging-07",
          "type": "dock_staging",
          "x": 46.6,
          "y": 58.8,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 7"
        },
        {
          "id": "merge-dock_staging-08",
          "type": "dock_staging",
          "x": 105.4,
          "y": 48.0,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "차량 순서 시트 운반대 8"
        },
        {
          "id": "merge-cabinet-01",
          "type": "cabinet",
          "x": 46.2,
          "y": 44.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "시트 검사 어댑터 1"
        },
        {
          "id": "merge-cabinet-02",
          "type": "cabinet",
          "x": 48.2,
          "y": 44.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "시트 검사 어댑터 2"
        },
        {
          "id": "merge-cabinet-03",
          "type": "cabinet",
          "x": 50.2,
          "y": 44.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "시트 검사 어댑터 3"
        },
        {
          "id": "merge-cabinet-04",
          "type": "cabinet",
          "x": 52.2,
          "y": 44.9,
          "width": 1.2,
          "depth": 0.6,
          "height": 1.8,
          "count": 1,
          "label": "시트 검사 어댑터 4"
        },
        {
          "id": "merge-product_bins-01",
          "type": "product_bins",
          "x": 68.775,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "시트 전장·부속 키트 1"
        },
        {
          "id": "merge-product_bins-02",
          "type": "product_bins",
          "x": 62.625,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "시트 전장·부속 키트 2"
        },
        {
          "id": "merge-product_bins-03",
          "type": "product_bins",
          "x": 56.475,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "시트 전장·부속 키트 3"
        },
        {
          "id": "merge-product_bins-04",
          "type": "product_bins",
          "x": 54.425,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "시트 전장·부속 키트 4"
        },
        {
          "id": "merge-product_bins-05",
          "type": "product_bins",
          "x": 60.575,
          "y": 44.925,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "시트 전장·부속 키트 5"
        }
      ]
    },
    {
      "id": "textile",
      "name": "재단·20석 봉제 채광동",
      "role": "process",
      "building_id": "textile",
      "x": 112.5,
      "y": 44,
      "width": 29.6,
      "depth": 22.8,
      "stage_ids": [
        "S03",
        "S04"
      ],
      "fixtures": [
        {
          "id": "textile-bin_rack-01",
          "type": "bin_rack",
          "x": 114.0,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 1"
        },
        {
          "id": "textile-bin_rack-02",
          "type": "bin_rack",
          "x": 116.45,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 2"
        },
        {
          "id": "textile-bin_rack-03",
          "type": "bin_rack",
          "x": 118.9,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 3"
        },
        {
          "id": "textile-bin_rack-04",
          "type": "bin_rack",
          "x": 121.35,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 4"
        },
        {
          "id": "textile-bin_rack-05",
          "type": "bin_rack",
          "x": 123.8,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 5"
        },
        {
          "id": "textile-bin_rack-06",
          "type": "bin_rack",
          "x": 126.25,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 6"
        },
        {
          "id": "textile-bin_rack-07",
          "type": "bin_rack",
          "x": 128.7,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 7"
        },
        {
          "id": "textile-bin_rack-08",
          "type": "bin_rack",
          "x": 131.15,
          "y": 45.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2,
          "count": 1,
          "label": "색상별 커버 키트 8"
        },
        {
          "id": "textile-worktable-01",
          "type": "worktable",
          "x": 135.5,
          "y": 44.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "커버 뒤집기·외관 준비 1"
        },
        {
          "id": "textile-worktable-02",
          "type": "worktable",
          "x": 137.9,
          "y": 44.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "커버 뒤집기·외관 준비 2"
        },
        {
          "id": "textile-worktable-03",
          "type": "worktable",
          "x": 140.3,
          "y": 44.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "커버 뒤집기·외관 준비 3"
        },
        {
          "id": "textile-worktable-04",
          "type": "worktable",
          "x": 113.9,
          "y": 50.95,
          "width": 1.6,
          "depth": 0.7,
          "height": 1,
          "count": 1,
          "label": "커버 뒤집기·외관 준비 4"
        },
        {
          "id": "textile-worktable-05",
          "type": "worktable",
          "x": 130.125,
          "y": 64.425,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "봉제 작업군 커버 키트 1"
        },
        {
          "id": "textile-worktable-06",
          "type": "worktable",
          "x": 130.125,
          "y": 58.575,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "봉제 작업군 커버 키트 2"
        },
        {
          "id": "textile-worktable-07",
          "type": "worktable",
          "x": 130.125,
          "y": 54.675,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "봉제 작업군 커버 키트 3"
        },
        {
          "id": "textile-worktable-08",
          "type": "worktable",
          "x": 130.125,
          "y": 60.525,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "봉제 작업군 커버 키트 4"
        },
        {
          "id": "textile-worktable-09",
          "type": "worktable",
          "x": 130.125,
          "y": 62.475,
          "width": 1.25,
          "depth": 0.65,
          "height": 1.0,
          "count": 1,
          "label": "봉제 작업군 커버 키트 5"
        }
      ]
    },
    {
      "id": "materials",
      "name": "원단·폼·프레임 키트 창고",
      "role": "warehouse",
      "building_id": "materials",
      "x": 14,
      "y": 14,
      "width": 42,
      "depth": 24,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "materials-bin_rack-01",
          "type": "bin_rack",
          "x": 15.7,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 1"
        },
        {
          "id": "materials-bin_rack-02",
          "type": "bin_rack",
          "x": 18.55,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 2"
        },
        {
          "id": "materials-bin_rack-03",
          "type": "bin_rack",
          "x": 21.4,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 3"
        },
        {
          "id": "materials-bin_rack-04",
          "type": "bin_rack",
          "x": 24.25,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 4"
        },
        {
          "id": "materials-bin_rack-05",
          "type": "bin_rack",
          "x": 27.1,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 5"
        },
        {
          "id": "materials-bin_rack-06",
          "type": "bin_rack",
          "x": 29.95,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 6"
        },
        {
          "id": "materials-bin_rack-07",
          "type": "bin_rack",
          "x": 32.8,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 7"
        },
        {
          "id": "materials-bin_rack-08",
          "type": "bin_rack",
          "x": 35.6,
          "y": 21.0,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 8"
        },
        {
          "id": "materials-bin_rack-09",
          "type": "bin_rack",
          "x": 38.5,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 9"
        },
        {
          "id": "materials-bin_rack-10",
          "type": "bin_rack",
          "x": 41.35,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 10"
        },
        {
          "id": "materials-bin_rack-11",
          "type": "bin_rack",
          "x": 44.2,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 11"
        },
        {
          "id": "materials-bin_rack-12",
          "type": "bin_rack",
          "x": 47.05,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 12"
        },
        {
          "id": "materials-bin_rack-13",
          "type": "bin_rack",
          "x": 49.9,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 13"
        },
        {
          "id": "materials-bin_rack-14",
          "type": "bin_rack",
          "x": 52.75,
          "y": 15.2,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 14"
        },
        {
          "id": "materials-bin_rack-15",
          "type": "bin_rack",
          "x": 15.7,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 15"
        },
        {
          "id": "materials-bin_rack-16",
          "type": "bin_rack",
          "x": 18.55,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 16"
        },
        {
          "id": "materials-bin_rack-17",
          "type": "bin_rack",
          "x": 21.4,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 17"
        },
        {
          "id": "materials-bin_rack-18",
          "type": "bin_rack",
          "x": 24.25,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 18"
        },
        {
          "id": "materials-bin_rack-19",
          "type": "bin_rack",
          "x": 27.1,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 19"
        },
        {
          "id": "materials-bin_rack-20",
          "type": "bin_rack",
          "x": 29.95,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 20"
        },
        {
          "id": "materials-bin_rack-21",
          "type": "bin_rack",
          "x": 32.8,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 21"
        },
        {
          "id": "materials-bin_rack-22",
          "type": "bin_rack",
          "x": 38.1,
          "y": 21.0,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 22"
        },
        {
          "id": "materials-bin_rack-23",
          "type": "bin_rack",
          "x": 38.5,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 23"
        },
        {
          "id": "materials-bin_rack-24",
          "type": "bin_rack",
          "x": 41.35,
          "y": 18.9,
          "width": 2.2,
          "depth": 1,
          "height": 3,
          "count": 1,
          "label": "원단 롤·커버 키트 24"
        },
        {
          "id": "materials-floor_pallets-01",
          "type": "floor_pallets",
          "x": 46.4,
          "y": 18.0,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 1"
        },
        {
          "id": "materials-floor_pallets-02",
          "type": "floor_pallets",
          "x": 49.2,
          "y": 18.0,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 2"
        },
        {
          "id": "materials-floor_pallets-03",
          "type": "floor_pallets",
          "x": 52.0,
          "y": 18.0,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 3"
        },
        {
          "id": "materials-floor_pallets-04",
          "type": "floor_pallets",
          "x": 15.6,
          "y": 20.7,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 4"
        },
        {
          "id": "materials-floor_pallets-05",
          "type": "floor_pallets",
          "x": 18.4,
          "y": 20.7,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 5"
        },
        {
          "id": "materials-floor_pallets-06",
          "type": "floor_pallets",
          "x": 21.2,
          "y": 20.7,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 6"
        },
        {
          "id": "materials-floor_pallets-07",
          "type": "floor_pallets",
          "x": 24.0,
          "y": 20.7,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 7"
        },
        {
          "id": "materials-floor_pallets-08",
          "type": "floor_pallets",
          "x": 26.8,
          "y": 20.7,
          "width": 2,
          "depth": 1.4,
          "height": 1.6,
          "count": 1,
          "label": "폼·프레임 전용대 8"
        }
      ]
    },
    {
      "id": "a07-office",
      "name": "생산·품질 사무실",
      "role": "office",
      "building_id": "support",
      "x": 62,
      "y": 14,
      "width": 16.8,
      "depth": 12.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a07-office-office_desks-01",
          "type": "office_desks",
          "x": 63.85,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 1"
        },
        {
          "id": "a07-office-office_desks-02",
          "type": "office_desks",
          "x": 67.15,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 2"
        },
        {
          "id": "a07-office-office_desks-03",
          "type": "office_desks",
          "x": 70.45,
          "y": 15.4,
          "width": 2.5,
          "depth": 1.6,
          "height": 1.2,
          "count": 1,
          "label": "생산계획·품질 대응 3"
        }
      ]
    },
    {
      "id": "a07-staff",
      "name": "교대 탈의·휴게",
      "role": "staff",
      "building_id": "support",
      "x": 78.8,
      "y": 14,
      "width": 12.6,
      "depth": 12.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a07-staff-locker_bank-01",
          "type": "locker_bank",
          "x": 80.3,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 1"
        },
        {
          "id": "a07-staff-locker_bank-02",
          "type": "locker_bank",
          "x": 82.9,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 2"
        },
        {
          "id": "a07-staff-locker_bank-03",
          "type": "locker_bank",
          "x": 85.5,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 3"
        },
        {
          "id": "a07-staff-locker_bank-04",
          "type": "locker_bank",
          "x": 88.1,
          "y": 14.85,
          "width": 1.8,
          "depth": 0.5,
          "height": 1.8,
          "count": 1,
          "label": "교대 개인 보관함 4"
        },
        {
          "id": "a07-staff-worktable-01",
          "type": "worktable",
          "x": 80.2,
          "y": 17.1,
          "width": 1.6,
          "depth": 0.8,
          "height": 1,
          "count": 1,
          "label": "휴게 테이블 1"
        }
      ]
    },
    {
      "id": "a07-lab",
      "name": "시트 작동·원단 표본 검사",
      "role": "laboratory",
      "building_id": "support",
      "x": 91.4,
      "y": 14,
      "width": 12.6,
      "depth": 12.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a07-lab-lab_bench-01",
          "type": "lab_bench",
          "x": 92.9,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "시트 작동·원단 표본 검사 1"
        },
        {
          "id": "a07-lab-lab_bench-02",
          "type": "lab_bench",
          "x": 95.5,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "시트 작동·원단 표본 검사 2"
        },
        {
          "id": "a07-lab-lab_bench-03",
          "type": "lab_bench",
          "x": 98.1,
          "y": 15.0,
          "width": 1.8,
          "depth": 0.8,
          "height": 1.2,
          "count": 1,
          "label": "시트 작동·원단 표본 검사 3"
        }
      ]
    },
    {
      "id": "a07-maint",
      "name": "시트 지그·재봉 정비",
      "role": "maintenance",
      "building_id": "support",
      "x": 62,
      "y": 26.0,
      "width": 21.0,
      "depth": 12.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a07-maint-workbench-01",
          "type": "workbench",
          "x": 63.6,
          "y": 27.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "시트 지그·재봉 정비 1"
        },
        {
          "id": "a07-maint-workbench-02",
          "type": "workbench",
          "x": 66.4,
          "y": 27.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "시트 지그·재봉 정비 2"
        },
        {
          "id": "a07-maint-workbench-03",
          "type": "workbench",
          "x": 69.2,
          "y": 27.05,
          "width": 2,
          "depth": 0.9,
          "height": 1,
          "count": 1,
          "label": "시트 지그·재봉 정비 3"
        },
        {
          "id": "a07-maint-bin_rack-01",
          "type": "bin_rack",
          "x": 73.3,
          "y": 27.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 1"
        },
        {
          "id": "a07-maint-bin_rack-02",
          "type": "bin_rack",
          "x": 75.75,
          "y": 27.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 2"
        },
        {
          "id": "a07-maint-bin_rack-03",
          "type": "bin_rack",
          "x": 78.2,
          "y": 27.1,
          "width": 1.8,
          "depth": 0.8,
          "height": 2.2,
          "count": 1,
          "label": "정비 예비품 3"
        }
      ]
    },
    {
      "id": "a07-utility",
      "name": "공압·배전·냉각",
      "role": "utility",
      "building_id": "support",
      "x": 83.0,
      "y": 26.0,
      "width": 21.0,
      "depth": 12.0,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "a07-utility-compressor-01",
          "type": "compressor",
          "x": 84.85,
          "y": 27.35,
          "width": 2.5,
          "depth": 1.5,
          "height": 2,
          "count": 1,
          "label": "공압 공급 1"
        },
        {
          "id": "a07-utility-chiller-01",
          "type": "chiller",
          "x": 88.9,
          "y": 27.5,
          "width": 3,
          "depth": 1.8,
          "height": 2.3,
          "count": 1,
          "label": "공정 냉각 1"
        },
        {
          "id": "a07-utility-electrical_bank-01",
          "type": "electrical_bank",
          "x": 93.55,
          "y": 26.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 1"
        },
        {
          "id": "a07-utility-electrical_bank-02",
          "type": "electrical_bank",
          "x": 95.85,
          "y": 26.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 2"
        },
        {
          "id": "a07-utility-electrical_bank-03",
          "type": "electrical_bank",
          "x": 98.15,
          "y": 26.95,
          "width": 1.5,
          "depth": 0.7,
          "height": 2,
          "count": 1,
          "label": "공정 배전 3"
        }
      ]
    },
    {
      "id": "dispatch-stock",
      "name": "완성 좌석 순서출하 버퍼",
      "role": "warehouse",
      "building_id": "dispatch-stock",
      "x": 110.0,
      "y": 14,
      "width": 32.1,
      "depth": 24,
      "stage_ids": [],
      "fixtures": [
        {
          "id": "dispatch-stock-floor_pallets-01",
          "type": "floor_pallets",
          "x": 111.8,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 1"
        },
        {
          "id": "dispatch-stock-floor_pallets-02",
          "type": "floor_pallets",
          "x": 115.0,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 2"
        },
        {
          "id": "dispatch-stock-floor_pallets-03",
          "type": "floor_pallets",
          "x": 118.2,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 3"
        },
        {
          "id": "dispatch-stock-floor_pallets-04",
          "type": "floor_pallets",
          "x": 121.4,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 4"
        },
        {
          "id": "dispatch-stock-floor_pallets-05",
          "type": "floor_pallets",
          "x": 124.7,
          "y": 23.25,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 5"
        },
        {
          "id": "dispatch-stock-floor_pallets-06",
          "type": "floor_pallets",
          "x": 128.2,
          "y": 15.25,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 6"
        },
        {
          "id": "dispatch-stock-floor_pallets-07",
          "type": "floor_pallets",
          "x": 131.0,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 7"
        },
        {
          "id": "dispatch-stock-floor_pallets-08",
          "type": "floor_pallets",
          "x": 134.2,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 8"
        },
        {
          "id": "dispatch-stock-floor_pallets-09",
          "type": "floor_pallets",
          "x": 137.4,
          "y": 15.35,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 9"
        },
        {
          "id": "dispatch-stock-floor_pallets-10",
          "type": "floor_pallets",
          "x": 111.8,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 10"
        },
        {
          "id": "dispatch-stock-floor_pallets-11",
          "type": "floor_pallets",
          "x": 115.0,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 11"
        },
        {
          "id": "dispatch-stock-floor_pallets-12",
          "type": "floor_pallets",
          "x": 118.2,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 12"
        },
        {
          "id": "dispatch-stock-floor_pallets-13",
          "type": "floor_pallets",
          "x": 121.4,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 13"
        },
        {
          "id": "dispatch-stock-floor_pallets-14",
          "type": "floor_pallets",
          "x": 121.7,
          "y": 23.25,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 14"
        },
        {
          "id": "dispatch-stock-floor_pallets-15",
          "type": "floor_pallets",
          "x": 128.2,
          "y": 18.25,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 15"
        },
        {
          "id": "dispatch-stock-floor_pallets-16",
          "type": "floor_pallets",
          "x": 131.0,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 16"
        },
        {
          "id": "dispatch-stock-floor_pallets-17",
          "type": "floor_pallets",
          "x": 134.2,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 17"
        },
        {
          "id": "dispatch-stock-floor_pallets-18",
          "type": "floor_pallets",
          "x": 137.4,
          "y": 18.15,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 18"
        },
        {
          "id": "dispatch-stock-floor_pallets-19",
          "type": "floor_pallets",
          "x": 111.8,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 19"
        },
        {
          "id": "dispatch-stock-floor_pallets-20",
          "type": "floor_pallets",
          "x": 115.0,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 20"
        },
        {
          "id": "dispatch-stock-floor_pallets-21",
          "type": "floor_pallets",
          "x": 118.2,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 21"
        },
        {
          "id": "dispatch-stock-floor_pallets-22",
          "type": "floor_pallets",
          "x": 121.4,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 22"
        },
        {
          "id": "dispatch-stock-floor_pallets-23",
          "type": "floor_pallets",
          "x": 124.6,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 23"
        },
        {
          "id": "dispatch-stock-floor_pallets-24",
          "type": "floor_pallets",
          "x": 127.8,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 24"
        },
        {
          "id": "dispatch-stock-floor_pallets-25",
          "type": "floor_pallets",
          "x": 131.0,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 25"
        },
        {
          "id": "dispatch-stock-floor_pallets-26",
          "type": "floor_pallets",
          "x": 134.2,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 26"
        },
        {
          "id": "dispatch-stock-floor_pallets-27",
          "type": "floor_pallets",
          "x": 137.4,
          "y": 20.95,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 27"
        },
        {
          "id": "dispatch-stock-floor_pallets-28",
          "type": "floor_pallets",
          "x": 111.8,
          "y": 23.75,
          "width": 2.4,
          "depth": 1.5,
          "height": 1.8,
          "count": 1,
          "label": "차종별 시트 전용대 28"
        }
      ]
    }
  ],
  "equipment": [
    {
      "stage_id": "S01",
      "index": 0,
      "x": 18.5,
      "y": 48.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 1,
      "x": 26.5,
      "y": 48.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 2,
      "x": 34.5,
      "y": 48.5,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 3,
      "x": 18.5,
      "y": 57.3,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 4,
      "x": 26.5,
      "y": 57.3,
      "angle": 0
    },
    {
      "stage_id": "S01",
      "index": 5,
      "x": 34.5,
      "y": 57.3,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 0,
      "x": 21.0,
      "y": 72.8,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 1,
      "x": 33.0,
      "y": 72.8,
      "angle": 0
    },
    {
      "stage_id": "S02",
      "index": 2,
      "x": 45.0,
      "y": 72.8,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 0,
      "x": 49.0,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 1,
      "x": 55.5,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 2,
      "x": 62.0,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 3,
      "x": 68.5,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 4,
      "x": 49.0,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 5,
      "x": 55.5,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 6,
      "x": 62.0,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S05",
      "index": 7,
      "x": 68.5,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 0,
      "x": 78.25,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 1,
      "x": 84.25,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 2,
      "x": 90.25,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 3,
      "x": 78.25,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 4,
      "x": 84.25,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S06",
      "index": 5,
      "x": 90.25,
      "y": 53.7,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 0,
      "x": 49.0,
      "y": 62.95,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 1,
      "x": 55.5,
      "y": 62.95,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 2,
      "x": 62.0,
      "y": 62.95,
      "angle": 0
    },
    {
      "stage_id": "S07",
      "index": 3,
      "x": 68.5,
      "y": 62.95,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 0,
      "x": 80.5,
      "y": 62.7,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 1,
      "x": 91.0,
      "y": 62.7,
      "angle": 0
    },
    {
      "stage_id": "S08",
      "index": 2,
      "x": 101.5,
      "y": 62.7,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 0,
      "x": 118.0,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 1,
      "x": 127.3,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S03",
      "index": 2,
      "x": 136.6,
      "y": 47.5,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 0,
      "x": 115.2,
      "y": 55.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 1,
      "x": 118.4,
      "y": 55.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 2,
      "x": 121.6,
      "y": 55.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 3,
      "x": 124.8,
      "y": 55.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 4,
      "x": 128.0,
      "y": 55.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 5,
      "x": 115.2,
      "y": 58.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 6,
      "x": 118.4,
      "y": 58.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 7,
      "x": 121.6,
      "y": 58.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 8,
      "x": 124.8,
      "y": 58.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 9,
      "x": 128.0,
      "y": 58.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 10,
      "x": 115.2,
      "y": 61.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 11,
      "x": 118.4,
      "y": 61.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 12,
      "x": 121.6,
      "y": 61.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 13,
      "x": 124.8,
      "y": 61.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 14,
      "x": 128.0,
      "y": 61.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 15,
      "x": 115.2,
      "y": 64.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 16,
      "x": 118.4,
      "y": 64.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 17,
      "x": 121.6,
      "y": 64.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 18,
      "x": 124.8,
      "y": 64.4,
      "angle": 0
    },
    {
      "stage_id": "S04",
      "index": 19,
      "x": 128.0,
      "y": 64.4,
      "angle": 0
    }
  ],
  "robots": [
    {
      "definition_index": 0,
      "instance_index": 0,
      "stage_id": "S01",
      "x": 18.5,
      "y": 52.25,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 1호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 0,
      "instance_index": 1,
      "stage_id": "S01",
      "x": 26.5,
      "y": 52.25,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 2호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 0,
      "instance_index": 2,
      "stage_id": "S01",
      "x": 34.5,
      "y": 52.25,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 3호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 0,
      "instance_index": 3,
      "stage_id": "S01",
      "x": 18.5,
      "y": 61.05,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 4호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 0,
      "instance_index": 4,
      "stage_id": "S01",
      "x": 26.5,
      "y": 61.05,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 5호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 0,
      "instance_index": 5,
      "stage_id": "S01",
      "x": 34.5,
      "y": 61.05,
      "angle": -1.5707963267948966,
      "task_station": "프레임 지그 용접 6호의 북측 작업면. 프레임 지그의 접합부를 용접한다."
    },
    {
      "definition_index": 1,
      "instance_index": 0,
      "stage_id": "S05",
      "x": 49.0,
      "y": 50.25,
      "angle": -1.5707963267948966,
      "task_station": "프레임·폼·커버 합류 조립 1호의 북측 작업면. 조립용 좌석을 회전 지그에 공급한다."
    },
    {
      "definition_index": 1,
      "instance_index": 1,
      "stage_id": "S05",
      "x": 68.5,
      "y": 50.25,
      "angle": -1.5707963267948966,
      "task_station": "프레임·폼·커버 합류 조립 4호의 북측 작업면. 조립용 좌석을 회전 지그에 공급한다."
    },
    {
      "definition_index": 1,
      "instance_index": 2,
      "stage_id": "S05",
      "x": 68.5,
      "y": 56.45,
      "angle": -1.5707963267948966,
      "task_station": "프레임·폼·커버 합류 조립 8호의 북측 작업면. 조립용 좌석을 회전 지그에 공급한다."
    },
    {
      "definition_index": 2,
      "instance_index": 0,
      "stage_id": "S02",
      "x": 21.0,
      "y": 72.8,
      "angle": 0,
      "task_station": "폼 계량·발포 성형 #1: Shaped synthetic cavity 탈형 전면 ↔ 탈형 폼 전용 지지대 S02:0. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S02",
        "index": 0
      },
      "gantry_span": [
        2.8,
        8.08,
        5.7
      ],
      "task_point": [
        21.0,
        72.32,
        2.7181
      ],
      "task_points": [
        [
          21.2,
          69.30999999999999,
          1.35
        ],
        [
          21.0,
          72.32,
          2.7181
        ]
      ],
      "task_fixture_id": "robot-2-0-handover",
      "controller_offset": [
        0.7,
        3.99,
        0
      ],
      "target_basis": "Shaped synthetic cavity 탈형 전면"
    },
    {
      "definition_index": 2,
      "instance_index": 1,
      "stage_id": "S02",
      "x": 45.0,
      "y": 72.8,
      "angle": 0,
      "task_station": "폼 계량·발포 성형 #3: Shaped synthetic cavity 탈형 전면 ↔ 탈형 폼 전용 지지대 S02:2. 지지기둥은 설비·기물·수송 폭 바깥이며 형상별 전용 툴로 수직 접근 후 높은 위치에서 이송한다. 원기계와 로봇 전체 동작 간섭은 별도 검수한다.",
      "host_equipment": {
        "stage_id": "S02",
        "index": 2
      },
      "gantry_span": [
        4.0,
        8.08,
        5.7
      ],
      "task_point": [
        45.0,
        72.32,
        2.7181
      ],
      "task_points": [
        [
          45.7,
          69.30999999999999,
          1.35
        ],
        [
          45.0,
          72.32,
          2.7181
        ]
      ],
      "task_fixture_id": "robot-2-1-handover",
      "controller_offset": [
        1.3,
        3.99,
        0
      ],
      "target_basis": "Shaped synthetic cavity 탈형 전면"
    }
  ],
  "logistics": [
    {
      "id": "S01→S05",
      "kind": "amr",
      "from": "S01:2",
      "to": "S05:0",
      "points": [
        [
          37.82,
          47.5,
          0.1
        ],
        [
          46.18,
          47.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:3",
      "to": "S06:0",
      "points": [
        [
          71.32,
          47.5,
          0.1
        ],
        [
          75.68,
          47.5,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S06→S07",
      "kind": "amr",
      "from": "S06:3",
      "to": "S07:3",
      "points": [
        [
          75.68,
          53.7,
          0.1
        ],
        [
          71.42,
          53.7,
          0.1
        ],
        [
          71.42,
          62.95,
          0.1
        ],
        [
          71.32,
          62.95,
          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": [
        [
          71.32,
          62.7,
          0.1
        ],
        [
          75.68,
          62.7,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S02→S05",
      "kind": "amr",
      "from": "S02:2",
      "to": "S05:4",
      "points": [
        [
          44.03,
          68.98,
          0.1
        ],
        [
          44.03,
          53.7,
          0.1
        ],
        [
          46.18,
          53.7,
          0.1
        ]
      ],
      "width": 1.4,
      "routing_note": "해당 생산 셀의 명시 수송 대표 경로. 다른 병렬 셀의 실제 분기 포트는 별도 형상 검토한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "S03→S04",
      "kind": "amr",
      "from": "S03:0",
      "to": "S04:1",
      "points": [
        [
          118.0,
          49.82,
          0.1
        ],
        [
          118.0,
          53.98,
          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:7",
      "points": [
        [
          113.4888,
          56.12,
          0.1
        ],
        [
          68.5,
          56.12,
          0.1
        ],
        [
          68.5,
          56.02,
          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": "materials",
      "points": [
        [
          35.0,
          14,
          0.1
        ],
        [
          35.0,
          18.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "입고 인계→초공정 1",
      "kind": "amr",
      "width": 1.4,
      "from": "materials",
      "to": "S01:2",
      "points": [
        [
          35.0,
          18.0,
          0.1
        ],
        [
          35.0,
          17.48,
          0.1
        ],
        [
          43.37,
          17.48,
          0.1
        ],
        [
          43.37,
          48.5,
          0.1
        ],
        [
          37.82,
          48.5,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다.",
      "handover_method": "external_machine_side_staging",
      "handover_note": "차량 중심선은 설비 footprint 바깥에 정차한다. 장비 측 인계대·적재 자세와 지게차 포크/AMR 도킹 상세는 실제 형상 검수 대상이다."
    },
    {
      "id": "최종검사→출하 대기 2",
      "kind": "amr",
      "width": 1.4,
      "from": "S08:2",
      "to": "dispatch-stock",
      "points": [
        [
          106.32,
          62.7,
          0.1
        ],
        [
          109.03,
          62.7,
          0.1
        ],
        [
          109.03,
          13.08,
          0.1
        ],
        [
          126.05,
          13.08,
          0.1
        ],
        [
          126.05,
          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": [
        [
          126.05,
          18.0,
          0.1
        ],
        [
          126.05,
          14,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "정문→교대 탈의·휴게",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "gate",
      "to": "a07-staff",
      "points": [
        [
          77.5,
          7,
          0.1
        ],
        [
          77.5,
          20.0,
          0.1
        ],
        [
          85.3,
          20.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a07-staff→a07-office",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a07-staff",
      "to": "a07-office",
      "points": [
        [
          85.3,
          20.0,
          0.1
        ],
        [
          70.5,
          20.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a07-staff→a07-lab",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a07-staff",
      "to": "a07-lab",
      "points": [
        [
          85.3,
          20.0,
          0.1
        ],
        [
          97.9,
          20.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a07-staff→a07-maint",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a07-staff",
      "to": "a07-maint",
      "points": [
        [
          85.3,
          20.0,
          0.1
        ],
        [
          79.92,
          20.0,
          0.1
        ],
        [
          79.92,
          32.0,
          0.1
        ],
        [
          72.5,
          32.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    },
    {
      "id": "지원동 보행 a07-staff→a07-utility",
      "kind": "pedestrian",
      "width": 1.2,
      "from": "a07-staff",
      "to": "a07-utility",
      "points": [
        [
          85.3,
          20.0,
          0.1
        ],
        [
          82.02,
          20.0,
          0.1
        ],
        [
          82.02,
          32.0,
          0.1
        ],
        [
          93.5,
          32.0,
          0.1
        ]
      ],
      "routing_note": "원/종점 실좌표와 수송 폭을 명시한 단방향 대표 인계 경로. 교차부 운영·차량 선회는 별도 검수한다."
    }
  ],
  "yard": {
    "roads": [
      {
        "points": [
          [
            7,
            7
          ],
          [
            148,
            7
          ],
          [
            148,
            86
          ],
          [
            7,
            86
          ],
          [
            7,
            7
          ]
        ],
        "width": 6
      }
    ],
    "docks": [
      {
        "x": 35.0,
        "y": 14,
        "angle": 0,
        "building_id": "materials",
        "role": "원료·구매부품 입고 도크 — 원단·폼·프레임 키트 창고 도크"
      },
      {
        "x": 126.05,
        "y": 14,
        "angle": 0,
        "building_id": "dispatch-stock",
        "role": "완성 좌석 순서출하 버퍼 출하"
      }
    ],
    "parking": [
      {
        "x": 15,
        "y": 84.8,
        "angle": 0,
        "count": 20
      }
    ],
    "gate": {
      "x": 77.5,
      "y": 7
    },
    "fence": true
  },
  "landmarks": [
    "세 재료 흐름이 중앙 합류동을 향하는 네 생산 매스",
    "동쪽 톱니 채광 아래 스무 재봉기 작업군",
    "서쪽 금속 프레임 지그 용접동",
    "별도 발포 원료·배기 랙과 순서 좌석 대차",
    "완성 좌석 순서출하 버퍼을 갖춘 실제 랙·전용대 출하 전면"
  ],
  "openings": [
    {
      "id": "opening-1",
      "building_id": "frames",
      "x": 39.0,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S01",
        "S05"
      ]
    },
    {
      "id": "opening-2",
      "building_id": "frames",
      "x": 39.0,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S01",
        "S05"
      ],
      "zone_id": "frames"
    },
    {
      "id": "opening-3",
      "building_id": "merge",
      "x": 45.0,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S01",
        "S05"
      ]
    },
    {
      "id": "opening-4",
      "building_id": "merge",
      "x": 45.0,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S01",
        "S05"
      ],
      "zone_id": "merge"
    },
    {
      "id": "opening-5",
      "building_id": "foam",
      "x": 52,
      "y": 67.6,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S02",
        "S05"
      ]
    },
    {
      "id": "opening-6",
      "building_id": "foam",
      "x": 52,
      "y": 67.6,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S02",
        "S05"
      ],
      "zone_id": "foam"
    },
    {
      "id": "opening-7",
      "building_id": "merge",
      "x": 54.0,
      "y": 44,
      "width": 2.0,
      "height": 3.0,
      "axis": "x",
      "connects": [
        "S02",
        "S05"
      ]
    },
    {
      "id": "opening-8",
      "building_id": "merge",
      "x": 54.0,
      "y": 66.7,
      "width": 2.0,
      "height": 3.0,
      "axis": "x",
      "connects": [
        "S02",
        "S05"
      ]
    },
    {
      "id": "opening-9",
      "building_id": "merge",
      "x": 54.0,
      "y": 44,
      "width": 2.0,
      "height": 3.0,
      "axis": "x",
      "connects": [
        "S02",
        "S05"
      ],
      "zone_id": "merge"
    },
    {
      "id": "opening-10",
      "building_id": "merge",
      "x": 54.0,
      "y": 66.7,
      "width": 2.0,
      "height": 3.0,
      "axis": "x",
      "connects": [
        "S02",
        "S05"
      ],
      "zone_id": "merge"
    },
    {
      "id": "opening-11",
      "building_id": "textile",
      "x": 142.1,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S04",
        "S05"
      ]
    },
    {
      "id": "opening-12",
      "building_id": "textile",
      "x": 142.1,
      "y": 44.8,
      "width": 2.0,
      "height": 3.0,
      "axis": "y",
      "connects": [
        "S04",
        "S05"
      ],
      "zone_id": "textile"
    },
    {
      "id": "routing-r1-013",
      "building_id": "frames",
      "x": 39.0,
      "y": 47.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S01:2",
        "S05:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-014",
      "building_id": "merge",
      "x": 45.0,
      "y": 47.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S01:2",
        "S05:0"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-015",
      "building_id": "frames",
      "x": 39.0,
      "y": 47.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S01:2",
        "S05:0"
      ],
      "kind": "material_door",
      "zone_id": "frames"
    },
    {
      "id": "routing-r1-016",
      "building_id": "merge",
      "x": 45.0,
      "y": 47.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S01:2",
        "S05:0"
      ],
      "kind": "material_door",
      "zone_id": "merge"
    },
    {
      "id": "routing-r1-017",
      "building_id": "foam",
      "x": 44.03,
      "y": 66.8,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S02:2",
        "S05:4"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-018",
      "building_id": "foam",
      "x": 44.03,
      "y": 66.8,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S02:2",
        "S05:4"
      ],
      "kind": "material_door",
      "zone_id": "foam"
    },
    {
      "id": "routing-r1-019",
      "building_id": "merge",
      "x": 45.0,
      "y": 53.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S02:2",
        "S05:4"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-020",
      "building_id": "merge",
      "x": 45.0,
      "y": 53.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S02:2",
        "S05:4"
      ],
      "kind": "material_door",
      "zone_id": "merge"
    },
    {
      "id": "routing-r1-021",
      "building_id": "merge",
      "x": 107.5,
      "y": 56.12,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S04:0",
        "S05:7"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-022",
      "building_id": "textile",
      "x": 112.5,
      "y": 56.12,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S04:0",
        "S05:7"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-023",
      "building_id": "merge",
      "x": 107.5,
      "y": 56.12,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S04:0",
        "S05:7"
      ],
      "kind": "material_door",
      "zone_id": "merge"
    },
    {
      "id": "routing-r1-024",
      "building_id": "textile",
      "x": 112.5,
      "y": 56.12,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S04:0",
        "S05:7"
      ],
      "kind": "material_door",
      "zone_id": "textile"
    },
    {
      "id": "routing-r1-025",
      "building_id": "materials",
      "x": 35.0,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "raw-dock",
        "materials"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-026",
      "building_id": "materials",
      "x": 43.37,
      "y": 38,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "materials",
        "S01:2"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-027",
      "building_id": "frames",
      "x": 39.0,
      "y": 48.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "materials",
        "S01:2"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-028",
      "building_id": "frames",
      "x": 39.0,
      "y": 48.5,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "materials",
        "S01:2"
      ],
      "kind": "material_door",
      "zone_id": "frames"
    },
    {
      "id": "routing-r1-029",
      "building_id": "merge",
      "x": 107.5,
      "y": 62.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S08:2",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-030",
      "building_id": "merge",
      "x": 107.5,
      "y": 62.7,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "S08:2",
        "dispatch-stock"
      ],
      "kind": "material_door",
      "zone_id": "merge"
    },
    {
      "id": "routing-r1-031",
      "building_id": "dispatch-stock",
      "x": 126.05,
      "y": 14,
      "width": 1.95,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "S08:2",
        "dispatch-stock"
      ],
      "kind": "material_door"
    },
    {
      "id": "routing-r1-032",
      "building_id": "support",
      "x": 77.5,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a07-staff"
      ],
      "kind": "pedestrian_door"
    },
    {
      "id": "routing-r1-033",
      "building_id": "support",
      "x": 77.5,
      "y": 14,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "gate",
        "a07-staff"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-office"
    },
    {
      "id": "routing-r1-034",
      "building_id": "support",
      "x": 78.8,
      "y": 20.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "gate",
        "a07-staff"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-office"
    },
    {
      "id": "routing-r1-035",
      "building_id": "support",
      "x": 78.8,
      "y": 20.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "gate",
        "a07-staff"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-staff"
    },
    {
      "id": "routing-r1-036",
      "building_id": "support",
      "x": 91.4,
      "y": 20.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a07-staff",
        "a07-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-staff"
    },
    {
      "id": "routing-r1-037",
      "building_id": "support",
      "x": 91.4,
      "y": 20.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a07-staff",
        "a07-lab"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-lab"
    },
    {
      "id": "routing-r1-038",
      "building_id": "support",
      "x": 79.92,
      "y": 26.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a07-staff",
        "a07-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-staff"
    },
    {
      "id": "routing-r1-039",
      "building_id": "support",
      "x": 79.92,
      "y": 26.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a07-staff",
        "a07-maint"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-maint"
    },
    {
      "id": "routing-r1-040",
      "building_id": "support",
      "x": 82.02,
      "y": 26.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a07-staff",
        "a07-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-staff"
    },
    {
      "id": "routing-r1-041",
      "building_id": "support",
      "x": 82.02,
      "y": 26.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "x",
      "connects": [
        "a07-staff",
        "a07-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-maint"
    },
    {
      "id": "routing-r1-042",
      "building_id": "support",
      "x": 83.0,
      "y": 32.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a07-staff",
        "a07-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-maint"
    },
    {
      "id": "routing-r1-043",
      "building_id": "support",
      "x": 83.0,
      "y": 32.0,
      "width": 1.75,
      "height": 2.4,
      "sill_height": 0,
      "axis": "y",
      "connects": [
        "a07-staff",
        "a07-utility"
      ],
      "kind": "pedestrian_door",
      "zone_id": "a07-utility"
    }
  ],
  "density": {
    "intent": "설비 바닥 687.20㎡ / 제조 구획 2994.63㎡ = 22.95%. 개별 생산 셀의 서비스 간격·공정 인계와 실제 원부자재·정비·검사 시설을 먼저 구성했다. 빈 바닥을 채우기 위한 임의 장식 상자를 사용하지 않는다.",
    "production_area_m2": 2994.63,
    "storage_area_m2": 1778.4,
    "support_area_m2": 1008.0,
    "circulation_area_m2": 0
  },
  "authoring_note": "개별 배치안. 형상·동작·피난·법정 안전설계 검수 및 시각 검수는 별도 수행해야 하며 공개 릴리스 승인 아님.",
  "routing_revision": 2
}
