{
  "type": "excalidraw",
  "version": 2,
  "source": "yggy-docs",
  "elements": [
    {
      "id": "title",
      "type": "text",
      "x": 220,
      "y": 10,
      "width": 360,
      "height": 25,
      "text": "Infrastructure Model v2 — Core Concepts",
      "fontSize": 18,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#1e1e1e"
    },
    {
      "id": "perimeter-tree-frame",
      "type": "rectangle",
      "x": 40,
      "y": 50,
      "width": 340,
      "height": 320,
      "strokeColor": "#1971c2",
      "backgroundColor": "#e7f5ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": { "type": 3 },
      "opacity": 40
    },
    {
      "id": "perimeter-tree-title",
      "type": "text",
      "x": 130,
      "y": 58,
      "width": 160,
      "height": 20,
      "text": "Perimeter Tree",
      "fontSize": 16,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#1971c2"
    },
    {
      "id": "p-root",
      "type": "ellipse",
      "x": 160,
      "y": 90,
      "width": 100,
      "height": 40,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2
    },
    {
      "id": "p-root-label",
      "type": "text",
      "x": 177,
      "y": 100,
      "width": 66,
      "height": 20,
      "text": "Perimeter",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "arrow-root-c1",
      "type": "arrow",
      "x": 185,
      "y": 130,
      "width": 40,
      "height": 30,
      "points": [[0, 0], [-40, 30]],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow"
    },
    {
      "id": "arrow-root-c2",
      "type": "arrow",
      "x": 235,
      "y": 130,
      "width": 40,
      "height": 30,
      "points": [[0, 0], [40, 30]],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow"
    },
    {
      "id": "p-child1",
      "type": "ellipse",
      "x": 80,
      "y": 165,
      "width": 100,
      "height": 40,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2
    },
    {
      "id": "p-child1-label",
      "type": "text",
      "x": 97,
      "y": 175,
      "width": 66,
      "height": 20,
      "text": "Perimeter",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "p-child2",
      "type": "ellipse",
      "x": 230,
      "y": 165,
      "width": 100,
      "height": 40,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2
    },
    {
      "id": "p-child2-label",
      "type": "text",
      "x": 247,
      "y": 175,
      "width": 66,
      "height": 20,
      "text": "Perimeter",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "arrow-c1-leaf1",
      "type": "arrow",
      "x": 110,
      "y": 205,
      "width": 20,
      "height": 25,
      "points": [[0, 0], [-20, 25]],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow"
    },
    {
      "id": "arrow-c1-leaf2",
      "type": "arrow",
      "x": 150,
      "y": 205,
      "width": 20,
      "height": 25,
      "points": [[0, 0], [20, 25]],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow"
    },
    {
      "id": "arrow-c2-leaf3",
      "type": "arrow",
      "x": 280,
      "y": 205,
      "width": 0,
      "height": 25,
      "points": [[0, 0], [0, 25]],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow"
    },
    {
      "id": "p-leaf1",
      "type": "ellipse",
      "x": 55,
      "y": 235,
      "width": 80,
      "height": 35,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "strokeWidth": 1
    },
    {
      "id": "p-leaf1-label",
      "type": "text",
      "x": 63,
      "y": 243,
      "width": 66,
      "height": 20,
      "text": "Perimeter\n(CIDR)",
      "fontSize": 9,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "p-leaf2",
      "type": "ellipse",
      "x": 145,
      "y": 235,
      "width": 80,
      "height": 35,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "strokeWidth": 1
    },
    {
      "id": "p-leaf2-label",
      "type": "text",
      "x": 153,
      "y": 243,
      "width": 66,
      "height": 20,
      "text": "Perimeter\n(CIDR)",
      "fontSize": 9,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "p-leaf3",
      "type": "ellipse",
      "x": 240,
      "y": 235,
      "width": 80,
      "height": 35,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "strokeWidth": 1
    },
    {
      "id": "p-leaf3-label",
      "type": "text",
      "x": 248,
      "y": 243,
      "width": 66,
      "height": 20,
      "text": "Perimeter\n(CIDR)",
      "fontSize": 9,
      "fontFamily": 1,
      "textAlign": "center"
    },
    {
      "id": "tree-desc",
      "type": "text",
      "x": 60,
      "y": 290,
      "width": 300,
      "height": 60,
      "text": "• Single recursive type\n• Unlimited depth\n• CIDRs at any level\n• Parent references form the tree",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#495057"
    },
    {
      "id": "features-frame",
      "type": "rectangle",
      "x": 420,
      "y": 50,
      "width": 340,
      "height": 320,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#ebfbee",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": { "type": 3 },
      "opacity": 40
    },
    {
      "id": "features-title",
      "type": "text",
      "x": 500,
      "y": 58,
      "width": 180,
      "height": 20,
      "text": "Network Features",
      "fontSize": 16,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#2f9e44"
    },
    {
      "id": "nexthop-box",
      "type": "rectangle",
      "x": 450,
      "y": 95,
      "width": 280,
      "height": 100,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": { "type": 3 }
    },
    {
      "id": "nexthop-title",
      "type": "text",
      "x": 540,
      "y": 103,
      "width": 100,
      "height": 20,
      "text": "NextHop",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#1e1e1e"
    },
    {
      "id": "nexthop-desc",
      "type": "text",
      "x": 465,
      "y": 125,
      "width": 250,
      "height": 60,
      "text": "Routing intent:\n\"Traffic from Perimeter X\n  destined for CIDR Y\n  goes through address Z\"",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#495057"
    },
    {
      "id": "peering-box",
      "type": "rectangle",
      "x": 450,
      "y": 215,
      "width": 280,
      "height": 100,
      "strokeColor": "#e03131",
      "backgroundColor": "#ffc9c9",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": { "type": 3 }
    },
    {
      "id": "peering-title",
      "type": "text",
      "x": 545,
      "y": 223,
      "width": 90,
      "height": 20,
      "text": "Peering",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#1e1e1e"
    },
    {
      "id": "peering-desc",
      "type": "text",
      "x": 465,
      "y": 245,
      "width": 250,
      "height": 60,
      "text": "Direct connectivity:\n\"Perimeters A and B\n  can communicate directly\n  without traversing a hop\"",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#495057"
    },
    {
      "id": "features-note",
      "type": "text",
      "x": 455,
      "y": 330,
      "width": 280,
      "height": 30,
      "text": "• Attached to a parent Perimeter\n• First-class objects (not implicit)",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#495057"
    },
    {
      "id": "connector-arrow",
      "type": "arrow",
      "x": 380,
      "y": 200,
      "width": 40,
      "height": 0,
      "points": [[0, 0], [40, 0]],
      "strokeColor": "#868e96",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "endArrowhead": "arrow",
      "startArrowhead": "arrow"
    },
    {
      "id": "connector-label",
      "type": "text",
      "x": 365,
      "y": 207,
      "width": 70,
      "height": 15,
      "text": "attached to",
      "fontSize": 9,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#868e96"
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}
