Appearance
obj+me.virmesh.world.manifest
key-authoritative world の署名対象 core manifest です。
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
worldManifestme.virmesh.world.manifest
Fields
worldIdstringRequiredworld identifier です。形式は medi:world:<scheme>:<publicKey> です。
schemastringRequiredmanifest schema identifier です。v1 では obj+me.virmesh.world.manifest を使います。
versionIdstringRequiredmanifest の immutable version identifier です。
endpointstringRequiredこの manifest を解決する WorldServer の absolute URL です。
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 では resolveManifest と hostLiveSession を定義します。
payload.issuedAtintegerRequireddelegation を発行した epoch second です。
payload.expiresAtintegerOptionaldelegation の任意の期限です。epoch second で表します。省略時は明示的に取り消されるまで有効な long-lived delegation として扱います。
signaturestringRequiredcanonical JSON of payload に対する world identity key の署名です。
worldProtocolsobject[]Requiredクライアントが live session に使える protocol 一覧です。各要素は name, version を持ちます。接続先やポートなどの instance 固有の値は、instance object 側の worldProtocols[].information に載せます。
worldProtocols[].namestringRequiredprotocol identifier です。例: me.virmesh.world.websocket。
worldProtocols[].versionstringRequiredprotocol version です。
assetsobject[]Optionalscene などの asset entry 一覧です。各 entry は kind, contentType, profile, url, hash, size を持ちます。
assets[].kindstringRequiredscene などの asset 種別です。
assets[].contentTypestringRequiredHTTP content type です。
assets[].profilestringRequiredglb, gltf などの実装 profile です。
assets[].urlstringRequiredasset を取得する absolute URL です。
assets[].hashstringRequiredasset body の content hash です。v1 では sha256:<base64url> を使います。
assets[].sizeintegerRequiredasset body の byte size です。
updated_atintegerRequiredmanifest を更新した 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
| Kind | Reference | Field |
|---|---|---|
| Action response (200) | me.virmesh.world.resolveWorld | payload.manifest |
| Status payload | status+me.virmesh.success.worldResolved | payload.manifest |