update Tue 07/14/2026 12:21:23.58
This commit is contained in:
@@ -9,8 +9,16 @@ viewpoint. Tribute project — not affiliated with or endorsed by the LEGO Group
|
||||
Node 20 (Express + ws) in Docker · Three.js r160 (CDN import map) · js-aruco2
|
||||
(ARUCO_4X4_1000, vendored) · vanilla ES-module client.
|
||||
|
||||
## Units
|
||||
**All world coordinates are centimetres** (1 Three.js unit = 1 cm): anchor/spawn/building
|
||||
positions and sizes, wander radius, calibration readouts. Marker print size stays in mm
|
||||
(`sizeMM`); the mm→cm conversion happens once in `fuse.js`.
|
||||
|
||||
## Baked-in AR fixes (hard-won, do not "simplify" these)
|
||||
- **POS-IT pose**: rotation used **as-is**; translation **Y and Z negated** (`-t[1]`, `-t[2]`).
|
||||
- **POS-IT pose**: **raw** centered image coords into POS-IT (no Y pre-flip — pre-flipping
|
||||
double-inverts the vertical axis and makes tilt respond backwards); rotation used
|
||||
**as-is**; translation **Y and Z negated** (`-t[1]`, `-t[2]`). A/B toggle: `FLIP_INPUT_Y`
|
||||
in `public/js/ar/pose.js`.
|
||||
- **Planar-ambiguity flips**: per-marker temporal consistency — pick the POS-IT solution
|
||||
closest to the previous frame (`public/js/ar/pose.js`).
|
||||
- **Phantom marker IDs**: `maxHammingDistance: 0` (`public/js/ar/detect.js`).
|
||||
|
||||
Reference in New Issue
Block a user