Skip to content

docs: define 10 pre-launch development goals for PoseLab#8

Merged
Self-nasu merged 21 commits into
mainfrom
claude/project-goals-definition-skg2is
Jun 17, 2026
Merged

docs: define 10 pre-launch development goals for PoseLab#8
Self-nasu merged 21 commits into
mainfrom
claude/project-goals-definition-skg2is

Conversation

@Self-nasu

Copy link
Copy Markdown
Contributor

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

claude added 21 commits June 17, 2026 16:22
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
…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
…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
- 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
@Self-nasu Self-nasu merged commit a07288e into main Jun 17, 2026
1 check failed
@Self-nasu Self-nasu deleted the claude/project-goals-definition-skg2is branch June 17, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants