No description
  • TypeScript 99.1%
  • CSS 0.6%
  • JavaScript 0.2%
Find a file
2026-05-10 21:26:33 +08:00
.devcontainer Added types for star generation 2025-10-12 17:01:20 +08:00
docs/knowledge docs: Initial wiki sync — all chapters + supplementals to docs/knowledge/ 2026-03-04 23:30:45 +08:00
public Initial Commit 2025-09-16 06:48:15 +08:00
src Fixed bugs and refined the contents. 2025-12-23 18:58:17 +08:00
.gitignore docs: Apply PAD structure — PRD, PROJECT_NOTES, wiki sync, knowledge base 2026-03-04 23:15:04 +08:00
components.json Initial Commit 2025-09-16 06:48:15 +08:00
eslint.config.js Initial Commit 2025-09-16 06:48:15 +08:00
index.html Added discord placeholder, title, and image 2025-09-29 21:05:20 +08:00
INSTRUCTIONS.md Updated the readme file 2025-09-30 21:46:59 +08:00
Mneme_World_Generator_Wiki_Sync.md docs: Initial wiki sync — all chapters + supplementals to docs/knowledge/ 2026-03-04 23:30:45 +08:00
package-lock.json Added primary world functions 2025-12-04 22:52:39 +08:00
package.json Added primary world functions 2025-12-04 22:52:39 +08:00
pnpm-lock.yaml Added the inhabitants and the planetary system. 2025-10-06 06:50:28 +08:00
PRD.md docs: sync GI7B UI Standard and fix wiki chapter references 2026-03-04 23:57:35 +08:00
PROJECT_NOTES.md docs: sync GI7B UI Standard and fix wiki chapter references 2026-03-04 23:57:35 +08:00
README.md Add active-source header with blog and live app links 2026-05-10 21:26:33 +08:00
tailwind.config.js Refined design according to Figma 2025-09-27 15:16:33 +08:00
tsconfig.app.json Initial Commit 2025-09-16 06:48:15 +08:00
tsconfig.json Initial Commit 2025-09-16 06:48:15 +08:00
tsconfig.node.json Initial Commit 2025-09-16 06:48:15 +08:00
vite.config.ts Initial Commit 2025-09-16 06:48:15 +08:00

🛒 Products & Blog: blog.gi7b.org 🌐 Live App: https://pages.gi7b.org/gi7b/mneme-world-generator-pwa/ 💻 Source: https://git.gi7b.org/gi7b/mneme-world-generator-pwa

GitHub mirror archived — active development is here on Forgejo.


Mneme World Generator PWA

Products: https://blog.gi7b.org

A Progressive Web App for procedural world and star system generation using the Mneme World Generator rules.

License: GPL v3 Status

Source Material: Mneme World Generator — DriveThruRPG by Justin Aquino and Nicco Salonga Wiki (authoritative rules): https://wiki.gi7b.org/index.php/Mneme_World_Generator Spreadsheet Version: Google Sheet


📋 Documentation State

Document Purpose Status
PRD.md Product Requirements Document — functional specs, milestones, UI standard Current
PROJECT_NOTES.md Dev log, architecture decisions, GI7B UI Standard, problems & solutions Current
Mneme_World_Generator_Wiki_Sync.md Knowledge base sync instructions — wiki chapters, change notes, sync log Synced 2026-03-04
docs/knowledge/ Local copies of all wiki chapters (Ch 010 + 3 supplemental) Synced 2026-03-04
INSTRUCTIONS.md Developer setup guide — tech stack, component patterns, TypeScript conventions Reference

Knowledge Base: All generation rules come from the Mneme World Generator wiki. Run the sync instructions in Mneme_World_Generator_Wiki_Sync.md before implementing generation logic. Never hardcode rules without a corresponding wiki reference.


🛣️ Milestones

Milestone Scope Status
M1: Preparation Project setup, tech stack, initial structure Complete
M2: UI Stage Layout, routing, theme toggle, landing page, shadcn/ui components Complete
M3: Star Generation Star type, luminosity, companion stars, export 🔄 In Progress
M3.1: Star Generation Phase Generation rules per wiki Chapter 2 🔄 In Progress
M3.2: Persistence Export only (JSON) 🔄 In Progress
M4: Primary World Generation Full UWP, trade codes, starport, export Pending
M5: Save/Load & Library IndexedDB, search, filter, import/export Pending
M6: Disks & Full System Gas giants, belts, planetary orbits, moons Pending
M7: UI Alignment Align to GI7B Generator UI Standard — tile system, settings sections, layout/theme toggle Pending

