Add Fensalir Direct2D Eve surface

This commit is contained in:
Meta Vens 2026-05-31 03:22:29 +01:00
commit 21b646f499
2 changed files with 18 additions and 0 deletions

View file

@ -27,6 +27,9 @@ Build one deployable Eve runtime family:
- Flutter: likely native client framework for Android/iOS parity once installed;
it should consume the browser-defined CultMesh surface model rather than
replacing the browser as ground truth.
- Fensalir Direct2D: close-to-metal desktop/runtime client surface for the same
CultMesh UI documents, lowered through Fensalir's existing
DirectWrite/Direct2D overlay machinery.
- Shared API: apps publish control surfaces and structured data; Eve publishes
commands, pointer/touch input, and timestamped sensor packets.
@ -68,6 +71,9 @@ Mimir dashboard broker, and surfaces timestamped touch/motion sensor data.
- Native clients do not embed a browser as their only answer. They render the
same surface documents with platform-native controls when that is the better
machine.
- Fensalir's Direct2D surface is a client renderer, not a second source of UI
truth. It consumes provider-owned CultMesh surface state and returns commands
through the same Eve/CultNet path.
- CultNet carries typed surface state, commands, and timestamped sensor packets.
Edge JSON is tolerated only as an interoperability envelope while the typed
CultMesh document shape is being proven.

View file

@ -94,6 +94,16 @@ Flutter:
the canonical behavior still belongs to the browser Eve runtime and recorded
CultMesh surface fixtures.
Fensalir Direct2D:
- desktop/native client surface inside the Fensalir runtime;
- lowers Eve/CultMesh surface documents into the existing DirectWrite/Direct2D
overlay path;
- uses the same provider ownership and command contract as browser, iOS, and
Android clients;
- keeps renderer mechanics in Fensalir while app-specific dashboard meaning
remains with the provider repo.
## Current Proof
The current iOS app consumes Mimir's `/eve/deck` WebSocket broker. That broker is
@ -120,3 +130,5 @@ client are still being cut.
4. Replace JSON/base64 sensor payloads with binary packets while preserving the
typed envelope.
5. Add Android client scaffolding against the same provider and sensor API.
6. Add the Fensalir Direct2D lowering for the shared surface contract so engine
clients can show the same dashboards without embedding a browser.