Thing/web/eve-runtime-capability.json
2026-07-10 16:34:08 +01:00

127 lines
3.9 KiB
JSON

{
"schema": "gamecult.eve.runtime_capability.v1",
"runtimeId": "web",
"title": "Web Reference",
"owner": "Eve",
"incubation": {
"ownerRepo": "Eve",
"currentHostRepo": "Eve",
"splitTarget": "Eve",
"graduationTrigger": "Stay in Eve while it is the behavior oracle; split only if it becomes a deployable runtime product."
},
"supportedFeatures": [
"embeddedDocuments",
"providerAdvertisements",
"odinProviderDiscovery",
"genericWorldDiscovery",
"providerAssets",
"stateBindings",
"styleTokens",
"authorityWitnesses"
],
"supportedPlugins": [
{
"pluginId": "fields.surface",
"capabilities": [
"field.surface2d",
"gravity.surface",
"field.scalar",
"field.vector",
"field.objects"
],
"projection": "packages/eve-browser-lowering/src/fields-browser-adapter.ts"
},
{
"pluginId": "sai.vn",
"capabilities": [
"vn.stage",
"story.choose",
"story.continue",
"story.jump"
],
"projection": "packages/eve-browser-lowering/src/index.ts"
},
{
"pluginId": "norn.graph",
"capabilities": [
"embed.norn"
],
"projection": "packages/eve-browser-lowering/src/index.ts"
},
{
"pluginId": "tex.math",
"capabilities": [
"embed.tex"
],
"projection": "packages/eve-browser-lowering/src/index.ts"
}
],
"unsupportedPlugins": [],
"commandTransport": {
"schema": "gamecult.eve.command_invocation.v1",
"emitter": "createEveCommandIntent",
"clientId": "browser.reference"
},
"worldSurfaceLowering": [
{
"targetId": "web-reference",
"surfaceKinds": ["interactive-world", "interactive-world-editor"],
"projectionKinds": ["provider-authored-world-surface", "provider-authored-world-editor-surface"],
"supportLevel": "reference-dom-canvas-command-boundary",
"ownership": "runtime-lowers-provider-world-surface-without-owning-world-state",
"evidencePaths": [
"web/surface.js",
"web/hermodr-provider-catalog.mjs",
"scripts/start-browser-reference.ps1",
"packages/eve-browser-lowering/src/index.ts",
"web/fixtures/eve-world-smoke.provider-advertisement.json"
]
}
],
"lifecycle": {
"release": {
"ownerRepo": "Eve",
"status": "reference-oracle-in-core",
"evidencePaths": [
"web/index.html",
"web/surface.js",
"web/provider-advertisements.mjs",
"packages/eve-browser-lowering/src/index.ts"
],
"pendingProofs": [
"Split to EveWeb only if the browser reference gains independent deployment and release lifecycle."
]
},
"test": {
"ownerRepo": "Eve",
"status": "node-tests-and-parity-harness",
"command": "node --test web/*.test.mjs && npm --prefix packages/eve-browser-lowering test && powershell -ExecutionPolicy Bypass -File .\\scripts\\run-parity-harness.ps1",
"evidencePaths": [
"web/eve-dsl.test.mjs",
"web/provider-advertisements.test.mjs",
"web/hermodr-provider-catalog.test.mjs",
"packages/eve-browser-lowering/test/browser-lowering.test.mjs",
"scripts/run-parity-harness.ps1"
],
"pendingProofs": []
},
"capture": {
"ownerRepo": "Eve",
"status": "chrome-headless",
"evidencePaths": [
"scripts/capture-web-reference.ps1",
"scripts/run-web-reference-layout-probe-smoke.ps1",
"tools/web-reference/run-layout-probe.mjs",
"web/layout-probe.html",
"web/layout-probe.js",
"scripts/run-parity-smoke.ps1",
"tools/parity/render-contact-sheet.py"
],
"pendingProofs": []
}
},
"capture": {
"status": "chrome-headless",
"note": "Browser reference captures phone, tablet, and desktop PNGs through provider query parameters while preserving provider-owned truth."
}
}