Khalid A
66bd69efe7
Consolidate to single server with unified package.json
...
- Merge client and server dependencies into root package.json
- Remove separate client/package.json and server/package.json
- Update server/index.js to serve built client static files
- Simplify Dockerfile to single build + production stage
- Update dev scripts for unified development workflow
- SPA routing serves index.html for non-API routes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 22:24:20 -05:00
Khalid A
304a6b247b
Add canvas dependency to server package.json (Phase 8 requirement)
2026-04-21 21:55:18 -05:00
Khalid A
4ca7910465
Phases 7-10: Complete remaining features and optimizations
...
Phase 7.2 - Debounce undo/redo history:
- Add 300ms debounce timer for rapid drag/transform changes
- Commit history on dragEnd/transformEnd events only
- Prevents history bloat during continuous interactions
Phase 8.3 - Template-aware export:
- Render template background layer first
- Apply slot crop regions for image elements
- Render template overlay layer last
- Support nonPrintable flag for guides/watermarks
Phase 9 - PWA icons:
- Add pwa-192x192.svg and pwa-512x512.svg icons
- Update vite.config.js manifest configuration
Phase 10.3 - Performance optimizations:
- Add React.memo to canvas components (ImageElement, TextElement, DesignCanvas)
- Add React.memo to panel components (LayersPanel, PropertiesPanel)
- Prevent unnecessary re-renders during canvas interactions
Phase 10.6 - Template documentation:
- Document template JSON schema in docs/template-schema.md
- Include element properties, slot definitions, and examples
- Describe background/overlay layer structure
2026-04-21 21:50:33 -05:00
Khalid A
d42a497ae8
Phase 9: PWA & Workbox Caching (merged)
2026-04-21 01:52:43 -05:00
Khalid A
5164b08c1c
Phase 9: PWA & Workbox Caching
...
- Added vite-plugin-pwa and workbox-window dependencies
- PWA manifest with icons and standalone display mode
- Workbox runtime caching for:
- Transformers.js models (30 days)
- Uploaded images (7 days)
- Google Fonts (1 year)
- PWAInstall component with install prompt banner
- Offline support for cached assets
- Auto-update registration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 01:51:43 -05:00
Khalid A
8a4b653019
Phase 8: High-Resolution Export
...
- Server-side export endpoint using node-canvas
- 300x300px preview -> 4500x4500px export (15"x15" @ 300 DPI)
- Exports images and text elements with proper scaling
- useExport hook with progress indicator
- Export button in canvas header
- Automatic download of exported PNG
- Error handling with dismissible error banner
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 01:29:41 -05:00
Khalid A
01702c397f
Initial commit: Phase 1 scaffolding complete
...
- Root package.json with concurrently for dev server
- Client: Vite + React 18 with design tokens and proxy config
- Server: Express with CORS, multer (20MB), Sharp resize
- Upload endpoint with preview generation
- Dockerfile (multi-stage) and docker-compose.yml
- Canvas deferred to Phase 8 (export functionality)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 00:29:50 -05:00