This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
EveElectron/README.md
2026-07-10 13:55:06 +01:00

2.1 KiB

EveElectron

EveElectron is the generic Electron lowering runtime for Eve/CultUI surfaces. It owns secure window construction, the narrow provider preload bridge, shell projection, command-intent emission, runtime packaging, and capture evidence.

Providers supply advertisements, surface and embedded-document reads, command submission, asset resolution, and any product daemon lifecycle. EveElectron does not import provider state or plugin semantic implementations.

EveCultMeshProviderClient takes an Odin-resolved peer target and advertisement record reference, then follows only provider-published references for surfaces, commands, receipts, and embedded documents. CultMesh and MessagePack are constructor dependencies supplied from the application's installed CultLib packages; the runtime owns protocol flow without pinning a sibling checkout.

Electron hosts that use the standard Eve IPC channels can point their BrowserWindow preload directly at src/eve-provider-preload-entry.cjs. The entry exposes only window.eveProvider; provider-specific APIs do not share the renderer boundary.

startEveElectronProviderHost owns the main-process runtime lifecycle: secure window construction, generic provider client creation, Eve IPC registration, receipt reconciliation, provider readiness, renderer loading, and cleanup. Provider repos supply a resolved target, dependencies, renderer path, and any provider-owned daemon development or asset hooks.

CultMesh-native asset references lower through the runtime-owned eve-asset:// protocol. The generic provider client reads gamecult.cultmesh.cdn.asset_blob.v1 records; provider repos publish bytes and retain asset truth without implementing an Electron protocol.

npm install
npm test
npm run pack:check
npm run capture:conformance

The capture runner uses EveElectron's development Electron dependency and emits native offscreen-painted PNGs plus gamecult.eve.runtime_witness.v1 documents. The generic control comes from Eve; the Aetheria case comes from Aetheria's provider-owned conformance pack. Provider state remains input data; the runtime owns the window, projection, pixels, and evidence.