Cepheus Engine Ship Generator https://pages.gi7b.org/gi7b/ce-shipgen/
  • TypeScript 79.6%
  • Python 11.1%
  • JavaScript 8.4%
  • CSS 0.6%
  • Java 0.1%
Find a file
Agent Kimi c0c8ed7232
Some checks failed
Build & Deploy to GitHub Pages / build-and-deploy (push) Has been cancelled
Add active-source header with blog and live app links
2026-05-10 21:26:16 +08:00
.github/workflows feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
231025-Mneme Space Combat Pictures feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
240110_Ship_Tokens feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
android chore: bump version to 0.03 2026-04-29 01:15:03 +08:00
data Add ship design data: 22 JSON files extracted from RAW SHIP TABLES 2026-03-01 22:41:41 +08:00
public chore: sync latest changes 2026-05-04 01:03:59 +08:00
reports M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
scripts chore: sync latest changes 2026-05-04 01:03:59 +08:00
src chore: sync latest changes 2026-05-04 01:03:59 +08:00
src-tauri chore: bump version to 0.03 2026-04-29 01:15:03 +08:00
.eslintrc.cjs Milestone 1: Add React app with layout system and tiling UI 2026-03-02 17:45:00 +08:00
.gitignore chore: add generated version.json to .gitignore 2026-05-01 20:32:40 +08:00
210805_MNEME_Variant_Combat.pdf feat: Armor child table with Armor-X/Rating/Dtons/Cost columns + ThemeProvider expansion 2026-04-28 22:41:48 +08:00
240902-06_CE_MNEME_SPACE_COMBAT_w_outline_copy.pdf feat: drives and power as child tables with TL/Model/Performance/Dtons/Cost 2026-04-28 22:32:03 +08:00
AGENTS.md feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
all_ships_complete.json M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
all_ships_extracted.json feat(testing): extract 43 ships from Excel + add 15 to sample library + FDR-063 2026-05-01 00:48:21 +08:00
ANALYSIS-Weight-Tender-Armor-Modules.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
APP-STRUCTURE.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
capacitor.config.ts chore: bump version to 0.03 2026-04-29 01:15:03 +08:00
CE SRD Chapter 10 Space Combat.pdf feat: drives and power as child tables with TL/Model/Performance/Dtons/Cost 2026-04-28 22:32:03 +08:00
CE-Chapter-8-Ship-Design-and-Construction.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
ce-shipgen-library-260502_163413.json chore: sync latest changes 2026-05-04 01:03:59 +08:00
CHANGELOG.md v0.09: Audit system, ship classification, tagging, library filters, reconciled 40-ship library 2026-05-03 00:22:56 +08:00
clean-build.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
COMBAT_PROCESS_REVIEW.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
deploy.sh WIP: Additional changes 2026-03-02 20:22:52 +08:00
DOCX-SHIP-SPEC-LAYOUT.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
energy-storage-and-gen.md Add energy-storage-and-gen.md 2026-05-01 15:15:05 +08:00
ENGINEERING.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
extracted_ships.json fix(shipgen): bridge cost calculation + update 200DT Trader sample to match Excel 2026-05-01 00:25:44 +08:00
FACTIONS-AND-LAW.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
FDR-066-Ship-Auto-Naming.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
FDR-067-QA-Ships-Process.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
FDR-068-Procedural-Ship-Design.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
FDR-069-TL-Variants-TL9-to-TL15.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
FDR-070-Encounter-System.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
FRD-062-ShipGen-Mainframe-UI-Integration.md FRD-062: Integrate CE ShipGen Mainframe UI across entire app 2026-04-28 21:23:51 +08:00
FRD-063-Default-Software-Auto-Selection.md feat(testing): extract 43 ships from Excel + add 15 to sample library + FDR-063 2026-05-01 00:48:21 +08:00
FRD-065-Version-History-Page.md feat(settings): add Version History page + update clean-build docs 2026-05-01 20:21:12 +08:00
GI7B EXTERNAL RAW CE SHIPS 231024-06 240930.xlsx fix(shipgen): bridge cost calculation + update 200DT Trader sample to match Excel 2026-05-01 00:25:44 +08:00
GLOSSARY.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
index.html feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
LICENSE Initial commit 2026-03-01 13:42:25 +00:00
LOG-260502.md Add daily log for 260502 — taxonomy, audit system, Batch Traits, deployment lessons 2026-05-03 00:49:28 +08:00
MNEME-IMPROVEMENTS.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
MNEME_ACTIONS_AND_REACTIONS.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
mneme_core_clean.txt feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_CORE_MECHANICS.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
mneme_core_raw.txt feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_DAMAGE_MAC_WEAPONS.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_RANGE_SENSORS_ENCOUNTER.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
mneme_raw.txt feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_RULES_INDEX.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_SHIP_CREW_DESIGN.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
MNEME_SPACE_COMBAT_RULES.md feat: drives and power as child tables with TL/Model/Performance/Dtons/Cost 2026-04-28 22:32:03 +08:00
package-lock.json Update ship library data 2026-05-03 00:36:40 +08:00
package.json v0.09: Audit system, ship classification, tagging, library filters, reconciled 40-ship library 2026-05-03 00:22:56 +08:00
postcss.config.js feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
PRD.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
PROJECT_NOTES.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
QA-066-Ship-Auto-Naming.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
QA-260502-StartupScreen-Crash.md Fix cross-tab ship loading + document QA crash 2026-05-02 19:03:49 +08:00
RCA-260501-Ship-Library-Audit.md docs: add ship library audit RCA and update clean-build with findings 2026-05-01 21:15:37 +08:00
RCA-260501-Wall-of-Text.md fix(deploy): use replacement function to avoid $& footgun causing wall-of-text bug 2026-05-01 21:04:16 +08:00
RCA-260501-White-Page-Deploy.md docs: add Forgejo Pages RCA, automated deploy script, and updated build docs 2026-05-01 20:32:07 +08:00
RCA-260502-QA-Ships-Audit.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
README.md Add active-source header with blog and live app links 2026-05-10 21:26:16 +08:00
RECOMMENDATION-Ship-Types-Taxonomy-v1.1.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
RECOMMENDATION-Ship-Types-Taxonomy.md M2.9 Engine Correctness: Fix drive performance formula, rebuild SRD ships, update docs 2026-05-02 18:10:50 +08:00
REPO_ANALYSIS_AND_IMPLEMENTATION_PLAN.md feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
SHIP_IMPORT_RCA_260501.md fix(ship-import): restore child-table data in load/save/export + add file import UI 2026-05-01 19:56:17 +08:00
tailwind.config.js FRD-062: Integrate CE ShipGen Mainframe UI across entire app 2026-04-28 21:23:51 +08:00
TESTING_METHODOLOGY.md test: sample ship validation framework + testing methodology 2026-05-01 00:12:14 +08:00
TOKEN_SHIP_MAPPING.md feat: add oversized PP audit warning, battery options, CTL/MTL dual display 2026-05-03 15:22:35 +08:00
tsconfig.json feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
tsconfig.node.json feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00
UI_DESIGN_REQUIREMENTS.md FRD-062: Integrate CE ShipGen Mainframe UI across entire app 2026-04-28 21:23:51 +08:00
vite.config.ts feat: Phase 2 complete - StartupScreen, Theme, Settings, Mneme Combat, Foundry Export 2026-04-27 17:45:50 +08:00

