diff --git a/README.md b/README.md index b04870f..5136793 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # The Institution suite A set of RimWorld 1.6 mods about **what an institution does to the people inside it** — and the -crime, policing, and justice that put them there. Each mod stands alone and requires none of the -others; together they form one system. +crime, policing, and justice that put them there. Each mod is a separate install built on a small +shared **Core**; together they form one system. ## The thesis @@ -16,21 +16,28 @@ Arrest is the hinge. Nothing hard-codes "prisoner" — every held-person system ## The mods -| Mod | What it is | Status | -|---|---|---| -| [Foul Play](https://git.onetick.ninja/flan/rimworld-foulplay) | throw a container of something off a body; vessels + substances + the **Piss Nuke** flagship | shipping | -| [Institution: Contraband](https://git.onetick.ninja/flan/rimworld-contraband) | conceal / improvise / search / confiscate; intake, escape, secure areas | building | -| [Institution: Ward](https://git.onetick.ninja/flan/rimworld-ward) | involuntary psychiatric commitment — the third pawn state, neither free nor guilty | shipping | -| Institution: Regime | daily schedule (vanilla Restrict) + modest needs + visitation | planned | -| Institution: Justice | the crime loop, the policing officer, parole / discharge / manumission | planned | -| Institution: Discipline | security classification, punishment-as-order, corruption | planned | -| Institution: Gangs | prisoner & colony gangs, rivalries, contraband networks | planned | +| Mod | What it is | Needs | Status | +|---|---|---|---| +| [Institution: Core](https://git.onetick.ninja/flan/rimworld-core) | the shared engine — **propensity** (nature × nurture), the **criminal record**, the **secured-context** predicate. Invisible on its own | — | shipping | +| [Institution: Contraband](https://git.onetick.ninja/flan/rimworld-contraband) | the physical smuggling loop — conceal / improvise shivs / Prison-Architect tunnels / warden search / corruption | Core | shipping | +| [Institution: Justice](https://git.onetick.ninja/flan/rimworld-justice) | corrections & policing — classification, deterrence, discipline, parole, regime (a policing/cops layer is planned here) | Core, Harmony | shipping | +| [Institution: Gangs](https://git.onetick.ninja/flan/rimworld-gangs) | gangs as **contraband economies** — joining by disposition, smuggling networks, rivalry, fights-as-crime | Core, Contraband, Justice | shipping | +| [Institution: Ward](https://git.onetick.ninja/flan/rimworld-ward) | involuntary psychiatric commitment — the third pawn state, neither free nor guilty; also carries the suite's in-game test harness | — | shipping | +| [Foul Play](https://git.onetick.ninja/flan/rimworld-foulplay) | throw a container of something off a body; a Noita-flasks liquid framework (vessels + substances) with the **Piss Nuke** flagship; bridges to the suite | standalone | shipping | + +The original monolith split along its natural seams in 2026-07: the substrate became **Core**, the +corrections/justice systems became **Justice**, and the gang layer became **Gangs**, leaving +**Contraband** as the physical smuggling loop. Regime (prisoner recreation) folded into Justice; a +policing/cops layer is where Justice grows next. ## Principles -- **Self-complete, dependency-free.** Every mod works alone; none requires another suite mod or any - third-party mod. Integrations are always `MayRequire`-soft — features light up if a mod is - present and the loop still closes without it. +- **One shared engine, then build up.** The suite runs on a small **Core** (propensity, record, + secured context) so every mod agrees about who is dangerous instead of each guessing. Contraband + and Justice build on Core; Gangs, the capstone, needs Core + Contraband + Justice. Foul Play stands + fully alone and merely *bridges* to the suite when it is present. Cross-mod integrations that + aren't hard dependencies stay soft — features light up if a mod is present and the loop still + closes without it (e.g. Core's deterrence seam is neutral until Justice fills it). - **Coexist, don't duplicate.** We test against the all-time most-subscribed Workshop mods and never rebuild what a genuinely good mod already does well — judged by quality, not sub count. - **Extend by capability, not by list.** New content registers via `IsWeapon` / `IsDrug` / @@ -54,7 +61,8 @@ Each code repo runs a Gitea Actions workflow (`.gitea/workflows/ci.yml`) on push (catches malformed XML and relative-xpath silent no-ops) + **dotnet build** against the Krafs RimWorld reference assemblies (no game install needed). Runs on the self-hosted `truenas-runner` (host mode, label `ubuntu-latest`); .NET is provisioned per-run via `setup-dotnet`. Green across -Foul Play, Contraband, and Ward. +Foul Play, Contraband, and Ward; the split-out **Core**, **Justice**, and **Gangs** build clean and +are exercised by the full-stack harness, with per-repo CI workflows still to be added. ## AI disclosure