Constellation mode — alternate galaxy rendered as star-chart constellations
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 1
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
> **Skills:** Three.js · WebGL · graph layout · constellation aesthetics
> **Time:** ~12 hours
> **Good for:** R3F enthusiasts · 3D devs · designers who love star charts
> **Difficulty:** Advanced
---
## Context
The galaxy currently renders as a 3D scene with planets as small spheres. A "Constellation mode" would offer an alternate rendering: every entity becomes a star-like point, and connections (relations) become faint lines, like a Sagan-era night-sky chart.
## Goal
A toggle (similar to Atlas mode) that switches the galaxy view from "spatial canon" to "constellation projection."
- Each entity = a glowing point sized by importance (films appearances + relation count)
- Each relation = a faint line, color by kind (master_of: accent-blue, parent_of: cream, ally_of: faint accent)
- Force-directed layout (or 2D projection of the existing 3D positions)
- Optional: zoom-into-constellation reveals planet-system layout
## Where to start
- New `components/galaxy/ConstellationView.tsx` — full alternate canvas
- A new toggle in NavRail (`star-chart` icon)
- Reuse the existing relation graph from `relationGeometry.ts` and entity positions
- Layout algorithm: either project 3D positions to 2D (top-down + jitter) OR run a force-directed layout over the relation graph
- Render as `` (entities) + `` (relations) with additive blending
## Acceptance criteria
- Toggle from main galaxy view → constellation view in < 800ms transition
- Click any star → cross-pivot to that entity
- 60fps with 318 entities + ~600 relations
- Reduced motion → static layout, instant toggle
- Clean disposal on toggle-off
## Inspiration
https://stellarium.org · https://commons.wikimedia.org/wiki/File:Sky_chart_circumpolar.png
Hướng dẫn đóng góp
Hướng nghiên cứu
Start by reading the existing galaxy view, NavRail toggle pattern, and relationGeometry.ts to see how entities, positions, and relations are exposed. The issue proposes a new components/galaxy/ConstellationView.tsx rendering points and lineSegments. Done means the toggle switches under 800ms, stars cross-pivot to entities, reduced motion is static, performance holds for 318 entities/~600 relations, and resources are disposed on toggle-off.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- react, threejs, typescript
- Lĩnh vực
- computer-graphics, data-visualization, frontend
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 52/100