{ "schema": "gamecult.eve.runtime_capability.v1", "runtimeId": "electron-shell", "title": "Electron shell", "owner": "EveElectron", "incubation": { "ownerRepo": "EveElectron", "currentHostRepo": "EveElectron", "splitTarget": "EveElectron", "graduationTrigger": "Graduated: the runtime body and package are owned here." }, "supportedFeatures": [ "providerAdvertisements", "commandTransport", "surfaceTreeProjection", "embeddedDocuments", "pluginProjection", "securePreloadBridge", "windowLifecycle", "liveProviderHost", "providerAssets" ], "supportedPlugins": [ { "pluginId": "sai.vn", "capabilities": ["vn.stage", "story.choose", "story.continue", "story.jump"], "projectionAdapter": "EveElectronShell.buildPluginProjection" }, { "pluginId": "norn.graph", "capabilities": ["embed.norn"], "projectionAdapter": "EveElectronShell.buildPluginProjection" }, { "pluginId": "tex.math", "capabilities": ["embed.tex", "tex.inline", "tex.block"], "projectionAdapter": "EveElectronShell.buildPluginProjection" } ], "unsupportedPlugins": [], "worldSurfaceLowering": [ { "targetId": "electron-shell", "surfaceKinds": ["interactive-world", "interactive-world-editor"], "projectionKinds": ["provider-authored-world-surface", "provider-authored-world-editor-surface"], "supportLevel": "provider-shell-surface-tree-command-surface", "ownership": "runtime-lowers-provider-world-surface-without-owning-world-state", "evidencePaths": [ "src/eve-electron-shell.mjs", "src/window-host.mjs", "src/eve-provider-preload.cjs", "src/eve-provider-preload-entry.cjs", "src/eve-electron-renderer.mjs", "src/live-provider-host.mjs", "test/shell.test.mjs", "test/window-host.test.mjs", "test/preload.test.cjs", "test/renderer.test.mjs", "test/live-provider-host.test.mjs" ] } ], "commandTransport": { "schema": "gamecult.eve.command_invocation.v1", "status": "active", "emitter": "EveElectronShell.createCommandIntent", "clientId": "electron-shell", "authority": "Electron emits command intents through provider-advertised boundaries; providers accept, deny, and publish receipts." }, "lifecycle": { "release": { "ownerRepo": "EveElectron", "status": "owner-npm-package", "releaseContract": { "ownerRepo": "EveElectron", "packageName": "@gamecult/eve-electron", "packageRoot": ".", "versionSource": "package.json", "tagPattern": "eveelectron-v{version}", "artifactKind": "npm-package", "requestSchema": "gamecult.eve.runtime_release_request.v1", "requestBuilder": "npm pack", "artifactPattern": "gamecult-eve-electron-{version}.tgz", "publishProof": "npm pack is produced from the EveElectron owner repository." }, "evidencePaths": ["../EveElectron/package.json", "../EveElectron/package-lock.json", "../EveElectron/src/index.mjs", "../EveElectron/src/index.d.ts"], "pendingProofs": [] }, "test": { "ownerRepo": "EveElectron", "status": "owner-package-tests-and-aetheria-live-smoke", "testContract": { "ownerRepo": "EveElectron", "runnerKind": "node-and-provider-live-smoke", "runnerScript": "npm test", "consumerProject": "E:\\Projects\\Aetheria", "packageName": "@gamecult/eve-electron", "testAssembly": "test/*.test.*", "testPlatform": "Node contract tests plus Electron", "resultsArtifact": "Aetheria.Rts.Web Stage 7C smoke result", "logArtifact": "Aetheria.Rts.Web Stage 7C log", "manifestMutation": "Aetheria consumes the package through a file dependency; provider state remains Aetheria-owned." }, "evidencePaths": ["../EveElectron/test/shell.test.mjs", "../EveElectron/test/window-host.test.mjs", "../EveElectron/test/preload.test.cjs"], "pendingProofs": [] }, "capture": { "ownerRepo": "EveElectron", "status": "owner-window-captures", "captureContract": { "ownerRepo": "EveElectron", "runtimeId": "electron-shell", "targetId": "electron-shell", "requestSchema": "gamecult.eve.runtime_capture_request.v1", "requestBuilder": "scripts/capture-conformance.ps1", "advertisementPath": "provider-supplied", "captureKind": "electron-window-png", "artifactKind": "png", "artifactPattern": "artifacts/capture/{providerId}/{surfaceId}.png", "conformanceAttachment": "runtime.captureArtifacts[]", "requiredProvider": "aetheria", "requiredSurface": "aetheria.daemon.game", "additionalProviderSurfaces": [ { "providerId": "eve.world-smoke", "surfaceId": "eve.world-smoke.surface", "purpose": "Non-product control." } ], "authority": "Capture observes Electron projection only; provider state and receipts remain provider-owned.", "publishProof": "Owner-repo Electron PNGs attach to Eve conformance." }, "evidencePaths": [ "../EveElectron/scripts/capture-conformance.ps1", "../EveElectron/capture/main.mjs", "../EveElectron/conformance/captures/generic-world/window.png", "../EveElectron/conformance/captures/aetheria-world/window.png" ], "pendingProofs": [] } }, "capture": { "status": "owner-window-png", "note": "EveElectron produces native offscreen-painted window PNGs and runtime witnesses for a generic provider and Aetheria.", "artifacts": [ { "kind": "png", "schema": "image/png", "path": "../EveElectron/conformance/captures/generic-world/window.png", "providerId": "eve.world-smoke", "surfaceId": "eve.world-smoke.surface", "sourceSurfacePath": "../Eve/web/fixtures/eve-world-smoke-surface.json", "requestPath": "../EveElectron/conformance/captures/generic-world/runtime-witness.json" }, { "kind": "png", "schema": "image/png", "path": "../EveElectron/conformance/captures/aetheria-world/window.png", "providerId": "aetheria", "surfaceId": "aetheria.daemon.game", "sourceSurfacePath": "../Aetheria/conformance/eve/aetheria-world-surface.json", "requestPath": "../EveElectron/conformance/captures/aetheria-world/runtime-witness.json" } ] } }