docs: define 10 pre-launch development goals for PoseLab#8
Merged
Conversation
Add PROJECT_GOALS.md covering all critical gaps identified through a full codebase audit — secrets management, backend API completion, rig consolidation, test suite, mobile UX, CI/CD, and more. Each goal includes current state, what to build, and acceptance criteria. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
Replace hardcoded Firebase keys and app URLs with VITE_* env vars via import.meta.env, add .env.example template, update .gitignore, and add TypeScript declarations for all new env variables. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
… (Goal 10) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
Installs Vitest, @testing-library, and jsdom; wires up vitest.config.ts and src/test/setup.ts with Firebase/env mocks; adds 73 passing tests across appConfig, authMapper, cookiesStorage, authStore, qualitySettings, and AuthService (integration via axios-mock-adapter). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…ta (Goal 1) - Extend endpoint.config.ts with feed, renders, poses, profile, stories, challenges, reports endpoints - Add src/@types/feed.ts and src/@types/creation.ts type definitions - Create FeedService.ts and CreationService.ts using ApiService.fetchDataWithAxios - Update Home feed to use SWR + FeedService with loading skeleton and FALLBACK_POSTS on error - Update MyCreations to use SWR + CreationService with loading skeleton and FALLBACK_CREATIONS on error - Add delete button (Trash2, hover-only) to CreationCard with confirmation and SWR mutate revalidation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…nriched presets (Goal 3) - CharacterViewer now exclusively uses NewMinecraftCharacter (rigid-system) - Removed imports for standard/MinecraftCharacter, bendable/BendableMinecraftCharacter, standard/PoseControls, bendable/PoseControls, and their posePresets - Simplified characterModel state from 4-way to 'rigid' | 'bendable' - Bottom bar now shows RIGID and BENDABLE buttons (both visible, no commented-out buttons) - handlePoseChange updated to work with RigState (Record<string, THREE.Euler>) - Created rigid-system/PoseControls.tsx: unified slider-based controls that read Euler radians and display/accept degrees, grouped by Head/Body/Arms/Legs - Enriched RIGID_POSES with running, combat, sitting, waving - Enriched BENDABLE_RIGID_POSES with combat and sitting - Marked standard/MinecraftCharacter.tsx and bendable/BendableMinecraftCharacter.tsx as @deprecated (files kept for reference) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
… presets (Goal 3)
…h flow (Goal 5) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…quality-gated effects (Goal 7) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…quality-gated effects (Goal 7)
…ive challenges (Goal 9) - Add FeedService with getFeed (paginated), getStories, getChallenges, reportPost methods; all fall back gracefully to mock data when API is unavailable - PostCard: add 3-dot menu with "Report Post" option; calls FeedService.reportPost and shows sonner toast on success - Home: infinite scroll via IntersectionObserver sentinel; page state accumulates posts across pages; shows end-of-feed message when nextPage is null; adds notification Bell button with red dot badge (notifCount=3) and toast on click - Stories: switch to useSWR + FeedService.getStories with fallback to posts prop; show username below each story circle; horizontal scroll with hidden scrollbar - Sidebar: uncomment Trending Challenges section; drive data from useSWR + FeedService.getChallenges with fallback; animate entries count from 0 using framer-motion useSpring Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…ses, and dvh fixes (Goal 8) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…ive challenges (Goal 9)
- Mobile overlay sidebar with hamburger toggle (Menu/X) - Bottom sheet for pose controls on mobile (max-h-[60dvh]) - Mobile FAB with Camera/Download actions - isMobile matchMedia detection, sidebarOpen state - OrbitControls touch support (ROTATE + DOLLY_PAN) - RenderDialog responsive padding and max-h scroll - dvh units for full-height canvas on mobile Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
…sistence) After a high-quality render completes, users can now save it directly to their My Creations gallery via CreationService.saveRender(). The dialog shows a loading state while saving, toasts on success/error, closes on success, and triggers SWR revalidation of the creations list. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add PROJECT_GOALS.md covering all critical gaps identified through
a full codebase audit — secrets management, backend API completion,
rig consolidation, test suite, mobile UX, CI/CD, and more.
Each goal includes current state, what to build, and acceptance criteria.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_016GhhvSFLMp3M5ubNM4mvTY