adhit-r / adhit-r/holocron

Constellation mode — alternate galaxy rendered as star-chart constellations

未关闭
#31 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
advanced area: 3d creative help wanted
主要语言
TypeScript
星标
0
派生
1
PR 合并指标
30 天内没有已合并 PR

描述

> **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

贡献指南

打开贡献指南

调研方向

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.

由索引模型根据 Issue 内容生成。

评估

技术栈
react, threejs, typescript
领域
computer-graphics, data-visualization, frontend
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
描述清楚
新手友好度
52/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。