- TypeScript 93.5%
- CSS 1.9%
- Python 1.7%
- HTML 1.7%
- JavaScript 1%
- Other 0.1%
|
Some checks are pending
Deploy to GitHub Pages / deploy (push) Waiting to run
Documents the root cause (sync-version.mjs + untracked files triggering git status --porcelain), pre-build checklist, correct build commands per target (web/Pages/native), and agent instructions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| android | ||
| dist-artifacts | ||
| docs | ||
| public | ||
| references | ||
| scripts | ||
| solar-system-2d | ||
| src | ||
| src-tauri | ||
| tests | ||
| version-logs | ||
| .gitignore | ||
| .~lock.260416 Economic Assumptions Customizations Custom tables.md# | ||
| 2d-star-system-map-instructions.md | ||
| 221013_Mneme_World_Generator_Revisions.pdf | ||
| 260409-v02 Mneme-CE-World-Generator-FRD.md | ||
| 260410-Changes.md | ||
| 260415-claude-open-fr032-income-assumptions.md | ||
| 260415-claude-open-qa027-income-notation.md | ||
| 260416-fr032-fr033-spec.md | ||
| 260417-00 MWG-REDESIGN-composition-atmosphere-biosphere.md | ||
| 260417-02 MWG-REDESIGN-habitability-application.md | ||
| 260417-03 MWG-REDESIGN-consolidated-v1.md | ||
| 260418-04 FR-044-moons-handoff.md | ||
| 260427-01 MWG-REDESIGN-zone-radiation-and-hz-biosphere.md | ||
| 260427-02 MWG-REDESIGN-multi-star-hierarchy.md | ||
| 260427-blog-update-summary.md | ||
| 260427-wiki-documentation-instructions.md | ||
| 260501-RCA-Wrapper-Build-Failures.md | ||
| 260501-whats-next-rca-recommendations.md | ||
| 2600417-01 MWG-REDESIGN-positioning.md | ||
| 20260415-fr031-scaffold.md | ||
| 20260415-mcp-changes.md | ||
| AGENTS.md | ||
| Binary-Giants | ||
| BUILD-HYGIENE.md | ||
| capacitor.config.ts | ||
| CE_SRD_Chapte-12-Worlds.pdf | ||
| CLEAN-BUILD-PROTOCOL.md | ||
| eslint.config.js | ||
| FORGEJO-PAGES.md | ||
| FRD-047-batch-management.md | ||
| FRD-062-MWG-Hill-Sphere-Display.md | ||
| FRD-063-Name-Place-Faction-Generator-Integration.md | ||
| FRD-064-Procedural-Business-Generation.md | ||
| FRD-065-Intrastellar-Economics-Population-Distribution.md | ||
| FRD-066-Trade-Routes-Logistics-Networks.md | ||
| FRD-067-Mneme-FTL-Barypoint-Navigation.md | ||
| FRD-068-RAW-UDP-Layer.md | ||
| FRD-069-Editable-Star-Systems.md | ||
| FRD-070-Economic-Classification-Trade-Codes.md | ||
| FRD-071-Downloadable-Apps-Android-Linux-Windows.md | ||
| GI7B EXTERNAL RAW CE SHIPS 231024-06 240930 - Google Sheets.pdf | ||
| index.html | ||
| Investigating Every Habitable Planet by KyPlanet | ||
| LICENSE | ||
| lint.txt | ||
| Mneme-CE-World-Generator-FRD v02.zip | ||
| mneme_ship_reference.json | ||
| mneme_ship_reference.md | ||
| NOTES-name-generation.md | ||
| package-lock.json | ||
| package.json | ||
| QA-260511-compilation-readiness.md | ||
| QA.md | ||
| README.md | ||
| repoAnalysis.md | ||
| ROADMAP.md | ||
| stars-10pc-20.json | ||
| test-mwg.mjs | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| Under Heaven Demographics 2030 to 2100 - Game in the Brain Wiki.pdf | ||
| VERSIONS.md | ||
| vite.config.pages.ts | ||
| vite.config.solar-pages.ts | ||
| vite.config.ts | ||
| WRAPPER_BUILD.md | ||
🛒 Products & Blog: blog.gi7b.org 🌐 Live App: https://pages.gi7b.org/gi7b/Mneme-CE-World-Generator/ 💻 Source: https://git.gi7b.org/gi7b/Mneme-CE-World-Generator
GitHub mirror archived — active development is here on Forgejo.
Products: https://blog.gi7b.org
🌌 Mneme CE World Generator
A Progressive Web App for generating complete star systems and worlds for the Cepheus Engine RPG
▶ Launch App · 📖 Book on DriveThruRPG · 🎬 Video Tutorial · 📜 Versions · 🗺️ Roadmap
📥 Download
Native apps are built automatically for every release. No browser required — works fully offline.
| Platform | Download | Install Notes |
|---|---|---|
| Linux | .AppImage |
Download, chmod +x, double-click to run. Portable — no install needed. |
| Linux | .deb |
sudo dpkg -i mneme-*.deb then find it in your system menu. |
| Windows | .msi |
Double-click the installer. Adds to Start Menu. |
| Android | .apk |
Enable Settings → Security → Unknown Sources, open the APK to install. |
Latest Release: See the Releases page for all versions, release notes, and SHA-256 checksums.
Prefer the web? The GitHub Pages version is always the latest build and works on any device with a browser.
What Is This?
The Mneme CE World Generator replaces the original Google Sheets world generator with a fully offline-capable web app that works on your phone, tablet, and desktop — no Google account required, no macros to approve, no spreadsheet to copy.
It is a digital companion to the Mneme World Generator book by Game in the Brain, which provides scientifically grounded rules for building detailed star systems for the Cepheus Engine RPG and compatible games. One tap generates an entire solar system — complete with stars, a habitable world, its inhabitants, and a full planetary system — all saved locally on your device.
Built for: Referees, worldbuilders, game designers, and sci-fi writers who want plausible, detailed star systems fast.
Project Documentation
| Document | Purpose |
|---|---|
| VERSIONS.md | Complete version history from v1.3.1 to current |
| ROADMAP.md | Backlog of planned features (2D map, CSV export, faction generator, etc.) |
| QA.md | Bug tracker and quality assurance log |
| 260410-Changes.md | Detailed mechanics changes vs the original book rules |
Why This Exists
The original tool was a Google Sheets spreadsheet with a Google Apps Script macro. It worked, but it had friction:
| Original Spreadsheet | This App |
|---|---|
| Requires a Google account | Works in any browser, no account needed |
| Must copy the sheet before use | Just open and generate |
| Macro approval prompt on every copy | No scripts to approve |
| Desktop-only comfortable | Designed for phone and desktop equally |
| No offline use | Fully offline after first load |
| Data lives in Google Drive | Data lives on your device |
| Export is manual copy-paste | One-click JSON and CSV export |
Recent Updates
Version 1.4.0 (2026-04-20)
Batch Management & 3D Map Integration (FRD-047)
- Star Systems Tab — New navigation tab replacing the flat saved-systems list with a batch-aware hierarchy
- Batches — Create, rename, delete, and switch between sector/campaign batches
- Active Batch — Newly generated systems automatically join the active batch
- Import
.mneme-map— Import a full 3D Interstellar Map sector; MWG creates a batch and generates worlds for every star - Export
.mneme-batch— Download a batch with all its systems and metadata - Legacy Migration — Existing systems automatically moved to a "Legacy Systems" batch on first load
Version 1.4.0 (2026-04-15)
Major Engine Rewrite: Gravity & Density (QA-023)
- Mass+Density Physics Pipeline — Replaced arbitrary gravity lookup tables with mass-derived gravity. Main worlds are now sized in Lunar/Earth Masses (LM/EM) and assigned a density, from which true radius, surface gravity, and escape velocity are derived.
- Physical Accuracy — Eliminated physically impossible combinations (like tiny dense planets with extreme gravities) and corrected terrestrial gravity non-monotonicity.
- Code Cleanups — Resolved React Hook violations in
SystemViewer.tsxand cleaned up unusedlucide-reactTS directives.
Associated Documentation
- QA.md — All initial bugs and features (QA-001 through QA-024) are now fully resolved.
- 260410-Update.md — Comprehensive explanation of recent engine rule changes vs the original book.
- 20260415-mcp-changes.md — Session logs of the final MCP QA-023 refactor and linting fixes.
Version 1.3.1 (2026-04-10)
New Features
- Visible Version Badge — Version number now displays subtly beside the MNEME CE logo in the header for easy reference
- Debug Mode Toggle — Settings page now includes a Debug Mode toggle (default ON) to show/hide the Batch Export feature for statistical analysis
- Credits & Contributors — Added recognition for GitHub, DeepSeek, and Kimi in the README
Physics & Calculation Fixes
- Escape Velocity Formula — Corrected to proper metric formula:
√(0.0196 × gravity × size × 0.5)km/s- Verified: Earth now correctly calculates to ~11.17 km/s (matches real-world 11.2 km/s)
- Radius Calculation — Fixed to
size × 0.5(radius is half the diameter) - Complete Test Suite — Added Python-based physics validation tests
Documentation Updates
- QA-014 — Debug Mode Toggle documentation
- Glossary Corrections — Fixed definitions for World Serpents, Celestials, Divergent/Variant Humans, Spiral Ships, and added Terraforming Worms
- FRD v1.4 — Updated with GitHub repo links, DriveThruRPG links, and PWA installation instructions
Version 1.3.0 (2026-04-10)
Major Bug Fixes
| Issue | Description | Status |
|---|---|---|
| QA-006 | Hill Sphere orbital spacing — prevents disk collisions | ✅ Fixed |
| QA-007 | Adv/Dis modifiers now applied to planet count and size rolls | ✅ Fixed |
| QA-009 | Body stats display — mass, radius, diameter, surface gravity, escape velocity | ✅ Fixed |
| QA-011 | Hot Jupiter migration rule — inner zone clearing for Class III/IV/V gas giants | ✅ Fixed |
UI Improvements
| Issue | Description | Status |
|---|---|---|
| QA-003 | Star classification visual cues — OBAFGKM spectrum images | ✅ Fixed |
| QA-004 | Scientific notation replaced with formatted numbers (e.g., "1.5M" instead of "1.5e+6") | ✅ Fixed |
| QA-005 | Phone theme toggle — vertical single-column layout for mobile | ✅ Fixed |
| QA-008 | "Ice" renamed to "Ice Worlds" for clarity | ✅ Fixed |
| QA-010 | Single-page layout with tab anchors (Generator/Glossary/Settings) | ✅ Fixed |
| QA-013 | Compact theme toggle — Dark/Day share button space | ✅ Fixed |
Dev Tools
| Issue | Description | Status |
|---|---|---|
| QA-012 | Debug Batch Export — generate 10-100 systems for statistical analysis with JSON export | ✅ Fixed |
| QA-014 | Debug Mode Toggle in Settings — user-configurable, default ON | ✅ Fixed |
Data & References
- Physical Properties — All planetary bodies now show density, radius, diameter, surface gravity, and escape velocity
- Hill Sphere Spacing — Bodies placed using proper Hill sphere minimum separation formula
- Hot Jupiter Rule — Class III/IV/V gas giants in inner zones clear all other bodies
Features
⭐ Star Generation
Generate your primary star using the Harvard spectral classification system — OBAFGKM — from blazing blue O-type giants to cool red M-type dwarfs. Each star is defined by its class and grade (0–9), which determines its mass, luminosity, and the size of its orbital zones.
- Primary star — class, grade, solar mass, luminosity
- Up to 3 companion stars — generated using a chain rule that prevents companions from being more massive than the star they orbit. No loops, no retries — a fractional scaling algorithm constrains each result in a single pass
- Stellar zones — Infernal, Hot, Conservative Habitable, Optimistic Habitable, and Outer Solar System, each calculated from the star's luminosity using the formula
√L☉ × zone multiplier - Companion orbits — 3D6 orbital distance table per stellar class, with cascading ×10 multiplier on a roll of 18
🌍 Main World Generation
Your solar system's main inhabited (or habitable) world, generated from its physical properties up.
World Type & Size
- Habitat — artificial megastructure habitats, sized in MegaVessel Tons (MVT) and GigaVessel Tons (GVT)
- Dwarf World — smaller bodies measured in Lunar Masses (LM), classified as Carbonaceous, Silicaceous, Metallic, or Other
- Terrestrial World — rocky planets from 0.1 to 7 Earth Masses (EM)
The roll is modified by stellar class: F-class stars favour larger worlds (Adv+2), G-class get a slight advantage (Adv+1), and other classes roll straight 2D6.
Physical Properties
Each world is calculated for:
- Surface gravity (in G) — derived from mass and radius
- Radius and diameter (in km) — calculated from mass and body-type density
- Escape velocity / ΔV (in m/s) — the delta-v needed to leave the surface
Atmosphere
Five types: Crushing, Dense, Trace, Thin, and Average — each with a tech level required to survive and a habitability modifier.
Temperature
Five ranges — Inferno, Hot, Freezing, Cold, and Average — modified by atmospheric density. Dense atmospheres trap heat; thin and trace atmospheres lose it.
Hazards
The world may have environmental hazards that reduce habitability and require technology to survive:
- Radioactive surface
- Toxic atmosphere
- Biohazard (contagious organisms)
- Corrosive atmosphere
- Polluted environment
- None
Each hazard also has an intensity (Very Mild → Intense) that further affects the habitability score.
Biochemical Resources
How abundant organic chemistry is on the world — from Scarce to Inexhaustible — affects wealth generation and population potential.
Habitability Score
A single numeric score combining gravity, atmosphere, temperature, hazard, intensity, biochemical resources, and tech level. Used to calculate maximum population and port quality.
Orbital Position
25 combinations of atmosphere + temperature map to allowed orbital zones. A built-in lookup table determines whether a world must be in a specific zone (e.g. Inferno worlds are always Infernal zone) or can roll across multiple zones. AU distance is then calculated from the zone formula using the star's luminosity.
👥 Inhabitants
Everything about who lives on the world and how their society is organised.
| Property | Description |
|---|---|
| Tech Level | TL 7–16 (Early Space Age to Self-Sufficient Megastructures), mapped to real historical eras |
| Population | Derived from habitability score — ranges from hundreds to tens of billions |
| Wealth | Average, Better-off, Prosperous, or Affluent — modified by biochemical resources |
| Power Structure | Anarchy, Confederation, Federation, or Unitary State |
| Development | UnderDeveloped through Very Developed, with HDI and average SOC values |
| Source of Power | Aristocracy, Ideocracy, Kratocracy, Democracy, or Meritocracy |
| Governance DM | Combined modifier from Development × Wealth |
Starport
The Port Value Score (PVS) is calculated from habitability, tech level, wealth, and development. This determines the starport class (X, E, D, C, B, A) and what facilities are present — including rolls for Naval, Scout, and Pirate bases.
Travel Zone
- Green — safe
- Amber — dangerous; worlds with High+ Biohazard or any Radioactive hazard are automatically Amber. Others may roll Amber randomly. A reason table (2D6) explains the specific danger: war, insurgency, economic collapse, environmental disaster, and more.
- Red — procedurally generated using the world's Development level (as a Stability Mode that sets a target number) and its Source of Power (which modifies the roll). Aristocracies and Kratocracies are more likely to be Red Zones. The referee can always override manually.
🎲 D66 × D6 Culture Table
One of the standout features of the Mneme book. Roll 3D6 — the first two dice give a row (11 through 66), the third gives a column (1–6) — to generate cultural traits for the world's civilisation.
With 36 rows and 6 columns, there are 216 possible trait results, covering everything from food customs and clothing norms to attitudes toward technology, hierarchy, violence, spirituality, and social organisation. The book's own description:
"These are things that the culture finds very important with regards to their cultural identity. Note that even seemingly conflicting ideas might be held by a culture — with the contradiction easily ignored, justified, or accommodated."
The app rolls 1 to 5 traits per world (determined by a separate 3D6 roll) and displays them alongside the other inhabitant data.
🪐 Planetary System
The full system of bodies beyond the main world.
Body Types Generated
- Circumstellar Disks — debris belts, asteroid fields, Kuiper belt equivalents
- Dwarf Planets — Moon-scale bodies in Lunar Masses
- Terrestrial Worlds — rocky planets in Earth Masses
- Ice Worlds — outer system icy bodies
- Gas Worlds — gas giants classified into five types by temperature and cloud composition
Gas World Classification (5D6)
| Class | Name | Zone | Real-world examples |
|---|---|---|---|
| I | Ammonia Clouds | Outer Solar System | Jupiter, Saturn |
| II | Water Clouds | Conservative/Optimistic Habitable | (hypothetical) |
| III | Cloudless | Infernal | (hot Jupiters) |
| IV | Alkali Metals | Hot | (hot Jupiters) |
| V | Silicate Clouds | Hot | (ultra-hot Jupiters) |
Hot Jupiter Migration Rule
Class III, IV, and V gas giants that land in the Infernal or Hot zone are hot Jupiters — they migrated inward early in the system's history and cleared the zone of all other bodies. The app enforces this before placing any other body: the zone is emptied, the gas giant sits alone, and a small chance exists for a captured rogue world.
Orbital Placement — Hill Sphere Spacing
Bodies are not placed randomly. The app:
- Places the main world first at its fixed position
- Sorts all remaining bodies by mass (largest first)
- Places each body using its zone formula, then checks the Hill sphere minimum separation against every already-placed body
- If a conflict exists, steps outward by one Hill radius at a time until clear
- If the zone is full, overflows to the next outer zone
The Hill sphere formula r_H = a × ∛(m_planet / (3 × M_star)) ensures each body has a gravitationally stable orbit that doesn't interfere with its neighbours.
Each body is displayed with its full physical stats: mass, radius, diameter, surface gravity (in g), and escape velocity (ΔV in m/s).
Accessibility & Platform Support
| Feature | Details |
|---|---|
| Offline | Full offline support via service worker — generate systems with no internet connection |
| Installable | PWA: add to home screen on any OS. Native apps: Linux (AppImage/deb), Windows (MSI), Android (APK). |
| Phone layout | Vertical single-column layout optimised for portrait screens, fixed bottom tab bar |
| Desktop layout | Multi-panel view with zone visualisation diagram |
| Day theme | Light colour scheme for bright environments |
| Dark theme | Default deep-space dark theme |
Settings & Data Management
The Systems page provides batch-aware data control:
Batch Management
- Create Batch — Organise systems into sectors or campaigns
- Rename / Delete — Manage batches without losing contained systems
- Active Batch — New generations automatically join the selected batch
- Import
.mneme-map— Import a 3D Interstellar Map sector as a batch - Export
.mneme-batch— Download a batch with all systems and metadata
Data Management (Settings)
- Import JSON — Load previously exported systems or share systems between devices
- Export All — Download all saved systems as a single JSON file for backup
- Clear All — Delete all saved systems (with confirmation)
- Debug Mode Toggle — Show/hide the Batch Export feature (default ON)
Data Log (System Library)
Browse all saved systems in a searchable, sortable table:
- Search — Find systems by name, star class, or world type
- Pagination — Navigate large libraries (10 systems per page)
- View — Click to view any saved system's full details
- Delete — Remove individual systems
- Total Count — Shows total number of saved systems
Debug Batch Export (QA-012)
When Debug Mode is enabled, the Generator page includes a Batch Export panel:
- Generate 10–100 systems at once for statistical analysis
- Exports JSON with summary statistics (mean habitability, hot Jupiter frequency, etc.)
- Useful for balancing and testing the generation algorithms
Data & Export
All data is saved locally on your device using IndexedDB (via Dexie.js). Nothing is sent to a server.
Each saved system has a unique key in the format YYMMDD-HHMMSS-[CLASS][GRADE]-[3-letter] (e.g. 260409-143022-G2-XKR).
Export Formats
JSON — full structured export of a single system, useful for backups and transfers between devices.
.mneme-batch — export an entire batch (all systems + metadata) for sharing sectors between devices or backing up campaigns.
.mneme-map — export a batch in 3D Interstellar Map format for importing into the sector map.
CSV (Wide-row format) — the entire star system in a single row. Standard fields cover the star and main world, followed by open-ended prefixed columns for companion stars (S1_, S2_) and planetary bodies (P01_, P02_, D01_, etc.). Multiple systems form a flat-file database where each row is self-contained and identifiable by its system key. Compatible with Excel, Google Sheets, and any data tool.
DOCX (Microsoft Word) — beautifully formatted document export of any generated system, including:
- Title page with star class and generation timestamp
- Primary star and companion stars
- Habitable zones with AU distances
- Main world physical characteristics, environment, and habitability
- Inhabitants: tech level, population, wealth, development, governance, starport, travel zone, and culture traits
- Planetary system table with moons and rings
- Full physical properties detail for every body
- Ships in the area (if generated)
Perfect for referees who want to hand out printed system briefs to players.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | React 19 + TypeScript 5.8 |
| Build | Vite 7 |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Storage | IndexedDB via Dexie.js |
| PWA | vite-plugin-pwa |
| Icons | Lucide React |
| Fonts | Inter, IBM Plex Mono |
Getting Started
# Clone the repository
git clone https://github.com/Game-in-the-Brain/Mneme-CE-World-Generator.git
cd Mneme-CE-World-Generator
# Install dependencies
npm install
# Start the development server
npm run dev
# → http://localhost:5173
# Build for production (GitHub Pages)
npm run build
# Preview production build
npm run preview
Building Native Apps Locally
# Sync version from git tag into Tauri + Android configs
npm run version:sync
# Desktop (Windows .msi, Linux .AppImage/.deb, macOS .dmg)
npm run wrapper:build:desktop
# Artifacts: src-tauri/target/release/bundle/
# Android (.apk)
npm run wrapper:build:android
# Artifact: android/app/build/outputs/apk/release/app-release-unsigned.apk
Prerequisites for local builds: Node.js 18+, Rust + Cargo, Android SDK (for Android).
Documentation
| Document | Description |
|---|---|
| FRD | Full Function Requirements Document |
| QA.md | Resolved issues, open bugs, and session logs |
| Update.md | Mechanics updates and explicit deviations from the original book |
| MCP Changes | Detailed session changes and verification logs |
| REF-001 | Stellar class, mass, and luminosity tables |
| REF-002 | Companion star generation logic |
| REF-003 | Companion star orbital distances |
| REF-004 | World type and size tables |
| REF-005 | World position — 25 atmosphere/temperature combinations |
| REF-006 | D66 × D6 culture traits table |
| REF-007 | Planetary body mass generation |
| REF-008 | Gas world Class I–V classification |
| REF-009 | Circumstellar disk zone placement |
| REF-010 | Travel zone — Amber and Red zone rules |
| REF-011 | Hill sphere orbital spacing algorithm |
Credits
- GitHub — Repository hosting and GitHub Pages deployment
- DeepSeek — AI code generation and technical assistance
- Kimi — AI development assistance and code review
Based On
Mneme World Generator by Justin Cesar Aquino / Game in the Brain
Available on DriveThruRPG
Compatible with the Cepheus Engine SRD and Traveller-family games.
"With the system contained in this book, you can add considerably more detail to your star systems to help increase player immersion. You can generate stars and multi-star systems with worlds that are not limited to terrestrial planets."
Contributors
| Contributor | Role |
|---|---|
| DeepSeek | AI code generation and technical assistance |
| Kimi | AI development assistance and code review |
| Neil Lucock | Rules feedback and bug reports (gravity/size physics validation, power/culture contradiction filtering) |
Contributing
Issues and pull requests are welcome. Please check QA.md for known issues before opening a new one.
Made by Game in the Brain · Built with React + TypeScript · Powered by the Mneme CE ruleset