Commit graph

12 commits

Author SHA1 Message Date
Chr1st1anG
e29de50b11 🐛 fix(figgos): use contain resizeMode to prevent card side cropping
Thumbnails in showcase and collection used resizeMode="cover" which
cropped the sides of portrait-oriented card images after bg trimming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:29:42 +01:00
Chr1st1anG
a117d5479b feat(figgos): face image upload, loading/reveal screens + error handling
- Add optional face photo upload (expo-image-picker + expo-image-manipulator)
- Wire face image through backend to Gemini as inline base64 data
- Add loading screen with blurred placeholder card + pulsing animation
- Add reveal/unboxing screen with aligned banner layout
- Handle generation failures (check figure.status, show error on form)
- Add Gemini safety settings (BLOCK_NONE) to reduce false rejections
- Increase body limit to 5mb for base64 image payloads
- Add errorMessage to FigureResponse shared type
- Extract FlippableCard to reusable component

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:22:39 +01:00
Chr1st1anG
0eac48cdc4 📝 docs(figgos): update CLAUDE.md with generation pipeline + bg removal config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:31:11 +01:00
Chr1st1anG
9d189b1331 feat(figgos): AI generation pipeline + frontend API integration
Backend:
- Add Gemini-powered profile generation (text + image)
- Add image processing with background removal (sharp)
- Add S3 storage service for figure images
- Extend figures schema with generatedProfile, language, status columns
- Wire up synchronous generation pipeline on POST /api/v1/figures

Frontend (Mobile + Web):
- Replace all mock data with real API calls
- Show generatedProfile data (subtitle, backstory, stats, items, specialAttack)
- Display generated images from S3 or name placeholders
- Create web API service ($lib/api.ts)
- Delete mock cards data files

Infrastructure:
- Add CORS origin for web dev port (5196)
- Add GEMINI_API_KEY + FIGGOS_STORAGE_PUBLIC_URL to env generation
- Add figgos-storage bucket to shared-storage factory
- Add .gitignore for workbench/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:22:51 +01:00
Chr1st1anG
49c6ecc377 feat(figgos): port collection, showcase + card detail to SvelteKit web
- Add card images to static/images/ and shared card data module
- Collection grid with 2-column layout linking to card detail
- Showcase carousel with scroll-snap, drag-to-scroll, scale/rotation effects
- Card detail with CSS 3D flip (drag to rotate, double-click to flip)
- Back side shows backstory, stats bars, rarity badge (sized to match front)
- Layout with 3 tabs (Create, Collection, Showcase), hidden on card detail
- Scale up Create + Collection screens for better visual presence

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 17:12:28 +01:00
Chr1st1anG
9462dfac43 feat(figgos): add card detail screens, collection views + gesture 3D flip
- Root layout: Stack navigator with GestureHandlerRootView
- Tab layout: Create, Shelf, Stack, Showcase tabs with NativeTabs
- Card V1: tap-to-flip with Reanimated spring animation
- Card V2: gesture-based 3D rotation (pan to rotate Y-axis, double-tap flip)
- Collection views: grid, shelf (by rarity), stack (deck), carousel (showcase)
- Card images: Detective Cole in 5 rarity variants (kraft, common, rare, epic, legendary)
- Back face: backstory, stats bars, rarity badge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:16:07 +01:00
Chr1st1anG
95dd1d3e9e feat(figgos): scaffold SvelteKit web app with neo-brutalist theme
SvelteKit 2 + Svelte 5 + Tailwind CSS 4 on port 5196.
Create and Collection pages matching the mobile neo-brutalist design system.
Follows monorepo patterns (adapter-node, shared-vite-config, type-check).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:18:50 +01:00
Chr1st1anG
1c24ad9d5c 🎨 feat(figgos): neo-brutalist game UI design system
Replace old corporate design with neo-brutalist game style:
- Electric yellow primary, hot pink secondary, teal accent
- Hard offset shadow layers on all interactive elements
- Thick 3px borders as core design language
- Restructure to flat tab layout (Create + Collection)
- Remove old auth/tabs/shelf screens
- Keep retro-pixel variant as reference (hidden tab)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 13:41:36 +01:00
Chr1st1anG
9992b32e3e 🔧 fix(figgos): align mobile setup with other SDK 54 apps
- Reanimated v4 + react-native-worklets (matches ManaDeck/Picture)
- newArchEnabled: true
- Add tsconfigPaths, baseUrl, jsx: react-jsx
- Remove worklets: false workaround from babel config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:19:53 +01:00
Chr1st1anG
76c69a10b1 feat(figgos): add figure generation V1 + re-scaffold mobile app
Backend: figures CRUD API with rarity system and random stats
Mobile: re-scaffolded with create-expo-app (SDK 54), NativeWind 4 design system,
create form + shelf grid. Auth disabled for faster iteration.
Shared: types inlined for Node v24 ESM compat.

See CLAUDE.md for current status, known issues, and next steps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:10:53 +01:00
Chr1st1anG
8836dfa6b1 feat(figgos): add NativeWind design system with semantic color tokens
CSS-variable-based design system (ManaDeck pattern) with light/dark mode,
semantic tokens (primary, secondary, accent, destructive, surface, muted),
and game-specific rarity colors (common, rare, epic, legendary).
Also adds FEATURES.md with game concept and data model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 21:15:03 +01:00
Chr1st1anG
1cffc6de81 feat(figgos): scaffold backend + mobile app
Add new Figgos project under apps/figgos/ with:
- NestJS backend (port 3025) with Drizzle ORM, health check, metrics
- Expo React Native mobile app with Mana Core Auth, tab navigation
- Shared types package (@figgos/shared)
- Root integration: env generation, dev:figgos:full script, MinIO bucket

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:53:54 +01:00