How it works
The project is three pieces that share one engine.
┌──────────────────────────────┐
│ SEBlueprint.Core │
│ (no UI, plain .NET 8 code) │
│ │
game files ───────▶│ Paths find Steam + game │
mod folders ──────▶│ Data read definitions │
bp.sbc ───────────▶│ Blueprints read blueprints │
│ Analysis totals + cost │
│ Limits profile checks │
│ Presentation what to show │
└──────┬───────────────┬────────┘
│ │
┌─────────────▼───┐ ┌───────▼──────────────┐
│ SEBlueprint.App │ │ SEBlueprint.Web │
│ Windows (WPF) │ │ Blazor WebAssembly │
│ portable .exe │ │ runs in the browser │
└─────────────────┘ └──────────────────────┘
SEBlueprint.Core
All the logic lives here and has no user interface code, which is why the website can run exactly the same calculations as the Windows app.
| Folder | Responsibility |
|---|---|
Paths |
Finds Steam, every Steam library, Space Engineers 1 and 2, the Workshop folder and blueprint folders |
Data |
Reads block, item and recipe definitions (.sbc), localisation and mod scripts; caches the result |
Blueprints |
Reads bp.sbc files: grids, blocks, orientation and the mods a blueprint lists |
Analysis |
Turns a blueprint into a report: blocks, PCU, mass, guns, cargo, thrust, power, jump range, cost |
Limits |
Limit profiles and the check that compares a report with a profile |
Presentation |
Builds the readouts, limit lines and cost lists both front ends display |
Games |
One adapter per game (SE1 full analysis, SE2 listing) |
The Windows app
- On start it picks its data folder (
SEBlueprintInspector-datanext to the exe). - It detects the game and mods, then loads the game database — from the cache if nothing changed.
- It finds every blueprint folder and analyses all blueprints in parallel, filling the list as each finishes.
- Selecting a blueprint shows its detail; changing the profile re-checks every blueprint instantly.
- Game icons are decoded straight from the
.ddsfiles of your install.
The website
The same Core is compiled to WebAssembly. Because a website cannot look into your folders on its own:
- Vanilla block data comes from a snapshot embedded in the site (exported from the game with
tools/SEBlueprint.Export). - Vanilla game icons are bundled with the site (
docs/icons). - You pick blueprint folders and mod folders yourself; the browser reads them locally.
- Profiles and options are kept in your browser's local storage.
Next: Reading game data