🛒 Products & Blog: blog.gi7b.org 🌐 Live App: https://pages.gi7b.org/gi7b/ce-shipgen/ 💻 Source: https://git.gi7b.org/gi7b/ce-shipgen

GitHub mirror archived — active development is here on Forgejo.


CE ShipGen

Products: https://blog.gi7b.org

CEpheus Engine Ship Generator - A Progressive Web App for designing starships

License: GPL v3 GitHub Pages Status

Live Demo: https://pages.gi7b.org/gi7b/ce-shipgen/ https://pages.gi7b.org/gi7b/ce-shipgen/


📊 Milestone Status

Milestone Scope & Deliverables Status
M1: UI Layout & Tiling Tile-based layout system, focus mode, desktop/phone modes, PWA scaffolding, service worker, offline support Complete
M2: Settings & Data Tables JSON editor + spreadsheet view for all 13 ship component tables, rule toggles (CE / Mneme / custom mix) Complete
M2.5: Install UX & Settings System PWA install prompt + "Installed" badge (FR-021), auto-save table edits (FR-022), input sanitisation (FR-023), named settings snapshots save/load/export/import (FR-024), GitHub Actions CI/CD pipeline (FR-025) Complete
M2.6: Installed Version Control Build-time version.json generation (FR-026a), version display in Settings (FR-026b), SW-based update detection — never forced (FR-026c), changelog viewer (FR-026d), user-controlled update via updateServiceWorker (FR-026e), offline guard (FR-026h), registerType: prompt SW integration (FR-026i), permanent Updating Instructions section in Settings (FR-026j) Complete
M2.7: Tables In Play Active table selector per component type (FR-027ad). Settings → "Tables In Play" shows all 13 component types with a dropdown to switch between built-in default and any custom tables. Feeds directly into M3 — the design wizard always reads from the active table, never hardcoded defaults. Complete
M2.8: Ship Library Integrity Merged-ship fix, vehicle filtering, supplies→cargo, over-tonnage fixes, 6 empty SRD ships rebuilt, pushCapacity added to all 40 ships Complete
M2.9: Engine Correctness Drive performance formula replaced with Excel lookup table (BG8:CQ53). Fixed ~50% incorrect thrust values on 19 of 40 ships. Corrected tender max-hull capacities (B=400, F=1200, etc.). Complete
M3.1: Hull & Foundation Steps 13: Hull selection (18 sizes, auto-calc HP/SP/hardpoints), Configuration (Standard / Distributed / Close Structure), Armor (tonnage = hull × % × config multiplier). Plus constraint display for Steps 46: valid M-Drive, J-Drive, and Power Plant letter ranges derived from hull tonnage. 🎯 Current
M3.2: Bridge to Crew Steps 712: Fuel calculation, Bridge/Cockpit, Computer, Software, Sensors, auto-calculated Crew requirement (summed from component selections, validated against bridge stations) Pending
M3.3: Fittings to BOQ Steps 1319: Accommodations, Features, Turrets/Bays/Screens, Weapons, Vehicles, Cargo, Cost Summary. Key output: BOQ (Bill of Quantities) — full component breakdown with tonnage and cost per item Pending
M4: Persistence & Export Ship library with save/load/delete, JSON / CSV / text / print export, common ship templates Pending

