adhit-r / adhit-r/holocron

Force-ghost shader for deceased Jedi

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
area: 3d area: shader enhancement lore-heavy
Dominant language
TypeScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

> **Skills:** GLSL fragment shaders · R3F shader uniforms · era-driven state
> **Time:** ~8 hours
> **Good for:** Shader nerds who watched ROTJ a hundred times
> **Difficulty:** Intermediate

---

## Context

When the timeline scrubber moves past a Jedi's death year, their hologram
should adopt a "Force ghost" treatment — translucent blue shimmer with edge
dissolve, the way Obi-Wan, Yoda, and Anakin appear after Endor.

## Goal

Era-aware shader variant that activates automatically based on the global era
and the entity's `era.deathYear`.

## Where to start

- `components/galaxy/HolographicFigure.shaders.ts` — extend the fragment shader
with a uniform `uForceGhost: float` (0..1) that blends between the active
hologram look and a softer, more diffuse, edge-dissolved variant
- `components/galaxy/HolographicFigure.tsx` — read the global era and the
entity's death year, set the uniform
- Force-ghost effect: lower body opacity, lift fresnel rim intensity, slight
vertical "drift" displacement on the head/shoulders (subtle), monochrome
pale blue tint regardless of side

## Acceptance criteria

- Yoda's hologram becomes ghostly when era ≥ 4 ABY
- Obi-Wan becomes ghostly when era ≥ 0 BBY
- Smooth transition over ~600ms when scrubber crosses the threshold
- Reduced motion: instant binary swap
- Sith characters with death years: do they get a ghost treatment? Lore says no
(Sith spirits are different); document the policy

## Lore reference

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

Contributor guide

Open the contributing guide

Research direction

Read components/galaxy/HolographicFigure.shaders.ts and components/galaxy/HolographicFigure.tsx first, then trace how the global era and entity era.deathYear are exposed. Verify the Yoda and Obi-Wan thresholds, the smooth transition and reduced-motion behavior in the running galaxy timeline; document the Sith policy as part of the completed work.

Written by the indexing model from the issue text.

Assessment

Tech stack
next.js, react, three.js, typescript
Domain
computer-graphics, frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.