Hyperspace tunnel cross-pivot transition
- Linguagem predominante
- TypeScript
- Estrelas
- 0
- Forks
- 1
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
> **Skills:** GLSL · Three.js camera math · motion synchronization
> **Time:** ~12 hours
> **Good for:** Cinematic effects engineers · Star Wars trailer-tribute makers
> **Difficulty:** Advanced
---
## Context
When the user changes selection (cross-pivot), the current visual is a
horizontal accent-streak overlay (`HyperspaceOverlay.tsx`). Star Wars canon's
hyperspace transition is much more iconic: the camera punches forward, stars
elongate into streaks converging at infinity, then resolve back into the
destination.
## Goal
Replace the current 2D streak overlay with an actual 3D hyperspace tunnel:
camera pushes forward, all visible stars elongate radially from the camera
center over ~700ms, hold the tunnel for ~200ms, then decompress back to point
stars at the destination.
## Where to start
- New `components/galaxy/HyperspaceTunnel.tsx` — R3F overlay that hijacks the
camera briefly during cross-pivot. Sample existing star positions, project
velocity vectors radially from camera, render with a custom shader that
trails them.
- `components/explorer/HyperspaceOverlay.tsx` — currently 2D; either replace
or compose with the new 3D tunnel
- Coordinate with `SceneController` in `GalaxyCanvas.tsx` so the camera dolly
syncs with the tunnel duration
## Acceptance criteria
- Cross-pivot now feels canonical rather than cosmetic
- Reduced motion: existing 80ms cross-fade preserved
- Works in galaxy view; timeline / lineage views can keep their current
transitions
- No motion sickness for users (no aggressive yaw/roll)
## Lore reference
https://starwars.fandom.com/wiki/Hyperspace
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.