2d stellar system map for testing https://pages.gi7b.org/gi7b/2d-star-system-map/
  • TypeScript 62.1%
  • HTML 31.3%
  • JavaScript 3.3%
  • CSS 2.9%
  • Java 0.2%
  • Other 0.1%
Find a file
Agent Kimi 41ecf9b59a
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
Add active-source header with blog and live app links
2026-05-10 21:26:03 +08:00
.github/workflows build: update dist, add batch test harness, GitHub Actions deploy, repo analysis 2026-04-18 00:11:25 +08:00
android v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
dist v2.33.1: Inertia Banks — rotating momentum-exchange tethers (FRD-071) 2026-05-08 02:56:05 +08:00
public v2.33.1: Inertia Banks — rotating momentum-exchange tethers (FRD-071) 2026-05-08 02:56:05 +08:00
scripts v2.12: Real patched conic gravity assist physics 2026-05-01 23:35:56 +08:00
src v2.33.1: Inertia Banks — rotating momentum-exchange tethers (FRD-071) 2026-05-08 02:56:05 +08:00
src-tauri v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
tools/system-importer chore: sync latest changes 2026-05-04 01:04:00 +08:00
.gitignore Add system-importer tools for 2-Parsecs book data integration 2026-05-02 18:26:53 +08:00
ANIMATION_TEST_PROPOSAL.md docs: Update logs for v2.27–v2.30 fixes 2026-05-08 02:28:14 +08:00
capacitor.config.ts v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
CODE_CLUTTER_INDEX.md docs: Update logs for v2.27–v2.30 fixes 2026-05-08 02:28:14 +08:00
FRD-046-star-page-save.md FRD-046 M1-M2: Save Page + System Editor 2026-04-20 12:14:22 +08:00
FRD-047-pwa.md FRD-047: PWA + 0.01 version tracking 2026-04-20 20:06:47 +08:00
FRD-048-delta-v-travel-planner.md QA-048-01: Fix Travel Planner inaccessible in embed mode 2026-04-23 01:32:17 +08:00
FRD-049-travel-time-slider.md docs: Update logs for v2.27–v2.30 fixes 2026-05-08 02:28:14 +08:00
FRD-060-Mneme-2D-Map.md v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
FRD-062-2D-Map-Hill-Sphere-Display.md v2.03: FRD-062 Hill Sphere tooltip on body hover 2026-04-23 20:11:59 +08:00
FRD-063-Gravity-Assists.md Phase 0: Fix SOI geometry and stellar mass period bugs 2026-05-01 22:26:33 +08:00
FRD-063-TEST-PLAN.md v2.09: FRD-063 Gravity Assist physics engine + comprehensive test suite 2026-05-01 23:11:16 +08:00
FRD-064-DeltaV-Deadline.md v2.10: Additional FRDs — Roche Limit, DeltaV/Deadline, Hohmann/Lambert 2026-05-01 23:14:29 +08:00
FRD-065-Hohmann-Lambert.md docs: Update logs for v2.27–v2.30 fixes 2026-05-08 02:28:14 +08:00
FRD-069-Roche-Limit.md v2.10: Additional FRDs — Roche Limit, DeltaV/Deadline, Hohmann/Lambert 2026-05-01 23:14:29 +08:00
FRD-071-Orbital-Cyclers.md FRD-071: Orbital Cyclers spec + cycler computation module 2026-05-08 02:47:05 +08:00
FRD.md FRD-048 M1: Delta-V physics engine + Travel Planner UI + canvas selection 2026-04-20 22:31:10 +08:00
index.html v2.33.1: Inertia Banks — rotating momentum-exchange tethers (FRD-071) 2026-05-08 02:56:05 +08:00
ISSUE_LOAD_REGRESSION.md v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
LICENSE Initial commit 2026-04-15 23:23:39 +08:00
mneme-batch-1000-1776255855929- more gov't type tests.json Add paste/import UI and download feature for system JSON 2026-04-18 01:22:51 +08:00
package-lock.json v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
package.json v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00
README.md Add active-source header with blog and live app links 2026-05-10 21:26:03 +08:00
repoAnalysis.md build: update dist, add batch test harness, GitHub Actions deploy, repo analysis 2026-04-18 00:11:25 +08:00
ROADMAP-Travel-Infrastructure.md FRD-071: Orbital Cyclers spec + cycler computation module 2026-05-08 02:47:05 +08:00
test.html build: update dist, add batch test harness, GitHub Actions deploy, repo analysis 2026-04-18 00:11:25 +08:00
tsconfig.json Initial commit: standalone 2D star system map extracted from MWG 2026-04-15 23:27:39 +08:00
UI-COLLAPSE-PROPOSAL.md Collapsible panel + visible git-based versioning 2026-04-18 14:43:04 +08:00
VERSION v2.33.1: Inertia Banks — rotating momentum-exchange tethers (FRD-071) 2026-05-08 02:56:05 +08:00
VERSION.md docs: Update logs for v2.27–v2.30 fixes 2026-05-08 02:28:14 +08:00
vite.config.ts FRD-047: PWA + 0.01 version tracking 2026-04-20 20:06:47 +08:00
WRAPPER_BUILD.md v2.04+: Critical regression fixes + wrapper build support 2026-05-01 22:02:46 +08:00

