Skip to content

obj+me.virmesh.world.manifest

key-authoritative world の署名対象 core manifest です。

draft

Description

world の識別子、schema、version、hosting delegation、protocol、asset entry をまとめた core manifest です。 me.virmesh.world.resolveWorld の response では、この object 全体を world identity key で署名します。 表示名や instance 作成ポリシーなどの拡張情報は、payload.modules に署名付き module として返します。

Aliases

  • worldManifest
  • me.virmesh.world.manifest

Fields

worldIdstringRequired

world identifier です。形式は medi:world:<scheme>:<publicKey> です。

schemastringRequired

manifest schema identifier です。v1 では obj+me.virmesh.world.manifest を使います。

versionIdstringRequired

manifest の immutable version identifier です。

endpointstringRequired

この manifest を解決する WorldServer の absolute URL です。

hostingDelegationworldHostingDelegationRequired

WorldServer がこの world の解決または live session hosting を委任されていることを示す署名付き object です。

References obj+me.virmesh.world.hostingDelegation : world identity key が WorldServer に hosting capability を委任した object です。

payload.worldIdstringRequired

委任元の world identifier です。形式は medi:world:<scheme>:<publicKey> です。

payload.serverstringRequired

委任先 WorldServer の absolute URL です。

payload.capabilitiesstring[]Required

委任する capability 一覧です。v1 では resolveManifesthostLiveSession を定義します。

payload.issuedAtintegerRequired

delegation を発行した epoch second です。

payload.expiresAtintegerOptional

delegation の任意の期限です。epoch second で表します。省略時は明示的に取り消されるまで有効な long-lived delegation として扱います。

signaturestringRequired

canonical JSON of payload に対する world identity key の署名です。

worldProtocolsobject[]Required

クライアントが live session に使える protocol 一覧です。各要素は name, version を持ちます。接続先やポートなどの instance 固有の値は、instance object 側の worldProtocols[].information に載せます。

worldProtocols[].namestringRequired

protocol identifier です。例: me.virmesh.world.websocket

worldProtocols[].versionstringRequired

protocol version です。

assetsobject[]Optional

scene などの asset entry 一覧です。各 entry は kind, contentType, profile, url, hash, size を持ちます。

assets[].kindstringRequired

scene などの asset 種別です。

assets[].contentTypestringRequired

HTTP content type です。

assets[].profilestringRequired

glb, gltf などの実装 profile です。

assets[].urlstringRequired

asset を取得する absolute URL です。

assets[].hashstringRequired

asset body の content hash です。v1 では sha256:<base64url> を使います。

assets[].sizeintegerRequired

asset body の byte size です。

updated_atintegerRequired

manifest を更新した epoch second です。

Examples

world manifest

{
  "worldId": "medi:world:ed25519:base64url-world-public-key",
  "schema": "obj+me.virmesh.world.manifest",
  "versionId": "2026-04-26T00:00:00Z",
  "endpoint": "https://worlds.example.com/",
  "hostingDelegation": {
    "payload": {
      "worldId": "medi:world:ed25519:base64url-world-public-key",
      "server": "https://worlds.example.com/",
      "capabilities": [
        "resolveManifest",
        "hostLiveSession"
      ],
      "issuedAt": 1770000000
    },
    "signature": "base64-signature-by-world-key"
  },
  "worldProtocols": [
    {
      "name": "me.virmesh.world.websocket",
      "version": "1.0.0"
    }
  ],
  "updated_at": 1770000100
}

Related objects

Referenced by

KindReferenceField
Action response (200)me.virmesh.world.resolveWorldpayload.manifest
Status payloadstatus+me.virmesh.success.worldResolvedpayload.manifest