Commit graph

24 commits

Author SHA1 Message Date
sjat
3e9878ac42 refactor: config validates PolyWarp calibration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 09:25:47 +02:00
sjat
0130188416 refactor: app state stores PolyWarp 2026-06-11 09:23:42 +02:00
sjat
dc59f5ed63 refactor: transform layer uses PolyWarp 2026-06-11 09:22:02 +02:00
sjat
fcfa3a0d80 test: tighten barrel regression guard to a hard near-exact bound 2026-06-11 09:21:04 +02:00
sjat
c7b48105a6 feat: bivariate polynomial warp model (degree-3 default for barrel) 2026-06-11 09:16:02 +02:00
sjat
72d32db516 feat: extract linalg solver + add least-squares helper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 09:09:05 +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
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