{
  "id": "type-h36",
  "revision": "d0cfe6b9fe7b64c2e9aa7950298bde41ed1d19fbae612caaf69f8df7a5abc5b7",
  "regions": [
    {
      "id": "mobile",
      "label": "Mobile",
      "parent": null
    },
    {
      "id": "common-logic",
      "label": "Common logic",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "list",
      "label": "Item list Surface",
      "kind": "N11",
      "region": "mobile",
      "ports": [
        {
          "id": "open",
          "profile": "P11",
          "contract": "ItemDetailRoutePayloadV1",
          "polarity": "Offer"
        },
        {
          "id": "state",
          "profile": "P08",
          "contract": "ItemListStateV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "route",
      "label": "Item detail RouteNode",
      "kind": "N12",
      "region": "mobile",
      "ports": [
        {
          "id": "push",
          "profile": "P11",
          "contract": "ItemDetailRoutePayloadV1",
          "polarity": "Require"
        },
        {
          "id": "routeBinding",
          "profile": "P08",
          "contract": "ItemDetailRouteBindingV1",
          "polarity": "Offer"
        },
        {
          "id": "navBinding",
          "profile": "P08",
          "contract": "ItemNavigationBindingV1",
          "polarity": "Offer"
        },
        {
          "id": "return",
          "profile": "P01",
          "contract": "EditedItemReturnV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "detail",
      "label": "Compose detail Surface",
      "kind": "N11",
      "region": "mobile",
      "ports": [
        {
          "id": "routeBinding",
          "profile": "P08",
          "contract": "ItemDetailRouteBindingV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "host",
      "label": "Navigation container",
      "kind": "N10",
      "region": "mobile",
      "ports": [
        {
          "id": "navBinding",
          "profile": "P08",
          "contract": "ItemNavigationBindingV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "state",
      "label": "Item list state",
      "kind": "N05",
      "region": "common-logic",
      "ports": [
        {
          "id": "result",
          "profile": "P01",
          "contract": "EditedItemReturnV1",
          "polarity": "Require"
        },
        {
          "id": "state",
          "profile": "P08",
          "contract": "ItemListStateV1",
          "polarity": "Offer"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "push",
      "kind": "H36",
      "incidences": [
        {
          "node": "list",
          "port": "open",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "route",
          "port": "push",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "route-binding",
      "kind": "H30",
      "incidences": [
        {
          "node": "route",
          "port": "routeBinding",
          "role": "export",
          "ordinal": 0
        },
        {
          "node": "detail",
          "port": "routeBinding",
          "role": "import",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "navigation",
      "kind": "H30",
      "incidences": [
        {
          "node": "route",
          "port": "navBinding",
          "role": "export",
          "ordinal": 0
        },
        {
          "node": "host",
          "port": "navBinding",
          "role": "import",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "return",
      "kind": "H36",
      "incidences": [
        {
          "node": "route",
          "port": "return",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "state",
          "port": "result",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "render",
      "kind": "H02",
      "incidences": [
        {
          "node": "state",
          "port": "state",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "list",
          "port": "state",
          "role": "target",
          "ordinal": 0
        }
      ]
    }
  ]
}
