adhit-r / adhit-r/holocron

Force connection ribbons in atlas mode

Offen
#28 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: 3d help wanted wow-factor
Vorherrschende Sprache
TypeScript
Sterne
0
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

> **Skills:** React Three Fiber · Three.js BufferGeometry · GLSL or Catmull-Rom curves
> **Time:** ~6 hours
> **Good for:** R3F devs · shader fans
> **Difficulty:** Intermediate

---

## Context

When Atlas mode is on, ~20 holographic figures appear above their homeworlds. The galaxy looks populated, but the relationships between them aren't visible — Yoda and Luke look unconnected even though they share a master/apprentice chain.

## Goal

Faint glowing ribbons that arc between master and apprentice positions when Atlas mode is on. Drift slowly. Color-coded by lineage (Jedi accent-blue, Sith alarm-red).

## Where to start

- `components/galaxy/AtlasMode.tsx` — currently renders figures only.
- For each `master_of` edge in the lineage data, build a Catmull-Rom curve from master.position → apprentice.position (curve through one intermediate elevation point so the ribbon arcs above the galactic plane).
- Render via `THREE.TubeGeometry` + a custom `ShaderMaterial` with an animated dash pattern, OR via `` from drei with a moving dash.
- Opacity ~0.15 so the ribbons feel like Force currents, not solid lines.
- Per `lib/data/force-transitions.ts`, color the ribbon based on the era — a redeemed lineage's ribbon shifts from red to cream as the era crosses the redemption year.

## Acceptance criteria

- Ribbons only render when atlas mode is on
- Color tracks the era (Anakin → Vader → redeemed shifts the Yoda → Dooku → Vader chain colors)
- 60fps with 38 lineage edges drawn
- Reduced-motion → static dash pattern, no drift
- Ribbons dispose cleanly on atlas-mode-off and unmount

## Lore reference

https://starwars.fandom.com/wiki/Force_bond

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.