{"id":49983685,"url":"https://github.com/adhit-r/holocron","last_synced_at":"2026-05-18T18:48:10.369Z","repository":{"id":356389936,"uuid":"1232309296","full_name":"adhit-r/holocron","owner":"adhit-r","description":"A 3D Star Wars universe explorer. Galaxy, timeline, Force-lineage, datapad — one selection drives all four. Next.js + R3F + Tailwind. Real public data, no backend.","archived":false,"fork":false,"pushed_at":"2026-05-07T20:59:10.000Z","size":3690,"stargazers_count":0,"open_issues_count":20,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-07T22:25:24.146Z","etag":null,"topics":["3d","data-visualization","embeddings","force-graph","good-first-issue","interactive","knowledge-graph","nextjs","react","react-three-fiber","semantic-search","shaders","star-wars","tailwindcss","threejs","transformers-js","typescript","webgl","webgpu","wookieepedia"],"latest_commit_sha":null,"homepage":"https://adhit-r.github.io/holocron/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adhit-r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-07T19:57:49.000Z","updated_at":"2026-05-07T21:49:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adhit-r/holocron","commit_stats":null,"previous_names":["adhit-r/holocron"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/adhit-r/holocron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhit-r%2Fholocron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhit-r%2Fholocron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhit-r%2Fholocron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhit-r%2Fholocron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adhit-r","download_url":"https://codeload.github.com/adhit-r/holocron/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhit-r%2Fholocron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33187761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","data-visualization","embeddings","force-graph","good-first-issue","interactive","knowledge-graph","nextjs","react","react-three-fiber","semantic-search","shaders","star-wars","tailwindcss","threejs","transformers-js","typescript","webgl","webgpu","wookieepedia"],"created_at":"2026-05-18T18:48:06.346Z","updated_at":"2026-05-18T18:48:10.361Z","avatar_url":"https://github.com/adhit-r.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Holocron\n\n**The galaxy, indexed. Across space, time, and lineage.**\n\n![Holocron — 30-second demo](./demo.gif)\n\n[![Deploy](https://github.com/adhit-r/holocron/actions/workflows/deploy.yml/badge.svg)](https://github.com/adhit-r/holocron/actions/workflows/deploy.yml)\n[![Open Issues](https://img.shields.io/github/issues/adhit-r/holocron)](https://github.com/adhit-r/holocron/issues)\n[![Good first issues](https://img.shields.io/github/issues/adhit-r/holocron/good%20first%20issue?label=good%20first%20issue\u0026color=7057ff)](https://github.com/adhit-r/holocron/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nA unified explorer for the Star Wars universe. Four coupled views — a 3D galaxy, a temporal scrubber across 25,000 years of history, a Force-lineage graph, and an entity datapad — driven by a single shared selection state. Pick anything, see it everywhere.\n\n\u003e **Demo video** above — 30s, rendered with [Remotion](./remotion/). Source in [`remotion/`](./remotion/), MP4 + GIF outputs gitignored, regenerate with `cd remotion \u0026\u0026 npm install \u0026\u0026 npm run render:gif`.\n\n\u003e **Live:** Cloudflare Pages (primary, fast). GitHub Pages mirror at https://adhit-r.github.io/holocron/ (fallback).\n\u003e\n\u003e **Repo:** https://github.com/adhit-r/holocron\n\u003e\n\u003e **Contribute:** see [CONTRIBUTING.md](CONTRIBUTING.md). 20+ issues open, ~5 marked `good first issue`.\n\n## Contribute (read this first)\n\nWe're actively looking for Star Wars fans who write code. The repo has 20+ open issues classified by `area`, `difficulty`, and topic so you can pick one that matches your taste.\n\n- **2 hours** → [`good first issue`](https://github.com/adhit-r/holocron/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22): lightsaber colors, Aurebesh tooltips, sequel-era planets, May the 4th takeover.\n- **A weekend** → intermediate: Force-ghost shader, era-aware faction classification, Story Mode \"Rise of Vader,\" procedural climate shaders.\n- **A real challenge** → [`advanced`](https://github.com/adhit-r/holocron/issues?q=is%3Aissue+is%3Aopen+label%3Aadvanced): WebGPU 1M-particle starfield, hyperspace tunnel transition, WebXR mode, voice-driven cross-pivot, local LLM-driven entity descriptions.\n- **Pure GLSL** → [`area: shader`](https://github.com/adhit-r/holocron/issues?q=is%3Aissue+is%3Aopen+label%3A%22area%3A+shader%22).\n- **Lore expertise** → [`lore-heavy`](https://github.com/adhit-r/holocron/issues?q=is%3Aissue+is%3Aopen+label%3Alore-heavy).\n\nLocal setup is in [CONTRIBUTING.md](CONTRIBUTING.md). Design language in [DESIGN.md](DESIGN.md). Roadmap in [ROADMAP.md](ROADMAP.md).\n\n## What's inside\n\n- **Galaxy view** — 3D scene with real Legends planet coordinates, sector grid, hyperspace lanes, hover/select labels, orbiting camera. Selected entities project a holographic figure (custom GLSL shader: scanlines, fresnel rim, flicker) above their homeworld; Force users emit concentric resonance pulses; a connection web fans out to every related entity.\n- **Timeline view** — top-down galactic projection with hyperspace lanes drawn as animated dashes; planets fade in based on their first appearance vs. the era scrubber; faction territories and war theatres morph as you scrub through 25,025 BBY → 35 ABY; battle markers light up when the era approaches.\n- **Lineage view** — 3D force-directed graph of master/apprentice + parent/child relationships, with Sith vs. Jedi vs. civilian classified by BFS over the lineage chain. Hover any node to highlight its ancestry path.\n- **Datapad** — selected entity detail with Wikipedia-enriched lore (expandable), era data, cross-link relations, memorable quotes (100+ canonical quotes attributed by speaker / film / year), canon vs. Legends glyph, source provenance, and a per-entity Star Wars opening crawl.\n- **Hybrid search** — `/` or `⌘K`. Lexical (Orama) + semantic (Transformers.js + MiniLM-L6-v2 embeddings, ~390 KB precomputed vectors) blended 50/50, results tagged `lex / sem / hybrid`.\n- **Plot the route** — pick origin + destination, Dijkstra over the 38-waypoint hyperspace lane graph, animated traversal with parsec readout.\n- **Ship voyages** — pick the Falcon, see her route across films (~68,000 parsecs).\n- **Atlas mode** — toggle to render every major character as an ambient hologram above their homeworld simultaneously.\n- **Audio** — opt-in procedural Web Audio cues (no John Williams, no copyright). Seven cues plus an ambient hum.\n\n## Stack\n\n- Next.js 15 (App Router, static export to GitHub Pages)\n- React 19\n- React Three Fiber 9 + Three.js + drei\n- Tailwind CSS v4 (CSS-first `@theme` tokens, OKLCH-only palette)\n- Motion (Framer) + GSAP\n- Zustand (selection store) + Zod (schema)\n- Orama (lexical search) + Transformers.js (semantic embeddings, in-browser)\n- 3d-force-graph\n\nNo backend. All data is precomputed at build time and shipped statically.\n\n## Data sources\n\n- [SWAPI](https://swapi.info/) — canon people, planets, ships, vehicles, species, films\n- [parzivail/SWGalacticMap](https://github.com/parzivail/SWGalacticMap) — Legends planet coordinates (5,444 planets)\n- [Wookieepedia](https://starwars.fandom.com/) — hand-curated wars, battles, lineage, comics, video games, non-Disney films, hyperspace-lane waypoints, quotes\n- [Wikipedia REST API](https://en.wikipedia.org/api/rest_v1/) — long-form descriptions for 192/310 entities\n- [Hugging Face / Xenova/all-MiniLM-L6-v2](https://huggingface.co/Xenova/all-MiniLM-L6-v2) — 384-dim semantic embedding model\n\n## Local development\n\n```bash\ngit clone https://github.com/adhit-r/holocron.git\ncd holocron\nnpm install\n```\n\nBuild the data artifacts (in dependency order):\n\n```bash\nnpm run build:lanes        # parzivail coords + hyperspace lanes\nnpm run build:kb           # SWAPI ingestion + parzivail merge\nnpm run build:descriptions # enrich kb.json with Wikipedia summaries\nnpm run build:lineage      # Force lineage graph\nnpm run build:wars         # in-universe wars + battles\nnpm run build:legends      # non-Disney films + comics + games + clip links\nnpm run build:embeddings   # semantic vectors (rerun after any kb.json change)\n```\n\nThen start the dev server:\n\n```bash\nnpm run dev\n```\n\nOpen http://localhost:3000.\n\n## Build for production\n\nThe repo ships with a [GitHub Actions workflow](.github/workflows/deploy.yml) that builds and deploys to GitHub Pages on every push to `main`. To build locally:\n\n```bash\nNEXT_PUBLIC_BASE_PATH=/holocron npm run build\n```\n\nOutput is written to `out/`. Drop `NEXT_PUBLIC_BASE_PATH` if you're hosting at a domain root.\n\n## Project layout\n\n```\napp/                Next.js App Router routes (/, /explore)\ncomponents/         React components grouped by surface\n  galaxy/           3D galaxy view + holograms + connection web + voyages\n  timeline/         Top-down view + lanes + faction + war theatres\n  lineage/          3D force-directed lineage graph\n  explorer/         App shell, datapad, search palette, audio toggle\ndata/build/         Static JSON artifacts (kb, lanes, lineage, wars, …)\nlib/                Schema, store, data loaders, search, audio\npublic/data/        vectors.bin + meta (semantic search index)\nscripts/            Build pipelines that emit data/build/\nPRODUCT.md          Product brief — register, users, design principles\nDESIGN.md           Visual system — color, typography, components\nSHAPE.md            Design brief for v1 features\n```\n\n## License \u0026 Disclaimer\n\nCode in this repository: MIT.\n\nStar Wars and related marks (characters, vehicles, planets, films, games, comics) are the property of Lucasfilm Ltd. Data ingested from public sources is used here under fair-use commentary in a non-commercial educational archive. This project is not affiliated with, endorsed by, or sponsored by Lucasfilm or The Walt Disney Company.\n\nQuotes are short snippets used for commentary. No film clips are embedded; the project links out to Lucasfilm's official YouTube channel where applicable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadhit-r%2Fholocron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadhit-r%2Fholocron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadhit-r%2Fholocron/lists"}