Descoped from M2.6: Rollback (FR-026f) and Release Channels (FR-026g) require versioned URL hosting and a multi-channel CI/CD pipeline that do not yet exist on GitHub Pages. Deferred to a future milestone.


🗂️ Feature Status

Legend: Built & deployed — 📋 Specified in PRD, not yet coded — 🔲 Scope defined, detail pending — Descoped


M1: UI Layout & Tiling

Feature FR Status
Tile-based layout — each design step is a collapsible tile FR-007
Desktop mode — horizontal tiling, multi-column layout FR-006
Phone mode — vertical tiling, scrollable stack FR-006
Layout mode toggle in header (Desktop ↔ Phone) FR-006
Layout preference persisted to localStorage FR-006
Focus mode — expand any tile to full-screen FR-007
Startup screen — branded entry point with navigation FR-008
Header — navigation links to Design / Library / Settings FR-008
PWA manifest — installable web app FR-016
Service worker — offline-first caching FR-016
Offline support — works without internet after first load FR-016
Shareable URLs — /design, /library, /settings routes FR-008

M2: Settings & Data Tables

Feature FR Status
Settings screen with sectioned layout FR-009
JSON table editor — select table, edit raw JSON, Apply FR-009
Spreadsheet table view — edit cells directly in a grid FR-009
Toggle between JSON view and table view per table FR-009
All 13 ship component tables loaded from public/data/ FR-009
Reset individual table to factory default FR-009
Rule Settings — toggle CE / Mneme / Custom rule sets FR-010 / FR-015
Rule preferences persisted to localStorage FR-010

13 Component Tables:

