Thing/packages/eve-browser-lowering
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-09 12:24:52 +01:00
..
dist Add web layout probe evidence 2026-07-09 12:24:52 +01:00
src Add web layout probe evidence 2026-07-09 12:24:52 +01:00
test Use active web surface command boundaries 2026-07-09 10:28:22 +01:00
package-lock.json Track browser lowerer command boundaries 2026-07-09 09:50:38 +01:00
package.json Use active web surface command boundaries 2026-07-09 10:28:22 +01:00
README.md Track browser lowerer command boundaries 2026-07-09 09:50:38 +01:00
styles.css Track browser lowerer command boundaries 2026-07-09 09:50:38 +01:00
tsconfig.json Track browser lowerer command boundaries 2026-07-09 09:50:38 +01:00

@gamecult/eve-browser-lowering

Browser DOM/CSS lowering for gamecult.eve.surface.v1 documents.

This package owns the shared browser renderer contract:

  • renderEveSurface(surface, host, options) lowers an Eve surface document into a DOM host.
  • renderEveComponent(component, options) lowers a single component tree.
  • applyEveSurfaceStyles(styles, body) maps portable Eve style tokens to CSS custom properties.
  • createEveCommandIntent(commandId, props, options) creates the browser command envelope for host daemons and carries the provider-advertised commandBoundary / receiptSchema when the active surface exposes worldInteraction.

Host applications own transport and command delivery. Providers own command acceptance and receipts through their advertisements. For example, Eir resolves surfaces through Odin/CultMesh and posts commands to /eir/command; Aetheria resolves surfaces through Electron IPC. Neither host should duplicate DOM lowering or import provider internals to find a command route.

Asset references are left as-is unless the host provides assetUrlResolver. Eir uses that hook only for CultMesh/CultCache asset URIs such as cultmesh://schema/record or cultcache://schema/record; ordinary HTTPS assets and web fonts remain ordinary browser URLs.