respira/src/utils
Jan-Henrik Bruhn d813c22df5 feature: Add pattern rotation with Konva Transformer
Implement comprehensive pattern rotation functionality:
- Use Konva Transformer for native rotation UI with visual handles
- Apply rotation transformation at upload time to stitch coordinates
- Two-layer preview system: original (draggable/rotatable) and uploaded (locked)
- Automatic position compensation for center shifts after rotation
- PEN encoding/decoding with proper bounds calculation from decoded stitches
- Comprehensive unit tests for rotation math and PEN round-trip
- Restore original unrotated pattern on delete

The rotation is applied by transforming stitch coordinates around the pattern's
geometric center, then re-encoding to PEN format. Position adjustments compensate
for center shifts caused by PEN encoder rounding to maintain visual alignment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 21:06:48 +01:00
..
bluetoothSupport.ts feature: Add browser compatibility detection for Web Bluetooth 2025-12-16 23:54:55 +01:00
brotherColors.ts feature: Add RGB color matching for Brother thread identification 2025-12-21 20:52:32 +01:00
cssVariables.ts fix: run linter 2025-12-18 11:39:22 +01:00
errorCodeHelpers.ts fix: slightly shorten homing message 2025-12-18 11:27:58 +01:00
konvaRenderers.ts fix: run linter 2025-12-18 11:39:22 +01:00
machineStateHelpers.ts feature: Replace connection indicator with shadcn StatusIndicator 2025-12-21 13:29:27 +01:00
rotationUtils.test.ts feature: Add pattern rotation with Konva Transformer 2025-12-25 21:06:48 +01:00
rotationUtils.ts feature: Add pattern rotation with Konva Transformer 2025-12-25 21:06:48 +01:00
timeCalculation.ts fix: Correct total time calculation and add detailed logging 2025-12-21 13:48:19 +01:00