Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett e5317dab27 feat: update Printful client to v2 mockup-tasks API format
The v2 API uses products array with catalog source, nested layers in
placements, and GET /mockup-tasks/{id} for polling. Also removes
hardcoded domain in favor of PUBLIC_URL setting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:57:04 -08:00
Jeff Emmett 067e14ed0c feat: photorealistic mockups and professional storefront
Backend:
- Replace tiny placeholder templates with photorealistic 1024x1024 product
  photos (blank t-shirt, sticker with peeling corner, framed print)
- Rewrite Pillow compositing: screen blend for dark garments (design looks
  printed on fabric), direct paste for stickers/prints
- Add PRINTFUL_STORE_ID config + X-PF-Store-Id header to Printful client
  (unblocks existing account-level tokens)

Frontend:
- Product listing: rounded cards with shadows, category badges, hover
  animations, lazy loading, empty state
- Product detail: skeleton loading, mockup type switcher with loading
  indicator, raw design preview, inline price in Add to Cart button,
  shipping/quality info section
- Homepage: featured products now show mockups instead of raw designs,
  professional card layout matching products page
- Client-side mockups: updated coordinates for new templates, screen
  blend support via Canvas globalCompositeOperation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:43:49 -08:00
Jeff Emmett 54d064f3fa feat: add full Printful API v2 integration (mockups + fulfillment)
- PrintfulClient: catalog variants (cached 24h), mockup generation
  (async create+poll), order submission, variant ID resolution
- Mockup endpoint tries Printful API first for Printful-provider designs,
  falls back to Pillow compositing for others (e.g. Prodigi stickers)
- Order service routes items by provider from design metadata:
  provider=printful → Printful API, provider=prodigi → Prodigi API
- Sandbox mode creates draft orders on Printful (not fulfilled)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 14:00:40 -07:00