README front door: entry points and live/planned up front; drop absent relay command and config, repo-relative paths
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2467e1b025
commit
afe05b0c7e
1 changed files with 42 additions and 14 deletions
56
README.md
56
README.md
|
|
@ -1,9 +1,41 @@
|
||||||
# Thing
|
# Thing
|
||||||
|
|
||||||
This repository is Thing. Its present tree is Thing 1, kept running for live
|
This repository is Thing (the Eve display, control and sensor edge for GameCult
|
||||||
consumers until each ports; Thing 2.0 is built here (`docs/thing2-target.md`).
|
apps). Its present tree is Thing 1, kept running for live consumers until each
|
||||||
The Thing 1 renderer repos are archived under their Eve names: EveUnity,
|
ports; Thing 2.0 is built here (`docs/thing2-target.md`). The Thing 1 renderer
|
||||||
EveFlutter, EveElectron, EveTui, EvePlugins and EveConformance.
|
repos are archived under their Eve names: EveUnity, EveFlutter, EveElectron,
|
||||||
|
EveTui, EvePlugins and EveConformance.
|
||||||
|
|
||||||
|
## Start Here
|
||||||
|
|
||||||
|
Value: services publish a surface once, as a typed retained document
|
||||||
|
(`gamecult.eve.surface.v1`), and every runtime lowers it locally. Providers keep
|
||||||
|
authority over state and commands; Eve owns projection, input capture and
|
||||||
|
timestamped sensor publication.
|
||||||
|
|
||||||
|
Problem: without a shared surface contract, each service hand-builds its own
|
||||||
|
dashboard and each renderer re-implements layout, binding and commands.
|
||||||
|
|
||||||
|
Live (Thing 1):
|
||||||
|
|
||||||
|
- `packages/org.gamecult.eve.surface`: renderer-neutral C# surface contract and
|
||||||
|
composition builders; tests in `tests/GameCult.Eve.Surface.Serialization.Tests`.
|
||||||
|
- `packages/eve-contracts`: TypeScript types and validators generated from
|
||||||
|
`schemas/` (`npm run generate`, `npm test`).
|
||||||
|
- `packages/eve-browser-lowering`: browser DOM/CSS lowering of surface documents
|
||||||
|
(`npm test`).
|
||||||
|
- `web/`: browser reference oracle (`web/index.html`, `web/eve-dsl.js`; tests
|
||||||
|
with `node --test web/eve-dsl.test.mjs`).
|
||||||
|
- `docs/surface-contract-v1.md`: the contract. `docs/repo-strategy.md`: repo
|
||||||
|
ownership. `docs/parity-testing-harness.md` with
|
||||||
|
`scripts/run-parity-harness.ps1`: parity runs.
|
||||||
|
- `android/` and `Sources/` (iOS Theos app, `make package`): native proof
|
||||||
|
clients; build steps under Build Shape below.
|
||||||
|
|
||||||
|
Planned (Thing 2.0, in progress): `crates/thing-contract` is the first Rust
|
||||||
|
piece. The layout solver, text, accessibility tree, closed render-command list
|
||||||
|
and thin backends described in `docs/thing2-target.md` and `docs/thing2-map.md`
|
||||||
|
are not built yet; `docs/thing-campaign.md` holds the rename plan.
|
||||||
|
|
||||||
CultMesh-based surface web, portable control layer, and timestamped sensor
|
CultMesh-based surface web, portable control layer, and timestamped sensor
|
||||||
edge.
|
edge.
|
||||||
|
|
@ -214,11 +246,8 @@ render:
|
||||||
|
|
||||||
## VoidBot CEF Stream
|
## VoidBot CEF Stream
|
||||||
|
|
||||||
Start the Starfire relay from `E:\Projects\VoidBot`:
|
The CEF relay that produced these frames is not in VoidBot's default branch, so
|
||||||
|
no relay command is documented here until one exists.
|
||||||
```powershell
|
|
||||||
npm run swarm:eve-cef-relay -- --width 1620 --height 2160 --scale 2 --port 8792
|
|
||||||
```
|
|
||||||
|
|
||||||
EveCanvas displays binary JPEG frames and returns touch events only when a
|
EveCanvas displays binary JPEG frames and returns touch events only when a
|
||||||
stream lowering is configured through `EVE_STREAM_URLS`. The native app no
|
stream lowering is configured through `EVE_STREAM_URLS`. The native app no
|
||||||
|
|
@ -226,12 +255,11 @@ longer guesses a Starfire relay address.
|
||||||
|
|
||||||
## Mimir Sensor Uplink
|
## Mimir Sensor Uplink
|
||||||
|
|
||||||
Start Mimir with `config/mimir-runtime.raven-eve.example.json` or run the
|
Run the receiver processes from a Mimir checkout (a sibling `..\Mimir` here):
|
||||||
receiver processes directly:
|
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
dotnet run --project E:\Projects\Mimir\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj -- --port 8793 --path /eve/camera --source-id eve-camera --type video-frame
|
dotnet run --project ..\Mimir\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj -- --port 8793 --path /eve/camera --source-id eve-camera --type video-frame
|
||||||
dotnet run --project E:\Projects\Mimir\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj -- --port 8794 --path /eve/mic --source-id eve-mic --type audio-block
|
dotnet run --project ..\Mimir\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj -- --port 8794 --path /eve/mic --source-id eve-mic --type audio-block
|
||||||
```
|
```
|
||||||
|
|
||||||
EveCanvas sends binary `mimir.eve_media_observation.v1` camera and microphone
|
EveCanvas sends binary `mimir.eve_media_observation.v1` camera and microphone
|
||||||
|
|
@ -245,7 +273,7 @@ guess receiver URLs.
|
||||||
Start the dashboard authority on Starfire:
|
Start the dashboard authority on Starfire:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
dotnet run --project E:\Projects\Mimir\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj -- --port 8795
|
dotnet run --project ..\Mimir\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj -- --port 8795
|
||||||
```
|
```
|
||||||
|
|
||||||
EveCanvas connects to the Mimir dashboard WebSocket lowering for native retained
|
EveCanvas connects to the Mimir dashboard WebSocket lowering for native retained
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue