Skip to content

Latest commit

 

History

131 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Universal Modding Studio

SOC 3 Compliant ISO 27001 Compliant CIAQ Compliant OpenSSF Scorecard

Don’t just infiltrate the network. Rewrite it.

Universal Modding Studio (UMS) is an independent authoring, generation, validation and packaging platform for game worlds, systems, agents, narratives and rules.

It is the authoring layer of a two-layer system. UMS compiles what you author into a versioned package; a game loads that package through its own loader. A shipped game runs with no UMS present — that separation is a hard requirement, not a preference, and it is enforced rather than asserted (ADR-0016).

Games appear here as profiles, not as the core. IDApTIK is the first and deepest profile; Chronicles of Slavia is the second, which exists to keep the core honest about what is universal. Game nouns — security ranks, the Rift, PBX, remedies — live under profiles/<game>/v<N>/ and never in universal namespaces.

Development focus

UMS is maintained as one modular codebase. IDApTIK is the primary executable target and the immediate proving ground: new authoring, solving, validation and packaging capabilities are developed against its real contracts and round-trip tests first. Chronicles of Slavia is the next profile and the first test that an apparent abstraction actually travels beyond IDApTIK. Broader game support comes after those two profiles establish a real common shape.

This is a sequencing rule, not a claim that IDApTIK vocabulary is universal. Game-specific work stays in profiles/idaptik, IDApTIK-owned contracts, or an explicitly labelled compatibility facade. A concept moves into shared UMS code only when another real profile needs the same host-neutral interface. See docs/PROFILE-LANES.adoc and ADR-0018.

What can you mod?

Almost everything. If it exists in the IDApTIK universe, UMS provides the hooks to generate, validate, and inject it:

  • Worlds & Architecture: Levels, zones, routing boundaries, and wiring diagrams.

  • Entities: Characters, animals, NPCs, and patrol dogs.

  • Minds & Behavior: Game AI for behavior, player character traits, and security responses.

  • Narrative: Storylines, plots, dialogue, themes, and tropes.

  • Assets: Objects, devices, and interactive terminals.

How it works

UMS isn’t just a basic level editor; it’s a robust procedural generation and validation pipeline designed to ensure that player-created DLC is completely bulletproof before it ever touches the game.

  1. Generative Truth (Nickel): All content rules and schemas are defined in Nickel, providing a typed, functional source of truth for the universe’s constraints.

  2. Constraint-Driven Generation (Rust/Crusoe & miniKanren): The ai_edit engine (now powered by a Rust/Crusoe miniKanren kernel) acts as a relational constraint solver. You define the intent of your edit or procedural generation, and the engine resolves it into a valid game state.

  3. Layered Validation (DLC VM & Idris2): Before content is packaged, the applicable schema, profile, ABI, and DLC VM checks run. The Idris2 ABI proves the properties encoded in its integration types; this is not a claim that arbitrary authored content is mathematically proven safe.

  4. Versioned Game Boundary: the IDApTIK profile consumes the game-owned contracts/idaptik/v1 artifacts and emits idaptik-package/v1. The actual Rust game loader consumes that artifact. UMS is not linked into the game, and the UMS UI is not a released-game dependency.

The Stack

Based on the current repository state, the system is composed of several specialized subsystems:

  • Schemas (config/, schemas/): Contracts ensuring UMS-generated content conforms to the game’s expectations, written in Nickel.

  • Idris2 ABI (abi/): Dependent-type proofs for the game integration boundary and core structures.

  • Zig FFI (ffi/zig/): Zig-based C-ABI exports (built with Zig 0.14.0) that integrate the core data structures with host systems.

  • DLC & VM (dlc/): Assets and runtimes for executing and verifying DLC payloads, including a 23-instruction reversible virtual machine.

Development & Testing

This project uses just as its command runner. Key recipes: * just build — Build the Zig FFI (requires Zig 0.14.0). * just dlc-check — Schema validation of all dlc/ artifacts. * just gen / gen-check — Regenerate and verify JSON schemas from Nickel sources. * just test-all — Run all gates (DLC check, Zig FFI integration). * just roundtrip-idaptik — Compile the UMS source, load the exact artifact in IDApTIK, execute, snapshot, restore and compare replay. * just slavia-profile-check — Validate the bounded Zone A / Border Path profile without claiming a Slavia runtime loader. * just architecture-check — Enforce dependency direction and profile isolation across the sibling repositories.

Profile status

The IDApTIK profile has an executable round trip. IDApTIK owns scenario syntax, vocabulary, semantic validation, migrations and loading; UMS owns profile generation and taxonomy mapping.

The Slavia profile captures quickening, settling, animal response according to the recipient’s nature, bridge and shrine interactions, environmental receptivity, place memory, moral marking, Rift effects and heroine-absence costs in one Border Path fixture. It is validated through a generic profile protocol, and an isolation test prevents that vocabulary leaking into UMS Core. Runtime consumption is future work.

See docs/architecture/CROSS-PROJECT-CONTRACTS.adoc for the dependency graph, ownership table and shared-primitive mapping.

Licensing

AGPL-3.0-or-later for code, CC-BY-SA-4.0 for documentation.

About

Universal Modding Studio — modular authoring, generation, validation, and packaging; IDApTIK primary profile, Chronicles of Slavia second

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages