adhit-r / adhit-r/holocron

Lightsaber colors per Force user

Đang mở
#1 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
area: 3d good first issue lore-heavy
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:** TypeScript · Three.js shader-material basics · OKLCH color tokens
> **Time:** ~4 hours
> **Good for:** R3F beginners · Star Wars lore fans who know their crystal colors
> **Difficulty:** Beginner-friendly

---

## Context

The galaxy view's `` colors lightsaber blades hardcoded:
accent-blue for Jedi, alarm-red for Sith. But canonically, Force users wield
many crystal colors — green (Yoda, Luke post-RoTJ, Qui-Gon), purple (Mace
Windu's Hurrikaine crystal), white (Ahsoka after redeeming captured Inquisitor
sabers), yellow (Jedi temple guards, Rey's hilt at the end of TROS).

## Goal

Move lightsaber color from a hardcoded prop to a per-entity field, so each
Force user's hologram is correctly tinted.

## Where to start

- `components/galaxy/HolographicFigure.tsx` — the saber blade material is set
conditionally on the `side` prop today
- `lib/schema.ts` — extend `Entity` with an optional `traits.lightsaberColor`
(OKLCH string or one of `blue | green | purple | white | yellow | red`)
- Wire a small lookup table in `lib/data/lightsaber-colors.ts` keyed by entity id
- `data/build/kb.json` is regenerated by `npm run build:kb` — merge the lookup
into the build output

## Acceptance criteria

- Yoda's blade renders green, Mace Windu's purple, Ahsoka's white
- Default fallback to side classification (Jedi blue, Sith red) for unspecified
- Reduced motion path preserved
- A note in the schema documenting the field

## Lore reference

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start with components/galaxy/HolographicFigure.tsx and lib/schema.ts to trace the current side-based color and Entity shape. Add the lookup in lib/data/lightsaber-colors.ts, then run npm run build:kb to update the generated data/build/kb.json. Done means the named characters render with their specified colors, unspecified entities retain the side fallback, reduced motion remains intact, and the schema documents the field.

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, three.js, typescript
Lĩnh vực
build-system, computer-graphics, data-visualization, frontend
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
Nửa 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
68/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.