Table Contents Status
ship_hulls.json 18 hull sizes, HP, SP, cost, build time
ship_drives.json 26 drive codes, M-Drive & J-Drive performance
hull_configurations.json Standard, Distributed, Close Structure
ship_armor.json Armor types, tonnage %, protection
ship_bridge_computer.json 4 bridge sizes, 7 computer models
ship_software.json 5 software programs
ship_sensors.json 5 sensor types
ship_crew.json 14 crew positions
life_support.json 18 accommodation types
ship_weapons.json 8 weapon types
ship_missiles.json 3 missile types
ship_vehicles.json 11 vehicle types
smallcraft_drives.json 21 small craft drive codes

M2.5: Install UX & Settings System

Feature FR Status
PWA install prompt — "Install App" button (Chrome/Edge) FR-021a
iOS "Add to Home Screen" instructions FR-021a
"Installed" badge in header when running as standalone PWA FR-021b
"Offline" badge in header when network is unavailable FR-021b
Auto-save table edits — no Save button in table view FR-022a
"Saved" toast notification after each auto-save FR-022a
"Apply JSON" button retained in JSON view FR-022a
Input sanitisation — strip HTML tags from table cell values FR-023b
Named settings snapshots — save current state with a name FR-024a/b
Snapshot list — view, rename, delete saved snapshots FR-024c
Load snapshot — restore all 13 tables + rules from snapshot FR-024d
Export snapshot — download as .json file FR-024c
Import snapshot — load from .json file FR-024c
Snapshot cap — max 50 snapshots with warning FR-024b
GitHub Actions CI/CD — auto-deploy to gh-pages on push to main FR-025
PR build-check gate — builds but does not deploy on pull requests FR-025

M2.6: Installed Version Control

Feature FR Status
version.json generated at build time via scripts/write-version.mjs FR-026a
prebuild npm script runs version generation before every build FR-026a
Version display in Settings — version, channel, build timestamp FR-026b
"Updating Instructions" section in Settings — permanent, always visible FR-026j
SW-based update detection — needRefresh from useRegisterSW FR-026c
"Update Available" amber pill on startup screen FR-026c
Orange dot on Settings header icon when update waiting FR-026c
"Update Available" banner in Settings → Version section FR-026c
Changelog viewer — expandable list in Settings when update available FR-026d
User-controlled update — "Update Now" calls updateServiceWorker(true) FR-026e
registerType: 'prompt' — new SW never auto-activates FR-026i
version.json served NetworkFirst — never served stale from cache FR-026i
Offline guard — update button replaced with "Connect to internet" message FR-026h
Version rollback — descoped (Workbox purges old cache on SW activation) FR-026f Descoped
Release channels (stable/beta) — descoped (no multi-channel CI/CD) FR-026g Descoped

M2.7: Tables In Play (specified — implementation next)

Feature FR Status
Active table registry — ce_shipgen_active_tables in localStorage FR-027a 📋
Default all 13 types to built-in CE tables on first run FR-027a 📋
Settings → "Tables In Play" section — one row per component type FR-027b 📋
Dropdown per row — lists CE Default + all custom tables of that type FR-027b 📋
Custom table rows highlighted in cyan; default rows in plain text FR-027b 📋
"Reset All to Defaults" button — reverts registry, preserves custom data FR-027b 📋
Table type tagging — custom tables carry their component type ID FR-027c 📋
getActiveTable(type) helper — single integration point for M3 wizard FR-027d 📋
Active table registry included in FR-024 settings snapshots FR-027d 📋

M3.1: Hull & Foundation (specified — blocked on M2.7)

Feature FR Status
Hull selection — choose from 18 sizes (1005000 dtons) FR-028a 📋
Auto-calculate Hull Points = floor(Dtons / 50) FR-028a 📋
Auto-calculate Structure Points = ceil(Dtons / 50) FR-028a 📋
Auto-calculate Hardpoints = floor(Dtons / 100) FR-028a 📋
Configuration selection — Standard / Distributed / Close Structure FR-028b 📋
Configuration modifies armor tonnage cost multiplier in real time FR-028b 📋
Armor selection — type and amount from active armor table FR-028c 📋
Armor tonnage = hull_dtons × armor% × config_multiplier FR-028c 📋
Armor tonnage deducted from available tonnage in real time FR-028c 📋
M-Drive constraint display — valid letter range for this hull FR-028d 📋
J-Drive constraint display — valid letter range and jump range FR-028d 📋
Power Plant constraint display — min letter = max(M-Drive, J-Drive) FR-028d 📋

