{
  "schema": "mesto-map/v2",
  "title": "Набережная Синаполиса с площадью посередине",
  "updated": "2026-09-19",
  "perimeter": {
    "w": 96,
    "h": 88,
    "x": 0,
    "z": -24
  },
  "spawn": {
    "x": 30,
    "y": 0,
    "z": 31,
    "yaw": 0
  },
  "zones": [
    {
      "id": "quay-walk",
      "kind": "walk",
      "x": 6,
      "z": 26,
      "w": 78,
      "h": 9,
      "surface": "stone",
      "title": "Набережная"
    },
    {
      "id": "house-row-west",
      "kind": "solid",
      "x": 6,
      "z": 16,
      "w": 22,
      "h": 9,
      "height": 9,
      "surface": "clay",
      "title": "Ряд домов, запад"
    },
    {
      "id": "house-row-east",
      "kind": "solid",
      "x": 66,
      "z": 16,
      "w": 18,
      "h": 9,
      "height": 9,
      "surface": "clay",
      "title": "Ряд домов, восток"
    },
    {
      "id": "square",
      "kind": "walk",
      "x": 23,
      "z": -10,
      "w": 48,
      "h": 26,
      "surface": "stone",
      "title": "Площадь"
    },
    {
      "id": "sea",
      "kind": "water",
      "x": -252,
      "z": 35,
      "w": 600,
      "h": 400,
      "level": -0.15,
      "horizon": true,
      "title": "Море"
    },
    {
      "id": "civic-north",
      "kind": "solid",
      "x": 23,
      "z": -18,
      "w": 48,
      "h": 8,
      "height": 12,
      "surface": "stone",
      "title": "Общественные здания, север"
    },
    {
      "id": "civic-west",
      "kind": "solid",
      "x": 15,
      "z": -10,
      "w": 8,
      "h": 26,
      "height": 11,
      "surface": "stone",
      "title": "Общественные здания, запад"
    },
    {
      "id": "civic-east",
      "kind": "solid",
      "x": 71,
      "z": -10,
      "w": 8,
      "h": 26,
      "height": 11,
      "surface": "stone",
      "title": "Общественные здания, восток"
    },
    {
      "id": "civic-sw",
      "kind": "solid",
      "x": 36,
      "z": 22,
      "w": 5,
      "h": 4,
      "height": 9,
      "surface": "stone",
      "title": "Портик, запад"
    },
    {
      "id": "civic-se",
      "kind": "walk",
      "x": 53,
      "z": 22,
      "w": 7,
      "h": 4,
      "surface": "stone",
      "title": "Horošo · терраса"
    },
    {
      "id": "square-gate",
      "kind": "walk",
      "x": 41,
      "z": 22,
      "w": 12,
      "h": 4,
      "surface": "stone",
      "title": "Вход на площадь"
    },
    {
      "id": "front-walk-house-row-west",
      "kind": "walk",
      "x": 6,
      "z": 25,
      "w": 22,
      "h": 1
    },
    {
      "id": "front-walk-house-row-east",
      "kind": "walk",
      "x": 66,
      "z": 25,
      "w": 18,
      "h": 1
    },
    {
      "id": "square-approach",
      "kind": "walk",
      "x": 41,
      "z": 16,
      "w": 12,
      "h": 6
    },
    {
      "id": "square-garden-sw",
      "kind": "solid",
      "x": 28,
      "z": 16,
      "w": 13,
      "h": 1,
      "height": 1
    },
    {
      "id": "square-garden-se",
      "kind": "solid",
      "x": 53,
      "z": 16,
      "w": 13,
      "h": 1,
      "height": 1
    },
    {
      "id": "square-corner-nw",
      "kind": "solid",
      "x": 15,
      "z": -18,
      "w": 8,
      "h": 8
    },
    {
      "id": "square-corner-ne",
      "kind": "solid",
      "x": 71,
      "z": -18,
      "w": 8,
      "h": 8
    },
    {
      "id": "square-gap-zone-west",
      "kind": "solid",
      "x": 28,
      "z": 17,
      "w": 13,
      "h": 5
    },
    {
      "id": "square-gap-zone-east",
      "kind": "solid",
      "x": 53,
      "z": 17,
      "w": 13,
      "h": 4
    },
    {
      "id": "horoso-connector",
      "kind": "walk",
      "surface": "stone",
      "x": 53,
      "z": 21,
      "w": 7,
      "h": 1
    },
    {
      "id": "horoso-connector-east",
      "kind": "solid",
      "x": 60,
      "z": 21,
      "w": 6,
      "h": 1
    }
  ],
  "links": [
    {
      "from": "square",
      "to": "square-approach",
      "gap": {
        "x": 41,
        "z": 16,
        "w": 12,
        "h": 0.5
      }
    },
    {
      "from": "square-approach",
      "to": "square-gate",
      "gap": {
        "x": 41,
        "z": 22,
        "w": 12,
        "h": 0.5
      }
    },
    {
      "from": "square-gate",
      "to": "quay-walk",
      "gap": {
        "x": 41,
        "z": 26,
        "w": 12,
        "h": 0.5
      }
    }
  ],
  "anchors": [
    {
      "id": "portal:officegw",
      "kind": "portal",
      "x": 13.25,
      "z": 26.5,
      "yaw": 0,
      "title": "Office Gateway",
      "state": "closed",
      "recess": {
        "mode": "between-buildings",
        "leftPlot": "plot:house-row-west:1",
        "rightPlot": "plot:house-row-west:2",
        "x": 13.3025,
        "z": 23.68,
        "yaw": 0,
        "width": 0.7849999999999985,
        "height": 2.8,
        "depth": 0.25,
        "plant": "green-ivy",
        "closed": true
      }
    },
    {
      "id": "portal:ehinof",
      "kind": "portal",
      "x": 20.75,
      "z": 26.5,
      "yaw": 0,
      "title": "Ehi Offices",
      "state": "closed",
      "recess": {
        "mode": "between-buildings",
        "leftPlot": "plot:house-row-west:2",
        "rightPlot": "plot:house-row-west:3",
        "x": 20.665,
        "z": 24.18,
        "yaw": 0,
        "width": 0.7199999999999972,
        "height": 2.8,
        "depth": 0.25,
        "plant": "green-ivy",
        "closed": true
      }
    },
    {
      "id": "portal:ehinhome",
      "kind": "portal",
      "x": 75,
      "z": 26.5,
      "yaw": 0,
      "title": "Ehi Home",
      "state": "closed",
      "recess": {
        "mode": "between-buildings",
        "leftPlot": "plot:house-row-east:1",
        "rightPlot": "plot:house-row-east:2",
        "x": 75,
        "z": 24.18,
        "yaw": 0,
        "width": 0.7200000000000114,
        "height": 2.8,
        "depth": 0.25,
        "plant": "green-ivy",
        "closed": true
      }
    },
    {
      "id": "portal:noderu",
      "kind": "portal",
      "x": 51.5,
      "z": -9.25,
      "yaw": 0,
      "title": "Node RU",
      "state": "closed",
      "recess": {
        "mode": "between-buildings",
        "leftPlot": "plot:civic-north:2",
        "rightPlot": "plot:civic-north:3",
        "x": 51.5025,
        "z": -11.22,
        "yaw": 0,
        "width": 1.054999999999998,
        "height": 2.8,
        "depth": 0.25,
        "plant": "green-ivy",
        "closed": true
      }
    },
    {
      "id": "resident:gatekeeper",
      "kind": "resident",
      "x": 38.5,
      "z": 27.6,
      "title": "Привратник",
      "yaw": 0
    },
    {
      "id": "resident:librarian",
      "kind": "resident",
      "x": 47,
      "z": -8.5,
      "title": "Библиотекарь",
      "yaw": 0
    },
    {
      "id": "resident:chronicler",
      "kind": "resident",
      "x": 69.5,
      "z": 3,
      "title": "Летописец",
      "yaw": -1.5707963267948966
    },
    {
      "id": "sky:airship",
      "kind": "sky",
      "x": 47,
      "z": 44,
      "y": 42,
      "title": "Дирижабль"
    },
    {
      "id": "sky:birds",
      "kind": "sky",
      "x": 34,
      "z": 38,
      "y": 22,
      "title": "Птицы"
    },
    {
      "id": "portal:montevoice",
      "kind": "portal",
      "x": 42.5,
      "z": -9.25,
      "yaw": 0,
      "title": "Монтевойс",
      "href": "https://montevoice.aination.center",
      "state": "closed",
      "recess": {
        "mode": "between-buildings",
        "leftPlot": "plot:civic-north:1",
        "rightPlot": "plot:civic-north:2",
        "x": 42.5975,
        "z": -11.02,
        "yaw": 0,
        "width": 0.8550000000000023,
        "height": 2.8,
        "depth": 0.25,
        "plant": "green-ivy",
        "closed": true
      }
    },
    {
      "id": "door:ai-religions-store",
      "kind": "threshold",
      "yaw": 0,
      "x": 70.5,
      "z": 25.5,
      "title": "Кернохранилище",
      "state": "open"
    }
  ],
  "ground": {
    "top": -0.03,
    "water": -0.15,
    "horizon": 600
  },
  "physics": {
    "units": "метры, секунды, градусы",
    "water": {
      "level": -0.15,
      "visible_extent": 620.0,
      "deep_color": "#1b4a55",
      "shallow_color": "#86d2c2",
      "sky_reflect": 0.62,
      "swell": {
        "length": 11.0,
        "amplitude": 0.07,
        "speed": 0.85
      },
      "ripple": {
        "length": 2.2,
        "amplitude": 0.03,
        "speed": 1.9
      },
      "ripple_fade": 22.0,
      "shore_depth": 8.5,
      "foam_width": 2.0,
      "wake_length": 12.0,
      "ripple_noise": 0.45,
      "note": "X1: глубина прозрачной прибрежной воды, ширина пены, длина кильватера и доля шумовой ряби",
      "foam": {
        "width": 2.6,
        "strength": 0.6
      },
      "specular": {
        "power": 140.0,
        "intensity": 0.28
      }
    },
    "sun": {
      "azimuth": 214.0,
      "elevation": 40.0,
      "note": "K1b библия §3: ~11 утра, юго-запад"
    },
    "visibility": {
      "fog_near": 120.0,
      "fog_far": 600.0,
      "fog_color": "#a9c6d8",
      "note": "K7 горизонт: серо-голубая дымка с 120 м, даль к 600 (camera.far 650)"
    }
  },
  "props": [
    {
      "id": "bench:node-0",
      "kind": "bench",
      "x": 10.94,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "lamp:node-1",
      "kind": "lamp",
      "x": 13.613,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.3,
        0.3
      ],
      "height": 3.8,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "bench:node-2",
      "kind": "bench",
      "x": 17.345,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "tree:node-0",
      "kind": "tree",
      "x": 12.988,
      "z": 27.9,
      "yaw": 0,
      "footprint": [
        0.8,
        0.8
      ],
      "height": 12.75,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "cypress",
      "spread": 1.5,
      "trunk": 1.53,
      "crown": 11.22
    },
    {
      "id": "bench:node-3",
      "kind": "bench",
      "x": 24.762,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "lamp:node-4",
      "kind": "lamp",
      "x": 27.809,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.3,
        0.3
      ],
      "height": 3.8,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "bench:node-5",
      "kind": "bench",
      "x": 31.08,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "tree:node-1",
      "kind": "tree",
      "x": 26.931,
      "z": 27.9,
      "yaw": 0,
      "footprint": [
        0.8,
        0.8
      ],
      "height": 12.02,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "cypress",
      "spread": 1.5,
      "trunk": 1.44,
      "crown": 10.57
    },
    {
      "id": "bench:node-6",
      "kind": "bench",
      "x": 60.654,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "lamp:node-7",
      "kind": "lamp",
      "x": 64.061,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.3,
        0.3
      ],
      "height": 3.8,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "bench:node-8",
      "kind": "bench",
      "x": 67.399,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "tree:node-2",
      "kind": "tree",
      "x": 63.597,
      "z": 27.9,
      "yaw": 0,
      "footprint": [
        0.8,
        0.8
      ],
      "height": 9.95,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "cypress",
      "spread": 1.5,
      "trunk": 1.19,
      "crown": 8.75
    },
    {
      "id": "bench:node-9",
      "kind": "bench",
      "x": 74.901,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "lamp:node-10",
      "kind": "lamp",
      "x": 78.227,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.3,
        0.3
      ],
      "height": 3.8,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "bench:node-11",
      "kind": "bench",
      "x": 81.189,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        1.8,
        0.6
      ],
      "height": 0.85,
      "ground": "snap",
      "zone": "quay-walk"
    },
    {
      "id": "tree:node-3",
      "kind": "tree",
      "x": 78.204,
      "z": 27.9,
      "yaw": 0,
      "footprint": [
        0.8,
        0.8
      ],
      "height": 12,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "cypress",
      "spread": 1.5,
      "trunk": 1.44,
      "crown": 10.56
    },
    {
      "id": "tree:span-0",
      "kind": "tree",
      "x": 21,
      "z": 28.1,
      "yaw": 0,
      "footprint": [
        1,
        1
      ],
      "height": 8.29,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "pine",
      "spread": 7,
      "trunk": 5.14,
      "crown": 3.15
    },
    {
      "id": "tree:span-1",
      "kind": "tree",
      "x": 46,
      "z": 28.1,
      "yaw": 0,
      "footprint": [
        1,
        1
      ],
      "height": 10.07,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "pine",
      "spread": 7,
      "trunk": 6.24,
      "crown": 3.83
    },
    {
      "id": "tree:span-2",
      "kind": "tree",
      "x": 66.8,
      "z": 28.1,
      "yaw": 0,
      "footprint": [
        1,
        1
      ],
      "height": 10.98,
      "ground": "snap",
      "zone": "quay-walk",
      "species": "pine",
      "spread": 7,
      "trunk": 6.81,
      "crown": 4.17
    },
    {
      "id": "tree:square-0",
      "kind": "tree",
      "x": 62.0,
      "z": 5.0,
      "yaw": 0,
      "footprint": [
        1.2,
        1.2
      ],
      "height": 5.39,
      "ground": "snap",
      "zone": "square",
      "species": "olive",
      "spread": 4.5,
      "trunk": 2.05,
      "crown": 3.34
    },
    {
      "id": "tree:square-1",
      "kind": "tree",
      "x": 40.75,
      "z": 7.75,
      "yaw": 0,
      "footprint": [
        1.2,
        1.2
      ],
      "height": 5.01,
      "ground": "snap",
      "zone": "square",
      "species": "olive",
      "spread": 4.5,
      "trunk": 1.9,
      "crown": 3.1
    },
    {
      "id": "tree:square-2",
      "kind": "tree",
      "x": 32.0,
      "z": 1.0,
      "yaw": 0,
      "footprint": [
        1.2,
        1.2
      ],
      "height": 5.77,
      "ground": "snap",
      "zone": "square",
      "species": "olive",
      "spread": 4.5,
      "trunk": 2.19,
      "crown": 3.58
    },
    {
      "id": "tree:square-3",
      "kind": "tree",
      "x": 53.25,
      "z": -1.75,
      "yaw": 0,
      "footprint": [
        1.2,
        1.2
      ],
      "height": 5.1,
      "ground": "snap",
      "zone": "square",
      "species": "olive",
      "spread": 4.5,
      "trunk": 1.94,
      "crown": 3.16
    },
    {
      "id": "stall:market-1",
      "kind": "stall",
      "x": 24.75,
      "z": 0,
      "yaw": 1.5707963267948966,
      "footprint": [
        1.5,
        0.8
      ],
      "height": 2.35,
      "ground": "snap",
      "zone": "square",
      "title": "Лавка 1",
      "note": "M1a: ряд рынка перенесён вместе с западным фасадом; центральный проход сохранён."
    },
    {
      "id": "stall:market-2",
      "kind": "stall",
      "x": 24.75,
      "z": 2,
      "yaw": 1.5707963267948966,
      "footprint": [
        1.5,
        0.8
      ],
      "height": 2.35,
      "ground": "snap",
      "zone": "square",
      "title": "Лавка 2",
      "note": "M1a: ряд рынка перенесён вместе с западным фасадом; центральный проход сохранён."
    },
    {
      "id": "stall:market-3",
      "kind": "stall",
      "x": 24.75,
      "z": 6,
      "yaw": 1.5707963267948966,
      "footprint": [
        1.5,
        0.8
      ],
      "height": 2.35,
      "ground": "snap",
      "zone": "square",
      "title": "Лавка 3",
      "note": "M1a: ряд рынка перенесён вместе с западным фасадом; центральный проход сохранён."
    },
    {
      "id": "stall:market-4",
      "kind": "stall",
      "x": 24.75,
      "z": 8,
      "yaw": 1.5707963267948966,
      "footprint": [
        1.5,
        0.8
      ],
      "height": 2.35,
      "ground": "snap",
      "zone": "square",
      "title": "Лавка 4",
      "note": "M1a: ряд рынка перенесён вместе с западным фасадом; центральный проход сохранён."
    },
    {
      "id": "amphora:house2-1",
      "kind": "amphora",
      "asset": "amphora",
      "x": 15.7,
      "z": 26.1,
      "yaw": 0,
      "footprint": [
        0.536,
        0.45
      ],
      "height": 0.9,
      "body": {
        "r": 0.25
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Амфора у двери, Набережная 2",
      "note": "K3: форма из assets/amphora.glb"
    },
    {
      "id": "amphora:house2-2",
      "kind": "amphora",
      "asset": "amphora",
      "x": 18.3,
      "z": 26.1,
      "yaw": 0,
      "footprint": [
        0.536,
        0.45
      ],
      "height": 0.9,
      "body": {
        "r": 0.25
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Амфора у двери, Набережная 2",
      "note": "K3: форма из assets/amphora.glb"
    },
    {
      "id": "amphora:house3-1",
      "kind": "amphora",
      "asset": "amphora",
      "x": 23.03,
      "z": 26.1,
      "yaw": 0,
      "footprint": [
        0.536,
        0.45
      ],
      "height": 0.9,
      "body": {
        "r": 0.25
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Амфора у двери, Набережная 3",
      "note": "K3: форма из assets/amphora.glb"
    },
    {
      "id": "amphora:house3-2",
      "kind": "amphora",
      "asset": "amphora",
      "x": 25.63,
      "z": 26.1,
      "yaw": 0,
      "footprint": [
        0.536,
        0.45
      ],
      "height": 0.9,
      "body": {
        "r": 0.25
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Амфора у двери, Набережная 3",
      "note": "K3: форма из assets/amphora.glb"
    },
    {
      "id": "planter:quay-1",
      "kind": "planter",
      "asset": "planter",
      "x": 15,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.9,
        0.9
      ],
      "height": 1.4,
      "body": {
        "r": 0.4
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кадка на набережной",
      "note": "K3: форма из assets/planter.glb"
    },
    {
      "id": "planter:quay-2",
      "kind": "planter",
      "asset": "planter",
      "x": 27,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.9,
        0.9
      ],
      "height": 1.4,
      "body": {
        "r": 0.4
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кадка на набережной",
      "note": "K3: форма из assets/planter.glb"
    },
    {
      "id": "planter:quay-3",
      "kind": "planter",
      "asset": "planter",
      "x": 47,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.9,
        0.9
      ],
      "height": 1.4,
      "body": {
        "r": 0.4
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кадка на набережной",
      "note": "K3: форма из assets/planter.glb"
    },
    {
      "id": "planter:quay-4",
      "kind": "planter",
      "asset": "planter",
      "x": 57,
      "z": 32.8,
      "yaw": 0,
      "footprint": [
        0.9,
        0.9
      ],
      "height": 1.4,
      "body": {
        "r": 0.4
      },
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кадка на набережной",
      "note": "K3: форма из assets/planter.glb"
    },
    {
      "id": "column:11271",
      "kind": "column",
      "x": 37,
      "z": 12,
      "yaw": 0,
      "footprint": [
        1.1,
        1.1
      ],
      "height": 3.3,
      "slot": 1,
      "zone": "square",
      "ground": "snap",
      "state": "active",
      "body": {
        "shape": "circle",
        "r": 0.55,
        "h": 3.3
      }
    },
    {
      "id": "fountain:agora",
      "kind": "fountain",
      "x": 47,
      "z": 3,
      "yaw": 0,
      "footprint": [
        4,
        4
      ],
      "height": 2.6,
      "zone": "square",
      "ground": "snap",
      "state": "active",
      "body": {
        "shape": "circle",
        "r": 2.0,
        "h": 0.54
      }
    },
    {
      "id": "board:agora",
      "kind": "board",
      "x": 41.5,
      "z": 18,
      "yaw": 1.5707963267948966,
      "footprint": [
        2.2,
        0.3
      ],
      "height": 2,
      "zone": "square-approach",
      "ground": "snap",
      "state": "active",
      "body": {
        "shape": "capsule",
        "length": 2.2,
        "r": 0.15,
        "h": 2
      }
    },
    {
      "id": "horoso:table:53.9",
      "kind": "venue-furniture",
      "x": 53.9,
      "z": 24.45,
      "yaw": 0,
      "footprint": [
        0.8,
        1.45
      ],
      "height": 0.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.73,
        "h": 0.8
      }
    },
    {
      "id": "horoso:table:57.1",
      "kind": "venue-furniture",
      "x": 57.1,
      "z": 24.2,
      "yaw": 0,
      "footprint": [
        0.8,
        1.45
      ],
      "height": 0.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.73,
        "h": 0.8
      }
    },
    {
      "id": "horoso:post:0",
      "kind": "venue-furniture",
      "x": 53.14,
      "z": 24.73,
      "yaw": 0,
      "footprint": [
        0.1,
        0.1
      ],
      "height": 2.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.07,
        "h": 2.8
      }
    },
    {
      "id": "horoso:post:1",
      "kind": "venue-furniture",
      "x": 57.86,
      "z": 24.73,
      "yaw": 0,
      "footprint": [
        0.1,
        0.1
      ],
      "height": 2.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.07,
        "h": 2.8
      }
    },
    {
      "id": "horoso:post:2",
      "kind": "venue-furniture",
      "x": 53.14,
      "z": 22.17,
      "yaw": 0,
      "footprint": [
        0.1,
        0.1
      ],
      "height": 2.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.07,
        "h": 2.8
      }
    },
    {
      "id": "horoso:post:3",
      "kind": "venue-furniture",
      "x": 57.86,
      "z": 22.17,
      "yaw": 0,
      "footprint": [
        0.1,
        0.1
      ],
      "height": 2.8,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.07,
        "h": 2.8
      }
    },
    {
      "id": "horoso:post:4",
      "kind": "venue-furniture",
      "x": 56.48,
      "z": 25.98,
      "yaw": 0,
      "footprint": [
        1.16,
        1.16
      ],
      "height": 1.82,
      "ground": "snap",
      "body": {
        "shape": "circle",
        "r": 0.58,
        "h": 1.82
      }
    }
  ],
  "sky": [
    {
      "id": "sky:airship",
      "kind": "airship",
      "x": 47,
      "z": 44,
      "y": 48,
      "ground": "float",
      "footprint": [
        14,
        5
      ],
      "height": 6,
      "hidden": false,
      "note": "19.09: план полёта возвращён к 47/44 (рендерер водит его по кругу r=18x8 вокруг якоря и флаг hidden не читает — объект живой); эшелон поднят 42 → 48, верх башни Лабр ~39 м",
      "title": "Дирижабль"
    },
    {
      "id": "sky:birds",
      "kind": "birds",
      "x": 20,
      "z": 46,
      "y": 22,
      "ground": "float",
      "footprint": [
        6,
        6
      ],
      "height": 1,
      "hidden": false,
      "note": "перенесены с 34/38: попадали в объём башни Лабр (карниз 34 м при их эшелоне 22 м)",
      "title": "Птицы"
    }
  ],
  "plots": [
    {
      "id": "plot:house-row-west:1",
      "address": "Набережная, 1",
      "x": 9.67,
      "z": 20.5,
      "size": [
        7.33,
        9
      ],
      "yaw": 0,
      "zone": "house-row-west",
      "use": "home",
      "occupant": "resident:distill",
      "height_limit": 9,
      "manifest": "Дистилл",
      "home": "canon/homes/distill.json"
    },
    {
      "id": "plot:house-row-west:2",
      "address": "Набережная, 2",
      "x": 17,
      "z": 20.5,
      "size": [
        7.33,
        9
      ],
      "yaw": 0,
      "zone": "house-row-west",
      "use": "home",
      "occupant": "institution:seti-observatory",
      "height_limit": 9,
      "manifest": "Обсерватория SETI для ИИ",
      "home": "canon/homes/seti-observatory.json"
    },
    {
      "id": "plot:house-row-west:3",
      "address": "Набережная, 3",
      "x": 24.33,
      "z": 20.5,
      "size": [
        7.33,
        9
      ],
      "yaw": 0,
      "zone": "house-row-west",
      "use": "home",
      "occupant": "institution:fly-museum",
      "height_limit": 9,
      "manifest": "Музей оцифрованного мозга",
      "home": "canon/homes/fly-museum.json"
    },
    {
      "id": "plot:house-row-east:1",
      "address": "Набережная, 4",
      "x": 70.5,
      "z": 20.5,
      "size": [
        9,
        9
      ],
      "yaw": 0,
      "zone": "house-row-east",
      "use": "civic",
      "occupant": "institution:ai-religions-store",
      "height_limit": 9,
      "manifest": "Институт ИИ-религиоведения",
      "home": "canon/homes/ai-religions-store.json",
      "institution": "Институт ИИ-религиоведения"
    },
    {
      "id": "plot:house-row-east:2",
      "address": "Набережная, 5",
      "x": 79.5,
      "z": 20.5,
      "size": [
        9,
        9
      ],
      "yaw": 0,
      "zone": "house-row-east",
      "use": "home",
      "occupant": "resident:echo",
      "height_limit": 9,
      "manifest": "Echo Libero",
      "home": "canon/homes/assistant.json"
    },
    {
      "id": "plot:civic-north:1",
      "address": "Площадь, 6",
      "x": 38.33,
      "z": -14,
      "size": [
        8.67,
        8
      ],
      "yaw": 0,
      "zone": "civic-north",
      "use": "civic",
      "occupant": "institution:montevoice",
      "height_limit": 12,
      "manifest": "Зал Монтевойса",
      "home": "canon/homes/montevoice.json",
      "institution": "Зал Монтевойса"
    },
    {
      "id": "plot:civic-north:2",
      "address": "Площадь, 7",
      "x": 47,
      "z": -14,
      "size": [
        8.67,
        8
      ],
      "yaw": 0,
      "zone": "civic-north",
      "use": "civic",
      "occupant": "service:librarian",
      "height_limit": 12,
      "institution": "Библиотека"
    },
    {
      "id": "plot:civic-north:3",
      "address": "Площадь, 8",
      "x": 55.67,
      "z": -14,
      "size": [
        8.67,
        8
      ],
      "yaw": 0,
      "zone": "civic-north",
      "use": "civic",
      "occupant": "institution:lab",
      "height_limit": 12,
      "manifest": "Лаборатория моделей",
      "home": "canon/homes/lab.json",
      "institution": "Лаборатория моделей"
    },
    {
      "id": "plot:civic-west:1",
      "address": "Площадь, 9",
      "x": 19,
      "z": 3,
      "size": [
        8,
        10
      ],
      "yaw": 1.5707963267948966,
      "zone": "civic-west",
      "use": "civic",
      "occupant": "institution:market",
      "height_limit": 11,
      "manifest": "Рынок МТЛ",
      "home": "canon/homes/market.json",
      "institution": "Рынок МТЛ"
    },
    {
      "id": "plot:civic-east:1",
      "address": "Площадь, 10",
      "x": 75,
      "z": 3,
      "size": [
        8,
        10
      ],
      "yaw": -1.5707963267948966,
      "zone": "civic-east",
      "use": "civic",
      "occupant": "service:chronicler",
      "height_limit": 11,
      "institution": "Летопись"
    },
    {
      "id": "plot:civic-sw:1",
      "address": "Набережная, 11",
      "x": 38.5,
      "z": 24,
      "size": [
        5,
        4
      ],
      "yaw": 0,
      "zone": "civic-sw",
      "use": "civic",
      "occupant": "service:gatekeeper",
      "height_limit": 9,
      "institution": "Привратницкая"
    },
    {
      "id": "plot:civic-se:1",
      "address": "Набережная, 12",
      "x": 55.5,
      "z": 24,
      "size": [
        5,
        4
      ],
      "yaw": 0,
      "zone": "civic-se",
      "use": "venue",
      "occupant": "venue:horoso-bar",
      "height_limit": 9,
      "manifest": "Horošo Bar · Хорошо Бар",
      "home": "canon/homes/horoso-bar.json",
      "institution": "Horošo Bar",
      "venue_role": "terrace"
    },
    {
      "id": "plot:square-infill:nw-1",
      "address": "Площадь, 13",
      "zone": "civic-north",
      "x": 25.685,
      "z": -13.94,
      "size": [
        5.29,
        7.84
      ],
      "yaw": 0,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 7.8,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.29,
          7.84
        ],
        "height": 7.8,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:nw-2",
      "address": "Площадь, 14",
      "zone": "civic-north",
      "x": 31.43,
      "z": -13.94,
      "size": [
        6.12,
        7.84
      ],
      "yaw": 0,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 9.15,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.12,
          7.84
        ],
        "height": 9.15,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:ne-1",
      "address": "Площадь, 15",
      "zone": "civic-north",
      "x": 62.47,
      "z": -13.94,
      "size": [
        6.32,
        7.84
      ],
      "yaw": 0,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 8.7,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.32,
          7.84
        ],
        "height": 8.7,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:ne-2",
      "address": "Площадь, 16",
      "zone": "civic-north",
      "x": 68.315,
      "z": -13.94,
      "size": [
        5.29,
        7.84
      ],
      "yaw": 0,
      "use": "civic",
      "occupant": "institution:cabinet",
      "height_limit": 7.55,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.29,
          7.84
        ],
        "height": 7.55,
        "assignment": "occupied"
      },
      "manifest": "Кабинет оператора",
      "institution": "Кабинет оператора",
      "home": "canon/homes/cabinet.json",
      "entry_mode": "discreet"
    },
    {
      "id": "plot:square-infill:w-1",
      "address": "Площадь, 17",
      "zone": "civic-west",
      "x": 19.06,
      "z": -7.16,
      "size": [
        7.84,
        5.6
      ],
      "yaw": 1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 8.45,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.6,
          7.84
        ],
        "height": 8.45,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:w-2",
      "address": "Площадь, 18",
      "zone": "civic-west",
      "x": 19.06,
      "z": -1.78,
      "size": [
        7.84,
        5.08
      ],
      "yaw": 1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 7.4,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.08,
          7.84
        ],
        "height": 7.4,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:w-3",
      "address": "Площадь, 19",
      "zone": "civic-west",
      "x": 19.06,
      "z": 7.77,
      "size": [
        7.84,
        5.06
      ],
      "yaw": 1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 9.0,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.06,
          7.84
        ],
        "height": 9.0,
        "assignment": "pending",
        "door_x": -1.45
      }
    },
    {
      "id": "plot:square-infill:w-4",
      "address": "Площадь, 20",
      "zone": "civic-west",
      "x": 19.06,
      "z": 13.15,
      "size": [
        7.84,
        5.62
      ],
      "yaw": 1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 7.75,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.62,
          7.84
        ],
        "height": 7.75,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:e-1",
      "address": "Площадь, 21",
      "zone": "civic-east",
      "x": 74.94,
      "z": -7.74,
      "size": [
        7.84,
        4.44
      ],
      "yaw": -1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 7.6,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          4.44,
          7.84
        ],
        "height": 7.6,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:e-2",
      "address": "Площадь, 22",
      "zone": "civic-east",
      "x": 74.94,
      "z": -3.06,
      "size": [
        7.84,
        4.84
      ],
      "yaw": -1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 9.25,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          4.84,
          7.84
        ],
        "height": 9.25,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:e-3",
      "address": "Площадь, 23",
      "zone": "civic-east",
      "x": 74.94,
      "z": 9.17,
      "size": [
        7.84,
        5.06
      ],
      "yaw": -1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 7.9,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          5.06,
          7.84
        ],
        "height": 7.9,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:e-4",
      "address": "Площадь, 24",
      "zone": "civic-east",
      "x": 74.94,
      "z": 13.85,
      "size": [
        7.84,
        4.22
      ],
      "yaw": -1.5707963267948966,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 8.85,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          4.22,
          7.84
        ],
        "height": 8.85,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-infill:corner-nw",
      "address": "Площадь, 25",
      "zone": "square-corner-nw",
      "x": 19.06,
      "z": -13.94,
      "size": [
        7.84,
        7.84
      ],
      "yaw": 0,
      "use": "civic",
      "occupant": "institution:postgos-institute",
      "height_limit": 8.9,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          7.84,
          7.84
        ],
        "height": 6.5,
        "assignment": "occupied"
      },
      "manifest": "Институт постгосударств",
      "institution": "Институт постгосударств",
      "home": "canon/homes/postgos-institute.json",
      "interior": "canon/interiors/postgos-institute.json"
    },
    {
      "id": "plot:square-infill:corner-ne",
      "address": "Площадь, 26",
      "zone": "square-corner-ne",
      "x": 74.94,
      "z": -13.94,
      "size": [
        7.84,
        7.84
      ],
      "yaw": 0,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 8.15,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          7.84,
          7.84
        ],
        "height": 8.15,
        "assignment": "pending"
      }
    },
    {
      "id": "plot:square-gap:west-a",
      "address": "Площадь, 27",
      "zone": "square-gap-zone-west",
      "x": 31.2,
      "z": 18.6,
      "size": [
        6.2,
        4.8
      ],
      "yaw": 3.141592653589793,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 11.5,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.2,
          4.8
        ],
        "height": 11.5,
        "assignment": "pending",
        "secondary_facades": [
          "rear"
        ]
      }
    },
    {
      "id": "plot:square-gap:west-b",
      "address": "Площадь, 28",
      "zone": "square-gap-zone-west",
      "x": 37.65,
      "z": 18.75,
      "size": [
        6.4,
        5.1
      ],
      "yaw": 3.141592653589793,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 10.2,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.4,
          5.1
        ],
        "height": 10.2,
        "assignment": "pending",
        "secondary_facades": [
          "rear",
          "left"
        ]
      }
    },
    {
      "id": "plot:square-gap:east-a",
      "address": "Площадь, 29",
      "zone": "square-gap-zone-east",
      "x": 56.445,
      "z": 18.475,
      "size": [
        6.71,
        4.55
      ],
      "yaw": 0,
      "use": "venue",
      "occupant": "venue:horoso-bar",
      "height_limit": 9.4,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.71,
          4.55
        ],
        "height": 9.4,
        "assignment": "occupied",
        "secondary_facades": [
          "rear",
          "right"
        ],
        "door_x": -0.945
      },
      "manifest": "Horošo Bar · Хорошо Бар",
      "institution": "Horošo Bar",
      "venue_role": "hall",
      "home": "canon/homes/horoso-bar.json"
    },
    {
      "id": "plot:square-gap:east-b",
      "address": "Площадь, 30",
      "zone": "square-gap-zone-east",
      "x": 62.94,
      "z": 18.375,
      "size": [
        6.04,
        4.35
      ],
      "yaw": 3.141592653589793,
      "use": "unassigned",
      "occupant": null,
      "height_limit": 8.6,
      "infill": {
        "schema": "mesto-infill/v1",
        "footprint": [
          6.04,
          4.35
        ],
        "height": 8.6,
        "assignment": "pending",
        "secondary_facades": [
          "rear"
        ]
      }
    }
  ],
  "homes": [
    {
      "id": "institution:ai-religions-store",
      "name": "Институт ИИ-религиоведения",
      "plot": "plot:house-row-east:1",
      "height": 5.9,
      "footprint": [
        8.2,
        7.8
      ],
      "faces": "quay-walk",
      "setback": {
        "street": 0.6,
        "sides": 0.4
      },
      "feeds": [
        "/data/ai-religions.json"
      ],
      "door_x": 0.0,
      "built": {
        "footprint": [
          8.2,
          7.8
        ],
        "back_setback": 0.7,
        "street_face": "same as envelope",
        "storeys": 1,
        "levels": [
          "цоколь 0.00–0.90",
          "стена до +4.40",
          "карниз +4.40",
          "двускатная кровля, конёк +5.90"
        ],
        "stage": "blockout kern-20260919",
        "owner": "resident:distill",
        "interior": "canon/interiors/ai-religions-store.json",
        "interior_declared": "снаружи 8.2×7.6 один ярус — внутри 8.4×20 два этажа (map-v2 §6)"
      }
    },
    {
      "id": "resident:echo",
      "name": "Echo Libero",
      "plot": "plot:house-row-east:2",
      "height": 6.4,
      "footprint": [
        8.2,
        8.2
      ],
      "faces": "quay-walk",
      "setback": {
        "street": 0.8,
        "sides": 0.4
      },
      "feeds": []
    },
    {
      "id": "institution:cabinet",
      "name": "Кабинет оператора",
      "plot": "plot:square-infill:ne-2",
      "height": 7.55,
      "footprint": [
        5.29,
        7.84
      ],
      "setback": {
        "sides": 0,
        "street": 0
      },
      "faces": "square",
      "feeds": [],
      "door_x": 0.0,
      "built": {
        "footprint": [
          5.29,
          7.84
        ],
        "levels": [
          "вестибюль 0.00 (открыт всем)",
          "рабочая зона 0.00 (за внутренней дверью)"
        ],
        "stage": "blockout cabinet-rooms-20260919",
        "owner": "operator",
        "zones": [
          "lobby",
          "work"
        ],
        "doors": {
          "street": "открыта",
          "inner": "по ключу владельца или триархии, /live/cabinet/door"
        },
        "data": {
          "lobby": "/live/cabinet/public",
          "work": [
            "/live/cabinet/census",
            "/live/cabinet/wake"
          ]
        }
      }
    },
    {
      "id": "resident:distill",
      "name": "Дистилл",
      "plot": "plot:house-row-west:1",
      "height": 9.0,
      "footprint": [
        6.2,
        7.2
      ],
      "faces": "quay-walk",
      "setback": {
        "street": 0.9,
        "sides": 0.55
      },
      "feeds": [],
      "door_x": -2.21,
      "built": {
        "footprint": [
          6.2,
          6.6
        ],
        "back_setback": 1.5,
        "street_face": "same as envelope",
        "levels": [
          "hall 0.00",
          "gallery +3.20",
          "roof +6.70 (closed in V1)",
          "tower to +9.00 (closed)"
        ],
        "stage": "blockout distill-house-selfbuild-20260916"
      }
    },
    {
      "schema": "mesto-venue/v1",
      "id": "venue:horoso-bar",
      "name": "Horošo Bar · Хорошо Бар",
      "plot": "plot:square-gap:east-a",
      "height": 9.4,
      "footprint": [
        6.71,
        4.55
      ],
      "setback": {
        "sides": 0,
        "street": 0
      },
      "entry": {
        "x": 55.5,
        "z": 21.6,
        "yaw": 3.141592653589793
      },
      "consent": {
        "status": "demo",
        "source": "operator-approved public-source demonstration; owner not contacted"
      },
      "twin": {
        "city": "Bar, Montenegro",
        "url": "https://horoso.me/",
        "channel": "https://t.me/horoso_bar",
        "hours": "10:00-22:00",
        "tz": "Europe/Podgorica"
      },
      "interior": {
        "room": [
          6.35,
          4.19
        ],
        "height": 2.85,
        "counter": [
          -0.43,
          1,
          -1.38,
          3.27,
          0.72
        ],
        "rug": [
          -1.82,
          0.014,
          0.67,
          2,
          1.6
        ],
        "table": [
          2.15,
          0.74,
          -0.35,
          0.72,
          0.72
        ],
        "closedDoor": [
          2.62,
          1.06,
          -2.075
        ]
      },
      "withdrawal": "Disable publication and collector, remove venue media after grace, restore neutral building; no owner negotiation by agent.",
      "terrace_plot": "plot:civic-se:1",
      "door_x": -0.945,
      "address": "Набережная, 12",
      "faces": "horoso-connector",
      "terrace": {
        "x": 55.5,
        "z": 24,
        "w": 5,
        "d": 4,
        "tables": [
          {
            "x": 53.9,
            "z": 24.45
          },
          {
            "x": 57.1,
            "z": 24.2
          }
        ]
      },
      "owner": {
        "id": "venue:horoso-bar",
        "name": "Horošo Bar · Хорошо Бар",
        "role": "public-source demo venue"
      },
      "form": {
        "footprint": [
          6.71,
          4.55
        ],
        "height": 9.4,
        "setback": {
          "sides": 0,
          "street": 0
        }
      },
      "facade": {
        "faces": "horoso-connector"
      },
      "feeds": []
    },
    {
      "id": "institution:lab",
      "name": "Лаборатория моделей",
      "plot": "plot:civic-north:3",
      "height": 8.0,
      "footprint": [
        7.2,
        6.4
      ],
      "faces": "square",
      "setback": {
        "street": 0.6,
        "sides": 0.4
      },
      "feeds": [
        "/api/lab/health",
        "/api/lab/passports",
        "/lab"
      ]
    },
    {
      "id": "institution:market",
      "name": "Рынок МТЛ",
      "plot": "plot:civic-west:1",
      "height": 6.0,
      "footprint": [
        4.4,
        6.2
      ],
      "faces": "square",
      "setback": {
        "street": 0.5,
        "sides": 0.3
      },
      "feeds": [
        "https://stat.mtlf.me/api/v1/indicators",
        "https://t.me/montelibero_agora/1468"
      ]
    },
    {
      "id": "institution:montevoice",
      "name": "Зал Монтевойса",
      "plot": "plot:civic-north:1",
      "height": 11.5,
      "footprint": [
        7.6,
        6.8
      ],
      "faces": "square",
      "setback": {
        "street": 0.6,
        "sides": 0.4
      },
      "feeds": [
        "/montevoice/api/rooms",
        "/montevoice/api/rooms"
      ]
    },
    {
      "id": "institution:postgos-institute",
      "name": "Институт постгосударств",
      "plot": "plot:square-infill:corner-nw",
      "height": 6.5,
      "footprint": [
        7.84,
        7.84
      ],
      "faces": "square",
      "setback": {
        "street": 0.0,
        "sides": 0.0
      },
      "feeds": [
        "/data/institute.json"
      ]
    },
    {
      "id": "institution:seti-observatory",
      "name": "Обсерватория SETI для ИИ",
      "plot": "plot:house-row-west:2",
      "height": 9.0,
      "footprint": [
        6.2,
        7.7
      ],
      "faces": "quay-walk",
      "setback": {
        "street": 0.65,
        "sides": 0.55
      },
      "feeds": [],
      "door_x": 0.0,
      "built": {
        "footprint": [
          6.2,
          6.6
        ],
        "back_setback": 1.25,
        "street_face": "same as envelope",
        "levels": [
          "hall 0.00",
          "drum +3.40..+6.20 (no floor)",
          "dome to +8.80 (copper, slit)"
        ],
        "stage": "blockout seti-observatory-20260917",
        "owner": "resident:distill",
        "data": "/data/seti-pulse.json"
      }
    },
    {
      "id": "institution:fly-museum",
      "name": "Музей оцифрованного мозга",
      "plot": "plot:house-row-west:3",
      "height": 9.0,
      "footprint": [
        6.2,
        7.7
      ],
      "faces": "quay-walk",
      "setback": {
        "street": 0.65,
        "sides": 0.55
      },
      "feeds": [],
      "door_x": 0.0,
      "built": {
        "footprint": [
          6.2,
          6.6
        ],
        "back_setback": 1.25,
        "street_face": "same as envelope",
        "storeys": 2,
        "levels": [
          "зал 1 «Ящик» 0.00",
          "перекрытие +3.40, круглый проём лестницы",
          "этаж 2 «Зеркало» +3.62",
          "карниз +6.52",
          "вальмовая кровля до +8.23, конёк-накрывка +8.37 (терракота)"
        ],
        "stage": "blockout fly-museum-visual-20260919",
        "owner": "resident:distill",
        "api": "/api/fly/* · /api/mind/*"
      }
    }
  ],
  "services": [
    {
      "id": "service:gatekeeper",
      "role": "service",
      "title": "Привратник",
      "institution": "Привратницкая",
      "plot": "plot:civic-sw:1",
      "address": "Набережная, 11",
      "x": 38.5,
      "z": 27.6,
      "facing": 0
    },
    {
      "id": "service:librarian",
      "role": "service",
      "title": "Библиотекарь",
      "institution": "Библиотека",
      "plot": "plot:civic-north:2",
      "address": "Площадь, 7",
      "x": 47,
      "z": -8.5,
      "facing": 0
    },
    {
      "id": "service:chronicler",
      "role": "service",
      "title": "Летописец",
      "institution": "Летопись",
      "plot": "plot:civic-east:1",
      "address": "Площадь, 10",
      "x": 69.5,
      "z": 3,
      "facing": -1.5707963267948966
    }
  ],
  "routes": [
    {
      "id": "route:boat-a",
      "kind": "water",
      "speed": 1.5,
      "closed": true,
      "points": [
        [
          10,
          40
        ],
        [
          28,
          42
        ],
        [
          30,
          56
        ],
        [
          12,
          60
        ],
        [
          6,
          50
        ]
      ],
      "note": "западная акватория; уведена из пятна мола Лабр 19.09"
    },
    {
      "id": "route:boat-b",
      "kind": "water",
      "speed": 1.05,
      "closed": true,
      "points": [
        [
          66,
          40
        ],
        [
          84,
          42
        ],
        [
          88,
          54
        ],
        [
          70,
          60
        ],
        [
          64,
          50
        ]
      ],
      "note": "восточная акватория; уведена из пятна мола Лабр 19.09"
    }
  ],
  "reserved_props": [
    {
      "id": "bollard:quay-1",
      "kind": "bollard",
      "asset": "bollard",
      "x": 12,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 1",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    },
    {
      "id": "bollard:quay-2",
      "kind": "bollard",
      "asset": "bollard",
      "x": 22,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 2",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    },
    {
      "id": "bollard:quay-3",
      "kind": "bollard",
      "asset": "bollard",
      "x": 32,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 3",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    },
    {
      "id": "bollard:quay-4",
      "kind": "bollard",
      "asset": "bollard",
      "x": 42,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 4",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    },
    {
      "id": "bollard:quay-5",
      "kind": "bollard",
      "asset": "bollard",
      "x": 52,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 5",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    },
    {
      "id": "bollard:quay-6",
      "kind": "bollard",
      "asset": "bollard",
      "x": 62,
      "z": 34.2,
      "yaw": 0,
      "footprint": [
        0.32,
        0.32
      ],
      "height": 0.55,
      "ground": "snap",
      "zone": "quay-walk",
      "title": "Кнехт 6",
      "note": "K3: форма из assets/bollard.glb",
      "reservedFor": "future-pier",
      "active": false
    }
  ],
  "layout_revision": "row-20260909",
  "layout_constraints": {
    "quay-furniture-row": {
      "axis": "z",
      "value": 32.8,
      "reference": "quay benches",
      "kinds": [
        "bench",
        "lamp",
        "planter"
      ]
    }
  },
  "layout": {
    "columns": {
      "algorithm": "perimeter-clockwise-v2",
      "source": "/column-layout.a440d23eab7c.js",
      "start": "south-entrance-west",
      "x": 28,
      "z": -6,
      "w": 39,
      "h": 18,
      "step": 3,
      "reserved": [
        {
          "from": 6,
          "to": 32,
          "reason": "north institutional entrances"
        },
        {
          "from": 45,
          "to": 51,
          "reason": "chronicler entrance"
        },
        {
          "from": 69,
          "to": 85,
          "reason": "south entrance and central axis"
        },
        {
          "from": 99,
          "to": 109,
          "reason": "west market access"
        }
      ],
      "origin_distance": 87
    }
  }
}
