docs: link page index from README; document dev HUD readout and aim check
This commit is contained in:
@@ -9,6 +9,9 @@ ghosts anchored to real-world positions, each from their own viewpoint.
|
|||||||
residents/tracks, character editor, admin suite, dev error overlay, password-
|
residents/tracks, character editor, admin suite, dev error overlay, password-
|
||||||
protected final mode, deployment — carries over unchanged.
|
protected final mode, deployment — carries over unchanged.
|
||||||
|
|
||||||
|
**[docs/PAGES.md](docs/PAGES.md) — every page the exhibit serves, and the API
|
||||||
|
endpoints worth opening while debugging.** Keep it updated as pages change.
|
||||||
|
|
||||||
## What changed in v3
|
## What changed in v3
|
||||||
|
|
||||||
The per-marker POS-IT → confidence-weighted fusion pipeline is replaced by a
|
The per-marker POS-IT → confidence-weighted fusion pipeline is replaced by a
|
||||||
@@ -29,7 +32,8 @@ The per-marker POS-IT → confidence-weighted fusion pipeline is replaced by a
|
|||||||
|
|
||||||
OpenCV.js (~13 MB WASM) is fetched at Docker build time (pinned
|
OpenCV.js (~13 MB WASM) is fetched at Docker build time (pinned
|
||||||
`@techstark/opencv-js@4.12.0-release.1`) and lazy-loaded on the client after
|
`@techstark/opencv-js@4.12.0-release.1`) and lazy-loaded on the client after
|
||||||
Start. If it fails to load, the app falls back to the v2 engine automatically.
|
Start, with download progress shown in the dev HUD (`cv:loading 42%`). If it
|
||||||
|
fails or stalls past 45 s, the app falls back to the v2 engine automatically.
|
||||||
|
|
||||||
## Dual engines (on-table A/B)
|
## Dual engines (on-table A/B)
|
||||||
|
|
||||||
@@ -40,7 +44,7 @@ Dev HUD overlay tap zones (thirds):
|
|||||||
|
|
||||||
| zone | opencv engine | posit engine |
|
| zone | opencv engine | posit engine |
|
||||||
|--------|----------------------------|-----------------------------|
|
|--------|----------------------------|-----------------------------|
|
||||||
| top | switch engine | switch engine |
|
| top | switch engine (retries load if it failed) | switch engine |
|
||||||
| middle | axis mode (`std`/`ymirror`)| rotation mode (`fr`/…) |
|
| middle | axis mode (`std`/`ymirror`)| rotation mode (`fr`/…) |
|
||||||
| bottom | — | camera correction (`none`/…)|
|
| bottom | — | camera correction (`none`/…)|
|
||||||
|
|
||||||
@@ -50,6 +54,26 @@ horizontal FOV override: `localStorage nbx.hfovDeg` (default 60, both engines).
|
|||||||
`axis ymirror` exists as on-device insurance: if the world appears mirrored /
|
`axis ymirror` exists as on-device insurance: if the world appears mirrored /
|
||||||
camera under the table in opencv mode, tap the middle third once.
|
camera under the table in opencv mode, tap the middle third once.
|
||||||
|
|
||||||
|
## Reading the dev HUD
|
||||||
|
|
||||||
|
```
|
||||||
|
ws open rx scene,active,pong <- WebSocket state + recent message types
|
||||||
|
ghost recs 1 <- ghost records the client is holding
|
||||||
|
eng opencv FROZEN <- engine; FROZEN = ghost motion paused (tap tracking chip)
|
||||||
|
axis std cv:ready <- engine mode + OpenCV load state
|
||||||
|
markers 2 reproj 0.4px <- crests detected + mean reprojection error
|
||||||
|
raw / view / up / pos <- solved camera pose
|
||||||
|
m0 px(0.02,-0.05) proj(-0.71,0.63) <- AIM CHECK, see below
|
||||||
|
ghost ndc(-0.90,0.80) off-screen <- first ghost's screen position
|
||||||
|
```
|
||||||
|
|
||||||
|
**Aim check.** `px` is where the crest actually sits in the camera frame
|
||||||
|
(`0,0` = centre); `proj` is where the solved pose *projects* it. Point straight
|
||||||
|
at a crest so `px` ≈ `(0,0)` — if `proj` disagrees, the camera-frame convention
|
||||||
|
is wrong, not the tracking. A sign flip on x means mirrored, on y means
|
||||||
|
Y-inverted, on both means a 180° roll. Ghosts also carry a magenta always-on-top
|
||||||
|
beacon in dev mode, so "no ghost" and "ghost off-screen" can't be confused.
|
||||||
|
|
||||||
## First-time load (in place of v2)
|
## First-time load (in place of v2)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user