@evenrealities/evenhub-simulator 0.6.2 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +65 -0
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -37,6 +37,7 @@ Options:
37
37
  --no-aid Use default audio device (overrides config)
38
38
  -V, --version Print version
39
39
  --print-config-path Print the default config file path and exit
40
+ --automation-port <PORT> Start automation HTTP server on this port (e.g. 9898)
40
41
  --completions <SHELL> Print shell completion script [possible values: bash, elvish, fish, powershell, zsh]
41
42
  -h, --help Print help
42
43
 
@@ -58,6 +59,7 @@ evenhub-simulator --completions zsh > ~/.zsh/completions/_evenhub-simulator
58
59
  | `-b`, `--bounce <bounce>` | Sets bounce animation type: `default` or `spring`. |
59
60
  | `--list-audio-input-devices` | Lists available audio input devices and exits. |
60
61
  | `--aid <aid>` / `--no-aid` | Select a specific audio input device, or force the system default device. |
62
+ | `--automation-port <port>` | Start an HTTP automation server on the given port. See [Automation](#automation). |
61
63
  | `--completions <shell>` | Prints a shell completion script for `bash`, `elvish`, `fish`, `powershell`, or `zsh`. |
62
64
 
63
65
 
@@ -129,8 +131,71 @@ Note: The image is not affected by the 'glow' flags, as that is a visual
129
131
  post-processing effect only.
130
132
 
131
133
 
134
+ ## Automation
135
+
136
+ Starting with v0.7.0, the simulator can expose an HTTP API for programmatic
137
+ control, which is intended to make it easier for scripts (and AI agents) to
138
+ drive the simulator — send input, capture screenshots, and read console
139
+ output.
140
+
141
+ Launch with `--automation-port` to enable it:
142
+
143
+ ```bash
144
+ evenhub-simulator https://my-app.example.com --automation-port 9898
145
+ ```
146
+
147
+ Base URL: `http://127.0.0.1:<PORT>`
148
+
149
+ | Method | Endpoint | Description |
150
+ |----------|----------------------------|----------------------------------------------------------------------|
151
+ | `GET` | `/api/ping` | Health check, returns `pong`. |
152
+ | `GET` | `/api/screenshot/glasses` | Current glasses framebuffer as an RGBA PNG (576×288). |
153
+ | `GET` | `/api/screenshot/webview` | Screenshot of the main webview (via html2canvas) as PNG. |
154
+ | `GET` | `/api/console` | Captured webview `console.*` output, uncaught errors, failed fetches. Supports `?since_id=<N>` for incremental polling. |
155
+ | `DELETE` | `/api/console` | Clears the console buffer. |
156
+ | `POST` | `/api/input` | Send a glasses touchpad action. JSON body: `{ "action": "up" \| "down" \| "click" \| "double_click" }`. |
157
+
158
+ Notes:
159
+
160
+ - Input is only effective when the app has an active event container (list or
161
+ text). If nothing is listening, the action is silently ignored.
162
+ - Console entries are tagged with a monotonically increasing `id`; use
163
+ `since_id` when polling to avoid re-reading old entries.
164
+ - Non-console sources are prefixed in the message: `[uncaught] …`,
165
+ `[unhandledrejection] …`, `[fetch] …`.
166
+
167
+
132
168
  # Changelog
133
169
 
170
+ ## v0.7.2 (2026-04-15)
171
+
172
+ - Improved emoji rendering support (including previously missing emoji characters).
173
+ - Improved bounce/spring animation stability.
174
+ - Better compatibility with newer local build toolchains.
175
+
176
+ ## v0.7.1 (2026-04-09)
177
+
178
+ A few fixes to behave more like firmware:
179
+
180
+ - make it no scrollbar even if containers exceed maximum full screen
181
+ - cap width/height for single container
182
+ - add text container bytes limit to 999
183
+
184
+ ## v0.7.0
185
+
186
+ - New `--automation-port <PORT>` flag that starts an HTTP server exposing
187
+ endpoints for screenshots, console logs, and glasses input — useful for
188
+ scripted testing and AI-driven automation. See the
189
+ [Automation](#automation) section.
190
+ - Default `border_color` is now `0` (invisible) instead of `15` (white), to
191
+ match the glasses.
192
+ - Unknown-glyph handling now matches the firmware: `LV_USE_FONT_PLACEHOLDER`
193
+ is enabled, and the underlying lvgl crate is built with the `g2` feature
194
+ that customizes how missing glyphs are rendered to align with the glasses.
195
+ - Internal rendering pipeline optimization: the glasses canvas is now streamed
196
+ as raw PNG bytes over a Tauri channel instead of base64-encoded events
197
+ (not important to users though).
198
+
134
199
  ## v0.6.2 (2026-03-25)
135
200
 
136
201
  - adjust container limits (trying to be in sync with firmware behavior)
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@evenrealities/evenhub-simulator",
3
- "version": "0.6.2",
3
+ "version": "0.7.2",
4
4
  "description": "EvenHub glasses app simulator",
5
5
  "bin": {
6
6
  "evenhub-simulator": "bin/index.js"
7
7
  },
8
8
  "optionalDependencies": {
9
- "@evenrealities/sim-darwin-arm64": "0.6.2",
10
- "@evenrealities/sim-darwin-x64": "0.6.2",
11
- "@evenrealities/sim-linux-x64": "0.6.2",
12
- "@evenrealities/sim-win32-x64": "0.6.2"
9
+ "@evenrealities/sim-darwin-arm64": "0.7.2",
10
+ "@evenrealities/sim-darwin-x64": "0.7.2",
11
+ "@evenrealities/sim-linux-x64": "0.7.2",
12
+ "@evenrealities/sim-win32-x64": "0.7.2"
13
13
  },
14
14
  "license": "MIT"
15
15
  }