🛒 Products & Blog: blog.gi7b.org 🌐 Live App: https://pages.gi7b.org/gi7b/2d-star-system-map/ 💻 Source: https://git.gi7b.org/gi7b/2d-star-system-map

GitHub mirror archived — active development is here on Forgejo.


2D Star System Map

Products: https://blog.gi7b.org

Standalone 2D animated star system map for the Mneme CE World Generator.

Live URL: https://pages.gi7b.org/gi7b/2d-star-system-map/


Quick Start — Get Test Data from MWG

The map accepts a Base64-encoded StarSystem payload via the ?system= query parameter. The easiest way to generate test data is straight from the MWG browser console.

Step 1: Generate a system in MWG

Open Mneme CE World Generator, click Generate System, then open DevTools → Console.

Step 2: Run this snippet

const system = JSON.parse(localStorage.getItem('mneme_current_system'));
const payload = {
  starSystem: system,
  starfieldSeed: Math.random().toString(36).substring(2, 10).toUpperCase(),
  epoch: { year: 2300, month: 1, day: 1 }
};
const json = JSON.stringify(payload);
const encoded = btoa(encodeURIComponent(json).replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(parseInt(p1, 16))));
const url = `https://pages.gi7b.org/gi7b/2d-star-system-map/?system=${encoded}`;
console.log(url);
window.open(url, '_blank');

This will:

  1. Read the currently generated system from MWG localStorage
  2. Wrap it with a random starfieldSeed and default epoch
  3. Encode it as a Unicode-safe Base64 string
  4. Print the full map URL to the console
  5. Open the map in a new tab automatically

Development

npm install
npm run dev
npm run build

The app is a plain Vite + TypeScript project with no React dependencies.


Architecture

  • src/main.ts — Bootstrap, payload decode, canvas init
  • src/dataAdapter.tsStarSystemSceneBody mapper
  • src/renderer.ts — Canvas RAF render loop
  • src/camera.ts — Pan/zoom transforms
  • src/input.ts — Mouse drag, wheel zoom, touch pinch/pan
  • src/orbitMath.ts — Kepler period, angle offsets, orbital velocity
  • src/starfield.ts — Mulberry32 PRNG, procedural background
  • src/uiControls.ts — Play/pause, speed, step buttons, seed controls
  • src/travelPhysics.ts — Escape velocity, transfer time calculator (FRD-048)
  • src/travelPlanner.ts — Travel Planner UI & canvas selection mode (FRD-048)
  • src/travelRenderer.ts — Trajectory arc & ship animation overlay (FRD-048)