{
  "id": "nested-language-boundary",
  "revision": "ebe45be1d6412df7481e346f81934c233e1ca1b6cf7c0c7676a58520e704830d",
  "regions": [
    {
      "id": "device",
      "label": "Qualified device host"
    },
    {
      "id": "logic",
      "label": "Kotlin/common → Kotlin JS",
      "parent": "device"
    },
    {
      "id": "host",
      "label": "KMP host adapter",
      "parent": "device"
    },
    {
      "id": "native",
      "label": "C++ native codec",
      "parent": "device"
    }
  ],
  "nodes": [
    {
      "id": "logic",
      "label": "RGL common Kotlin logic",
      "kind": "N01",
      "region": "logic",
      "ports": [
        {
          "id": "invoke",
          "profile": "P02",
          "contract": "CodecCallV1",
          "polarity": "Require"
        },
        {
          "id": "frame",
          "profile": "P16",
          "contract": "OwnedCodecFrameV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "host",
      "label": "Qualified Reaktor FFI host",
      "kind": "N27",
      "region": "host",
      "ports": [
        {
          "id": "call",
          "profile": "P02",
          "contract": "CodecCallV1",
          "polarity": "Offer"
        },
        {
          "id": "native",
          "profile": "P02",
          "contract": "CodecCallV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "codec",
      "label": "C++ codec / native resource",
      "kind": "N16",
      "region": "native",
      "ports": [
        {
          "id": "invoke",
          "profile": "P02",
          "contract": "CodecCallV1",
          "polarity": "Offer"
        },
        {
          "id": "frame",
          "profile": "P16",
          "contract": "OwnedCodecFrameV1",
          "polarity": "Offer"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "host-call",
      "kind": "H05",
      "incidences": [
        {
          "node": "logic",
          "port": "invoke",
          "role": "caller",
          "ordinal": 0
        },
        {
          "node": "host",
          "port": "call",
          "role": "callee",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "native-call",
      "kind": "H05",
      "incidences": [
        {
          "node": "host",
          "port": "native",
          "role": "caller",
          "ordinal": 0
        },
        {
          "node": "codec",
          "port": "invoke",
          "role": "callee",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "owned-frame",
      "kind": "H02",
      "incidences": [
        {
          "node": "codec",
          "port": "frame",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "logic",
          "port": "frame",
          "role": "sink",
          "ordinal": 0
        }
      ]
    }
  ]
}