M3.2: Bridge to Crew (scope defined — detail pending)

Feature FR Status
Fuel calculation — based on drive selection and hull (Step 7) FR-029 🔲
Bridge / Cockpit selection (Step 8) FR-029 🔲
Computer selection — 7 models (Step 9) FR-029 🔲
Software selection — 5+ programs (Step 10) FR-029 🔲
Sensors selection — 5 types (Step 11) FR-029 🔲
Crew auto-calculation — summed from component requirements (Step 12) FR-029 🔲
Crew validation against available bridge stations FR-029 🔲

M3.3: Fittings to BOQ (scope defined — detail pending)

Feature FR Status
Accommodations — 18 types (staterooms, low berths, etc.) (Step 13) FR-030 🔲
Features — optional ship features (Step 14) FR-030 🔲
Turrets / Bays / Screens (Step 15) FR-030 🔲
Weapons — 8 weapon types (Step 16) FR-030 🔲
Vehicles — 11 vehicle types (Step 17) FR-030 🔲
Cargo — remaining tonnage (Step 18) FR-030 🔲
BOQ Cost Summary — full line-item breakdown, tonnage + cost per component (Step 19) FR-030 🔲
Real-time validation — tonnage used ≤ hull, PP ≥ drives, hardpoints ≤ limit FR-002 🔲

M4: Persistence & Export (pending)

Feature FR Status
Ship library — save / load / duplicate / delete designs FR-004 🔲
Ship library — search and filter FR-004 🔲
Auto-save on design change FR-004 🔲
JSON export / import FR-005 🔲
CSV export FR-005 🔲
Universal Ship Description text format FR-005 🔲
Mneme Space Combat stat block FR-005
Print-friendly view FR-005 🔲
Markdown / Wikitext export FR-005 🔲
Common ship templates (Free Trader, Scout, Patrol Cruiser…) FR-004 🔲

Encounter System — Mneme Space Combat (Phase 2 flagship)

A tactical encounter simulator using Mneme Space Combat rules. MSC is the only combat system — CE RAW space combat is explicitly unavailable because MSC was built to fill gaps in CE rules that required playtesting and rulings.

Core Features (Implemented):

  • Encounter Setup: Select your ship from the library, choose a scenario, set difficulty
  • Scenarios: Pirate Intercept, Raider Ambush, System Patrol, Convoy Defense
  • Tactical Map: 2D grid with ship tokens, range bands, and movement
  • Turn-Based Combat: Mneme action economy — maneuver, fire, ECM, repair, sensor, brace, board, flee
  • AI Pilots: Bot decision tree with scenario-driven aggression profiles
  • Auto-Resolve: Run full encounters automatically for playtesting
  • Post-Assessment: Damage dealt/taken, hit rate, salvage, repair costs, notable events

Combat Mechanics:

  • Attack = missiles + weapons that can fire
  • Total Damage = average dice of all attacks × Range Modifier (Long ×1.0, Medium ×0.5, Short ×0.2)
  • Defense = interceptor missiles + active turrets/bays
  • MAC (Multiple Attack Consolidation): 2+ weapons = +1 DM, 5+ = +1D6, 10+ = +2D6
  • Armor absorbs damage first, then hull, then structure

Bot Behavior:

  • Pirates: aggressive, prefer medium range (lasers), flee at 20% hull
  • Raiders: very aggressive, prefer short range (boarding), flee at 10% hull
  • Patrol: medium aggression, prefer long range (missiles), flee at 40% hull
  • Merchants: defensive, prefer long range (evasion), flee at 50% hull

Future Work:

  • Solo campaign mode with persistent crew progression
  • Headless batch simulation (10,000 encounters) for balance tuning
  • TL faction fractions based on aggregate simulator results
  • Crew generation from CE Character Generation repo

Other Future (Phase 2+)

