36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
# Even Realities G2 — App Lab
|
|
|
|
Dev workspace for Even G2 smart glasses apps. Naming theme: constellations/stars.
|
|
|
|
## Toolchain (all installed globally)
|
|
| Tool | Command | Version |
|
|
|---|---|---|
|
|
| Even Hub CLI | `evenhub` / `eh` | 0.1.13 |
|
|
| Simulator | `evenhub-simulator` | 0.8.0 |
|
|
| SDK (per-app dep) | `@evenrealities/even_hub_sdk` | 0.0.14 |
|
|
| Node | v26.8.1 | — |
|
|
|
|
## Layout
|
|
- `apps/` — one folder per app (web apps: Vite + TypeScript + SDK)
|
|
- `docs/` — full Even Realities developer docs snapshot
|
|
- `docs/pages/` — per-page markdown
|
|
- `docs/site-data.json` / `docs/links.txt` — doc index
|
|
|
|
## Quick loop
|
|
```bash
|
|
cd apps/<name>
|
|
npm run dev # Vite on :5173
|
|
evenhub-simulator http://localhost:5173/ --automation-port 9898
|
|
curl http://127.0.0.1:9898/api/ping # -> pong
|
|
curl -X POST http://127.0.0.1:9898/api/input -H 'Content-Type: application/json' -d '{"action":"click"}'
|
|
curl -s http://127.0.0.1:9898/api/screenshot/glasses -o frame.png
|
|
```
|
|
|
|
## Critical platform notes
|
|
- Simulator sends clicks as `sysEvent`, hardware as `textEvent` — handlers must accept BOTH.
|
|
- `min_sdk_version` in app.json must match the installed SDK version.
|
|
- HMR reloads break the bridge — restart simulator after code changes.
|
|
- `waitForEvenAppBridge()` before any SDK call.
|
|
- Network whitelist ≠ CORS bypass — remote API needs real CORS headers too.
|
|
- Full reference: docs/pages/
|