Commit graph

25 commits

Author SHA1 Message Date
sjat
04fc642137 docs: add box+# calibration target procedure to distortion spec
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:51:48 +02:00
sjat
a94beccaad docs: design for wide-angle distortion compensation (polynomial warp)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:46:11 +02:00
sjat
d22cdd5302 feat: ship default calibration (2440x1220 bed homography)
Persist a working calibration so the overlay is usable out-of-the-box without
each viewer re-calibrating. 4 corner point-pairs + precomputed homography
(machine-mm -> normalized [0,1] image coords).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:07:49 +02:00
sjat
cbc11f3bb9 feat: wire CNC camera via same-origin /camera proxy, bolder overlay
- streamUrl -> relative /camera/mjpg/video.mjpg so the page loads the LAN-only
  CNC MJPEG cam same-origin (no mixed-content, no embedded creds). Vite
  dev-proxy added so the same path works under `npm run dev`.

- renderDefaults: thicker lines (lineWidth 3) and fully-saturated cut/rapid
  colors so the toolpath reads clearly over the video feed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:04:12 +02:00
sjat
845e92e56f test: jsdom coverage for overlay drag + calibration/alignment arbitration
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:59:49 +02:00
sjat
3538d5ccb9 fix: enable overlay drag interaction; tidy dead export and residual readout
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:57:03 +02:00
sjat
fac9168c00 docs: README and deployment config
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:51:47 +02:00
sjat
dbb302f765 fix: guard alignment input against numeric-field editing and calibration clicks
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:50:30 +02:00
sjat
5d80273717 feat: per-job alignment (numeric, click-origin, drag/rotate)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:47:08 +02:00
sjat
d1577dd569 fix: make calibration resolution-independent (normalized image coords)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:45:29 +02:00
sjat
1df5509b29 feat: calibration capture UI with reprojection residuals
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:40:32 +02:00
sjat
38d99bb0dc feat: app state, stream embedding, G-code render wiring
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:37:35 +02:00
sjat
dd409f56c0 feat: page layout and overlay canvas sizing
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:34:28 +02:00
sjat
96221a217d feat: canvas overlay renderer
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:31:56 +02:00
sjat
f22a0c16df fix: validate renderDefaults fields and reject non-finite calibration values
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:30:39 +02:00
sjat
799998fad2 feat: config loader with calibration validation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:28:07 +02:00
sjat
960d453f57 fix: parser skips non-drawing moves; clean up TS build
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:26:48 +02:00
sjat
c5c1b5e5c2 feat: G-code parser with arcs, units, modal motion
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:21:11 +02:00
sjat
4a554e2057 feat: alignment + projection pipeline
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:18:42 +02:00
sjat
87d579eb47 feat: homography estimate/apply/invert
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:15:36 +02:00
sjat
e475626497 fix: guard flattenArc against zero-radius (degenerate) arcs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:13:58 +02:00
sjat
7ddaee1454 feat: shared types and arc flattening
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:11:03 +02:00
sjat
959c1fa44e chore: scaffold Vite + TS + Vitest project
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:08:36 +02:00
sjat
940b0b2fbe Add G-code overlay implementation plan
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 22:01:49 +02:00
sjat
08767cf821 Add G-code overlay design spec
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 21:55:06 +02:00