Feature Notes
Supply Calculator — life support, fuel, maintenance costs Logistic calculator
Inventory System — real-time resource tracking per ship Logistic calculator
Journey Table — trip log with income/expense per leg Logistic calculator
Income Tracker — revenue, expenses, P&L over time Logistic calculator
Habitat Design — space stations, MAGICIAN spin habitats Extends BOQ method
Vehicle Construction — grav vehicles, ATVs, small craft Extends BOQ method
Advanced Mneme Physics — mass-based, delta-V calculations Variant rules
TL6TL9 Ship Library — low-tech transition ships Content
Random Encounter Tables — generated from ship library GM tools
Mneme Fleet Combat Tools — Superiority, MAC calculators Variant rules
Procedural Deck Plan Generator — 2D/3D ship layout Long term

🎯 Problem Statement

You are a Game Master trying to manage all the ships in your setting and accommodate your players. The amount of time these ships and the complex rules eat up during your prep is overwhelming. You want the freedom to edit and customize ships quickly without getting bogged down in calculations and cross-referencing tables.

CE ShipGen solves this by:

  • Automating the 19-step Cepheus Engine ship design process
  • Providing instant calculations for tonnage, cost, crew, and fuel
  • Allowing customization of all ship component data
  • Enabling library management for entire fleets
  • Working on any device with a modern browser

Features

Current (M2.6 Complete — M3 Next)

  • 📱 Universal Access - Works on desktop, tablet, and mobile via modern browser
  • 📊 Data Table Editor - View and edit all 13 ship component tables (JSON + Spreadsheet views)
  • ⚙️ Rule Customization - Toggle between Cepheus Engine, Mneme Space Combat, or mix your own rules
  • 🔄 Persistent Storage - Save ships and settings to browser storage
  • 📤 Export/Import - Share ship designs as JSON or CSV
  • 🔗 Shareable URLs - Direct links to any view (/design, /library, /settings)
  • 📥 Install Prompt - "Install App" button with "Installed" badge when running standalone
  • 📸 Settings Snapshots - Save and share custom rule configurations

Recently Completed (Milestone 2.9)

  • 🚀 Drive Performance Fix - Replaced wrong formula with Excel lookup table; thrust values now correct for all 40 ships
  • 📦 Ship Library Integrity - Split merged ships, filtered vehicles, fixed over-tonnage, rebuilt 6 empty SRD ships
  • ⚔️ Weapon Calibration - Monte Carlo combat simulation framework for evaluating weapon effectiveness

In Progress (Milestone 3.1)

  • 🏗️ Hull & Foundation - 19-step design wizard Steps 13: hull selection, configuration, armor

Core Capabilities

  • 19-Step Ship Design following Cepheus Engine Chapter 8 rules
  • Real-time Validation - Know immediately if your design violates rules
  • BOQ Summary - Bill of Quantities showing all components, costs, and tonnage
  • Focus Mode - Expand any step to full screen for detailed work
  • Offline Support - PWA works without internet after first load

🎮 For Game Masters

Manage Your Setting

  • Create ship libraries for your campaign setting
  • Pre-generate common ships (Free Traders, Scouts, Patrol Cruisers)
  • Customize components to match your setting's tech level
  • Export ship libraries to share with players

Support Your Players

  • Players can design their own ships
  • GM can review and approve designs
  • Consistent rules enforcement across all designs
  • Quick reference during play for ship stats

Random Encounters

  • Generate ships on-the-fly during sessions
  • Create standardized NPC ship templates
  • Build encounter tables from ship libraries

🚀 For Developers & Customizers

Procedural-Agentic-Development (PAD) Approach

This project follows PAD principles:

  • PRD.md - Product Requirements Document with 20+ functional requirements
  • PROJECT_NOTES.md - Comprehensive development notes, timelog, and problem tracking
  • Knowledge Base - All Cepheus Engine and Mneme Space Combat rules documented
  • System Prompts - Clear context for AI assistance

Fork & Customize

Licensed under GPL v3 - you can:

  • Fork this repository
  • Make your own custom changes
  • Share your version
  • Contribute back improvements

Perfect for:

  • Creating house rule variants
  • Adding custom ship components
  • Integrating with your own campaign tools
  • Building derivative ship generators

📚 Documentation

Document Purpose
PRD.md Product Requirements Document - 20 FRs, user stories, technical specs
PROJECT_NOTES.md Development timelog, assumptions, problems encountered, current status
CE-Chapter-8-Ship-Design-and-Construction.md Source rules from Cepheus Engine SRD
MNEME_SPACE_COMBAT_RULES.md Mneme Space Combat variant rules (wiki mirror) — all 8 chapters

