How jayashreeagrwal/steller works
Celestral! is a browser-based constellation path-guessing game. Visitors arrive at the landing page, where the Heroes game component requests a game from an external service, accepts star guesses, displays the constellation graph and tracks game state. The landing page also exposes help, leaderboard and additional-play UI; sampled leaderboard code shows placeholders rather than live scores. The tree includes a practice route, but its behavior is not evident from the available source. Relationships are limited to sampled calls and explicit references; several UI modules are grouped as shared primitives.
Main entry points: heading.tsx Navigation heading · page.tsx Landing page · heroes.tsx Constellation game · layout.tsx Application layout
Components 17
Game experience
- Landing page
app/(landing)/page.tsx - Constellation game
app/(landing)/_components/heroes.tsx - Game service
- Practice route
app/(practice)/practice/page.tsx
Player support
- Navigation heading
app/(landing)/_components/heading.tsx - Landing footer
app/(landing)/_components/footer.tsx - How-to-play help
components/how-to-play.tsx - Leaderboard panel
components/leaderboard.tsx - Play-more panel
components/play-more.tsx
Presentation layer
- Scroll state hook
hooks/useScrollTop.tsx - Graph endpoint markers
components/custom-dot.tsx - Chart rendering
components/ui/chart.tsx - UI primitives
components/ui - Class utilities
lib/utils.ts - Application layout
app/layout.tsx - Theme provider
components/theme-provider.tsx
Other components
- Visitor
Connections 16
- Visitor → Landing page: opens
app/(landing)/page.tsx - Landing page → Navigation heading: renders
app/(landing)/page.tsx - Landing page → Constellation game: renders
app/(landing)/page.tsx - Landing page → Landing footer: renders
app/(landing)/page.tsx - Constellation game → Game service: requests game
app/(landing)/_components/heroes.tsx - Constellation game → Graph endpoint markers: renders markers
app/(landing)/_components/heroes.tsx - Constellation game → Chart rendering: uses chart
app/(landing)/_components/heroes.tsx - Navigation heading → How-to-play help: renders
app/(landing)/_components/heading.tsx - Navigation heading → Leaderboard panel: renders
app/(landing)/_components/heading.tsx - Navigation heading → Play-more panel: renders
app/(landing)/_components/heading.tsx - Navigation heading → Scroll state hook: reads scroll state
app/(landing)/_components/heading.tsx - How-to-play help → UI primitives: uses dialog controls
components/how-to-play.tsx - Leaderboard panel → UI primitives: uses dialog controls
components/leaderboard.tsx - Chart rendering → Class utilities: merges classes
components/ui/chart.tsx - Application layout → Theme provider: wraps app
app/layout.tsx - Application layout → Visitor: serves application