🎯 GI7B Generator Suite

This app is part of the GI7B Generator Suite. All three generators share the same navigation structure and UI standard (see M7):

Generator Repo Status
CE ShipGen (canonical UI reference) xunema/ce-shipgen M2 Complete
CE CharacterGen xunema/cecharactergen 🔄 M2 In Progress
Mneme World Gen (this repo) xunema/mneme-world-generator-pwa 🔄 M3 In Progress

🧭 GI7B UI Standard (Navigation Tree)

Landing Page (/)
│
├── 🌙/☀️ Theme Toggle      [header — always visible]
├── 🖥️/📱 Layout Toggle     [header — always visible]
│
├── ✨ Generate Now (/generate)
│   └── Star → World → System generation — tile-based
│
├── 📚 Library (/library)
│   └── Saved systems — search, filter, export
│
└── ⚙️ Settings (/settings)
    ├── 📄 JSON Tables        (/settings/tables)
    ├── 🧩 Mechanics Modules  (/settings/mechanics)
    ├── 🎲 Generation Options (/settings/options)
    └── 🔧 Other Settings     (/settings/other)

Tile System

State Description
Collapsed Summary only
Expanded Full content
Focused Full-screen overlay — ESC to exit

🚀 Tech Stack

  • React 19 + TypeScript + Vite 7
  • shadcn/ui (Radix UI) + Tailwind CSS v4
  • React Router DOM v7
  • Node.js 22 LTS required (Vite 7 dependency)
  • pnpm (recommended) or npm

🛠️ Development

Prerequisites

# Install Node 22 via nvm (Linux/macOS)
nvm install 22 && nvm use 22
corepack enable && corepack prepare pnpm@latest --activate

Setup

pnpm install
pnpm dev        # http://localhost:5173

Build

pnpm build
pnpm preview    # preview production build

Mobile Testing

pnpm dev --host   # exposes LAN IP — open http://<LAN-IP>:5173 on phone

🧭 Project Structure

mneme-world-generator-pwa/
├── README.md                              ← START HERE — milestones, docs state
├── PRD.md                                 ← Product requirements & UI spec
├── PROJECT_NOTES.md                       ← Dev log, architecture, GI7B UI Standard
├── Mneme_World_Generator_Wiki_Sync.md     ← Wiki sync instructions & change log
├── INSTRUCTIONS.md                        ← Developer/component guide
├── docs/
│   └── knowledge/                         ← Local wiki chapters (sync first!)
│       ├── 00_index.md
│       ├── 04_determine_star.md
│       ├── 05_determine_main_world.md
│       ├── 06_determine_habitability.md
│       ├── 07_determine_position.md
│       ├── 08_determine_inhabitants.md
│       ├── 09_determine_planetary_system.md
│       ├── S3_logic_spec_260222.md        ← canonical orbital mechanics (v2.1)
│       └── ...
├── data/                                  ← JSON generation tables (extracted from wiki)
└── src/
    ├── components/
    │   ├── layout/   ← MainLayout, CenteredLayout
    │   ├── shared/   ← Header, Footer
    │   └── ui/       ← shadcn/ui components
    ├── pages/        ← Route-level page components
    ├── lib/          ← Utilities (cn, etc.)
    └── routes.tsx

📚 Troubleshooting

Issue Fix
Vite not found pnpm install
crypto.hash error Upgrade Node to 22, reinstall
LAN not reachable Check firewall / subnet
Generation rules unclear Run Mneme_World_Generator_Wiki_Sync.md to sync knowledge base

👤 Credits

Steven Tiu — Original Author Justin Cesar Aquino — Project Sponsor, Rules Author


📝 License

GPL v3 — See LICENSE


🧾 Spreadsheet Version

The Google Sheets version has a built-in JavaScript roller and encoder:

  1. Go to File → Make a Copy
  2. Click Generate System — approve script permissions on first run
  3. Right-click the World Sheet tab → Copy to → New Spreadsheet to save results

Open Spreadsheet