🛣️ Roadmap & Future Ideas

Milestone Progress

See 📊 Milestone Status at the top of this document for the full table.

M2.6: Installed Version Control (Complete )

Problem solved: Users with the PWA installed locally had no visibility into which version was running, and updates were applied automatically with no user control.

What was built:

  • Version Display — Current version, channel, and build timestamp shown in Settings → Version section
  • Update Detection — Service worker monitors for new versions in the background; never forces an update
  • Update Indicators — Orange dot on Settings icon in header + amber pill on startup screen when update ready
  • User-Controlled Update — "Update Now" button applies the waiting service worker; user decides when
  • Changelog Viewer — Expandable changelog in Settings shows what changed before you update
  • Updating Instructions — Permanent Settings section explains the update model, indicators, data safety, and offline behaviour
  • Offline Guard — Update button replaced with "Connect to internet to update" when offline
  • Build-time manifestversion.json generated on every npm run build via scripts/write-version.mjs

Descoped (not achievable on GitHub Pages):

  • Version rollback — Workbox purges old caches on SW activation; old code cannot be restored without versioned URL hosting
  • Release channels (stable/beta) — Requires a multi-channel CI/CD pipeline that does not yet exist

M2.7: Tables In Play (Current 🎯)

Problem solved: The M2 table editor lets users create custom component tables, but there was no way to tell the ship design wizard which table to use. Every design step was implicitly hardcoded to built-in defaults.

What M2.7 adds:

  • Active Table Registryce_shipgen_active_tables in localStorage maps each of the 13 component types to its currently selected table
  • "Tables In Play" view in Settings — One row per component type, dropdown to switch between CE Default and any custom tables of that type; custom tables highlighted in cyan
  • Reset All to Defaults — Reverts all selections without touching custom table data
  • getActiveTable(type) helper — Single integration point consumed by M3; no wizard step references a table file directly
  • Snapshot integration — Active table selections are included in FR-024 settings snapshots

This is the bridge between M2 (edit tables) and M3 (use tables). It enables mixed-rule designs: e.g. standard CE hulls + Mneme drives + custom armor — all selected in one place.


M3: Ship Generation Sub-Milestones

The 19-step ship design process is delivered in three sequential slices:

M3.1: Hull & Foundation ( Blocked on M2.7)

Steps 13 + constraint display for 46

  • Hull Selection — Choose from 18 sizes (1005000 dtons); auto-calculates HP, SP, hardpoints
  • Configuration — Standard / Distributed / Close Structure; modifies armor tonnage cost
  • Armor — Select type and thickness; tonnage = hull_dtons × armor% × config_multiplier
  • Drive Constraints — Once hull is selected, valid letter ranges (AZ) for M-Drive, J-Drive, and Power Plant are displayed as constraints on steps 46 before the user selects them

M3.2: Bridge to Crew ( Pending)

Steps 712

Fuel calculation, Bridge/Cockpit, Computer, Software, Sensors. Crew is auto-calculated from component selections — not manually entered — and validated against available bridge stations.

M3.3: Fittings to BOQ ( Pending)

Steps 1319

Accommodations, Features, Turrets/Bays/Screens, Weapons, Vehicles, Cargo, and the final BOQ (Bill of Quantities) — a complete line-item breakdown of every component with its tonnage and cost. This is the primary output of a completed ship design.


Project Scope & Ecosystem

CE ShipGen focuses on: Ships, Habitats, and Vehicles

Related Projects:

  • Mneme World Generator PWA - Handles detailed economic systems including:
    • Trade volume calculations between systems
    • Living economies with dynamic events
    • Market fluctuations and trade route analysis
    • World-building and system generation

This project (CE ShipGen) provides the vessel construction tools that feed into those economic systems. The Bill of Quantities (BOQ) method used here for ships can scale to vehicles and habitats, but detailed economic simulation remains in the world generator scope.

Near Term (Milestones 3-4)

  • Ship Library - Complete save/load/export system with IndexedDB
  • Common Ships - Pre-built library of standard Cepheus Engine ships
  • Mneme Ships - Library of ships using Mneme Space Combat rules
  • Stat Cards - Printable ship reference cards with all combat stats

