Files
lively/CLAUDE.md
Mathis Pruvot 961d29ebe8 chore: initialize Expo SDK 55 project with TypeScript
React Native + Expo Router setup with strict TypeScript,
path aliases, and dark-first configuration.
2026-05-28 11:48:49 +00:00

1.4 KiB

Lively — Live Wallpapers App

Stack

  • React Native (Expo SDK 55+, New Architecture)
  • TypeScript strict
  • Expo Router v4 (file-based routing)
  • @shopify/react-native-skia v2.6+ (GPU shaders SkSL)
  • react-native-reanimated 3 (animation orchestration)
  • react-native-gesture-handler (touch/drag)
  • Zustand + MMKV (state + persistence)
  • expo-blur (glassmorphism blur backing)

Architecture

  • app/ — Expo Router screens (file-based)
  • src/components/glass/ — Design system glassmorphism
  • src/shaders/ — SkSL fragment shaders (animations)
  • src/hooks/ — React hooks (animation, gyroscope, export)
  • src/stores/ — Zustand stores (wallpaper, settings)
  • src/services/ — Media access, ML pipeline
  • src/theme/ — Colors, glass constants, typography, spacing
  • src/types/ — TypeScript type definitions
  • modules/ — Expo native modules (Android WallpaperService, iOS Live Photo)

Conventions

  • Imports: @/ alias pour src/
  • Named exports partout sauf screens (default export)
  • Shaders SkSL compilés via Skia.RuntimeEffect.Make()
  • Uniforms standard: resolution, time, intensity, speed + spécifiques
  • État global: Zustand, pas de Context API sauf providers Expo

Design System

  • Dark-first, glassmorphism
  • Blur backing via expo-blur
  • Bordures rgba(255,255,255,0.10) 1px
  • Palette dans src/theme/colors.ts
  • Teintes dérivées des images utilisateur, pas de couleurs d'accent vives