2026-07-10 07:40:43 +01:00
{
"schema" : "gamecult.eve.runtime_capability.v1" ,
"runtimeId" : "electron-shell" ,
"title" : "Electron shell" ,
"owner" : "EveElectron" ,
2026-07-10 07:44:45 +01:00
"incubation" : {
"ownerRepo" : "EveElectron" ,
"currentHostRepo" : "EveElectron" ,
"splitTarget" : "EveElectron" ,
"graduationTrigger" : "Graduated: the runtime body and package are owned here."
} ,
2026-07-10 07:40:43 +01:00
"supportedFeatures" : [
"providerAdvertisements" ,
"commandTransport" ,
"surfaceTreeProjection" ,
"embeddedDocuments" ,
"pluginProjection" ,
"securePreloadBridge" ,
2026-07-10 13:47:42 +01:00
"windowLifecycle" ,
2026-07-10 13:55:06 +01:00
"liveProviderHost" ,
"providerAssets"
2026-07-10 07:40:43 +01:00
] ,
"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" ,
2026-07-10 13:47:42 +01:00
"src/eve-provider-preload-entry.cjs" ,
"src/eve-electron-renderer.mjs" ,
"src/live-provider-host.mjs" ,
2026-07-10 07:40:43 +01:00
"test/shell.test.mjs" ,
"test/window-host.test.mjs" ,
2026-07-10 13:47:42 +01:00
"test/preload.test.cjs" ,
"test/renderer.test.mjs" ,
"test/live-provider-host.test.mjs"
2026-07-10 07:40:43 +01:00
]
}
] ,
"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."
} ,
2026-07-10 07:44:45 +01:00
"evidencePaths" : [ "../EveElectron/package.json" , "../EveElectron/package-lock.json" , "../EveElectron/src/index.mjs" , "../EveElectron/src/index.d.ts" ] ,
2026-07-10 07:40:43 +01:00
"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."
} ,
2026-07-10 07:44:45 +01:00
"evidencePaths" : [ "../EveElectron/test/shell.test.mjs" , "../EveElectron/test/window-host.test.mjs" , "../EveElectron/test/preload.test.cjs" ] ,
2026-07-10 07:40:43 +01:00
"pendingProofs" : [ ]
} ,
"capture" : {
"ownerRepo" : "EveElectron" ,
2026-07-10 08:01:32 +01:00
"status" : "owner-window-captures" ,
2026-07-10 07:40:43 +01:00
"captureContract" : {
"ownerRepo" : "EveElectron" ,
"runtimeId" : "electron-shell" ,
"targetId" : "electron-shell" ,
"requestSchema" : "gamecult.eve.runtime_capture_request.v1" ,
2026-07-10 08:01:32 +01:00
"requestBuilder" : "scripts/capture-conformance.ps1" ,
2026-07-10 07:40:43 +01:00
"advertisementPath" : "provider-supplied" ,
"captureKind" : "electron-window-png" ,
"artifactKind" : "png" ,
"artifactPattern" : "artifacts/capture/{providerId}/{surfaceId}.png" ,
"conformanceAttachment" : "runtime.captureArtifacts[]" ,
"requiredProvider" : "aetheria" ,
2026-07-10 08:01:32 +01:00
"requiredSurface" : "aetheria.daemon.game" ,
2026-07-10 07:40:43 +01:00
"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."
} ,
2026-07-10 08:01:32 +01:00
"evidencePaths" : [
"../EveElectron/scripts/capture-conformance.ps1" ,
"../EveElectron/capture/main.mjs" ,
2026-07-10 16:32:51 +01:00
"../EveElectron/conformance/captures/generic-world/window.png" ,
"../EveElectron/conformance/captures/aetheria-world/window.png"
2026-07-10 08:01:32 +01:00
] ,
"pendingProofs" : [ ]
2026-07-10 07:40:43 +01:00
}
} ,
"capture" : {
2026-07-10 08:01:32 +01:00
"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" ,
2026-07-10 16:32:51 +01:00
"path" : "../EveElectron/conformance/captures/generic-world/window.png" ,
2026-07-10 08:01:32 +01:00
"providerId" : "eve.world-smoke" ,
"surfaceId" : "eve.world-smoke.surface" ,
"sourceSurfacePath" : "../Eve/web/fixtures/eve-world-smoke-surface.json" ,
2026-07-10 16:32:51 +01:00
"requestPath" : "../EveElectron/conformance/captures/generic-world/runtime-witness.json"
2026-07-10 08:01:32 +01:00
} ,
{
"kind" : "png" ,
"schema" : "image/png" ,
2026-07-10 16:32:51 +01:00
"path" : "../EveElectron/conformance/captures/aetheria-world/window.png" ,
2026-07-10 08:01:32 +01:00
"providerId" : "aetheria" ,
"surfaceId" : "aetheria.daemon.game" ,
2026-07-10 10:19:28 +01:00
"sourceSurfacePath" : "../Aetheria/conformance/eve/aetheria-world-surface.json" ,
2026-07-10 16:32:51 +01:00
"requestPath" : "../EveElectron/conformance/captures/aetheria-world/runtime-witness.json"
2026-07-10 08:01:32 +01:00
}
]
2026-07-10 07:40:43 +01:00
}
}