respira/src
Jan-Henrik Bruhn 07275fa75a feature: Refactor PatternCanvas with utility functions and folder structure
Extract duplicate code into reusable utilities:
- calculatePatternCenter(): Eliminates 6x duplication of center calculations
- convertPenStitchesToPesFormat(): Eliminates 3x duplication of stitch conversion
- calculateZoomToPoint(): Eliminates 2x duplication of zoom math

Reorganize into subfolder:
- Created src/components/PatternCanvas/ directory
- Moved PatternCanvas.tsx into subfolder
- Added index.ts for clean imports
- All utilities in patternCanvasHelpers.ts

Benefits:
- Reduced ~50+ lines of duplicated code
- Single source of truth for common operations
- Easier to test and maintain
- Better code organization

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 21:15:05 +01:00
..
components feature: Refactor PatternCanvas with utility functions and folder structure 2025-12-25 21:15:05 +01:00
data feature: Add Brother thread color mapping to PES importer 2025-12-21 20:37:32 +01:00
formats feature: Add RGB color matching for Brother thread identification 2025-12-21 20:52:32 +01:00
lib style: Apply linter auto-fixes 2025-12-22 12:03:49 +01:00
platform fix: run linter 2025-12-18 11:39:22 +01:00
services fix: run linter 2025-12-18 11:39:22 +01:00
stores feature: Add pattern rotation with Konva Transformer 2025-12-25 21:06:48 +01:00
types fix: run linter 2025-12-18 11:39:22 +01:00
utils feature: Add pattern rotation with Konva Transformer 2025-12-25 21:06:48 +01:00
App.css fix: Restore correct destructive variant colors 2025-12-22 11:59:02 +01:00
App.tsx fix: Improve theme color definitions and dark mode styling 2025-12-21 00:02:22 +01:00
index.css feature: Implement unified semantic color system with Tailwind v4 2025-12-17 21:43:36 +01:00
main.tsx fix: run linter 2025-12-18 11:39:22 +01:00
vite-env.d.ts feature: Add application version to page title 2025-12-13 23:48:05 +01:00