Medium Term

  • Markdown/Wikitext Export - Export ships for blogs, wikis, game materials

    • Format: [[Ship Name|TL X|Y tons|MCr Z]] style wiki links
    • Full stat blocks in markdown tables
    • Copy-paste ready for Obsidian, MediaWiki, etc.
  • Advanced Mneme Rules - Major addition with realistic physics

    • Mass-based calculations instead of abstract thrust numbers
    • Delta-V based calculations for realistic space travel
    • Educational focus: "What we currently know is possible"
    • Auto-convert common ships to Mneme physics model
  • Habitat Design - Including MAGICIAN (terrestrial spin habitats)

    • Space station and habitat construction rules
    • Spin gravity calculations
    • Life support and infrastructure
  • Vehicle Construction (Future Section)

    • The BOQ (Bill of Quantities) method scales to ground vehicles and small craft
    • Grav vehicles, tracked vehicles, wheeled vehicles
    • ATVs, air/rafts, and planetary vehicles
    • Modular component system using same methodology as ships
    • Note: This extends the ship construction system to smaller craft

Logistic Calculators (Major Feature)

Comprehensive supply chain and economic management for ship operations:

  • Supply Calculator - Recommends supplies for ships and calculates costs

    • Life support requirements (man-days, consumables)
    • Fuel calculations for planned journeys
    • Spare parts and maintenance supplies
    • Cost estimation for resupply
  • Inventory System - Tracks current balance of inventory over time

    • Real-time resource tracking (fuel, food, air, water)
    • Automated consumption based on crew size and journey duration
    • Low inventory warnings and alerts
    • Multi-ship fleet inventory management
  • Journey Table - Trip planning from Point A to Point B

    • Row-based journey log (Origin → Destination)
    • Resource consumption calculation per journey
    • Parsecs traveled, time elapsed
    • Fuel costs, life support usage
    • Revenue/passenger income per trip
  • Income Tracker - Financial management over periods

    • Revenue tracking (passenger fares, freight, mail, charters)
    • Expense tracking (fuel, maintenance, crew salaries, supplies)
    • Profit/loss calculations per journey and per period
    • Cash flow projections
    • Financial reports for ship operations

Long Term Vision

  • TL6-TL9 Ship Library - Low-tech ships transitioning between CE and Mneme tech levels

  • Random Encounter Tables - Use ship libraries to generate encounter tables

  • Mneme Space Combat Tools - Fleet creation for Superiority and MAC calculations

    • Opposing fleet generation
    • Superiority modifier calculations
    • Multiple Attack Consolidation (MAC) tools
  • Procedural Ship Layout Design - Visual ship deck plans

    • 2D web-based deck plan generator (experimental)
    • May pivot to Godot 3D ship builder if web proves limiting

🏗️ Architecture

Tech Stack:

  • Frontend: React 18 + TypeScript
  • Build Tool: Vite (fast HMR, optimized builds)
  • Styling: Tailwind CSS with custom space theme
  • State: Zustand (lightweight state management)
  • Routing: React Router (persistent URLs)
  • Storage: Browser localStorage + IndexedDB
  • Deployment: GitHub Pages as PWA

Key Features:

  • Offline-first Progressive Web App
  • Mobile-responsive design
  • Real-time calculations
  • Import/Export functionality

🎨 Attribution

Based on:

Created by:

Support open gaming tools by patronizing our products and leaving positive reviews!


📝 License

GNU General Public License v3.0

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Key points:

  • Free to use, modify, and distribute
  • Must share modifications under same license
  • Must include source code
  • Must preserve copyright notices

See LICENSE for full details.


🤝 Contributing

This is an open project following PAD (Procedural-Agentic-Development). The comprehensive documentation (PRD, PROJECT_NOTES, rules) allows anyone to:

  1. Understand the project context
  2. Fork and customize
  3. Use AI assistants effectively with system prompts
  4. Contribute improvements back

Ways to contribute:

  • Report bugs or issues
  • Suggest new features
  • Submit ship designs for the library
  • Improve documentation
  • Create custom rule variants


CE ShipGen - Empowering Game Masters with automated ship design tools Built with ❤️ for the tabletop RPG community