Stellar framework — layers and dependency rule

Stellar framework — layers and dependency rule An architecture diagram generated by Archify. BepInEx 6 IL2CPP · loader + HarmonyX · Architecture component BepInEx 6 IL2CPP loader + HarmonyX Stellar.Host · composition root · Stellar.Framework bundle · no business logic Stellar.Host composition root no business logic Stellar.Infrastructure · game adapters · Stellar.Framework bundle Stellar.Infrastructure game adapters Stellar.Application · services + use cases · Stellar.Framework bundle › BCL-only core Stellar.Application services + use cases Stellar.Abstractions · public plugin API · Stellar.Framework bundle › BCL-only core · BCL only Stellar.Abstractions public plugin API BCL only Plugins · IStellarPlugin DLLs · Architecture component Plugins IStellarPlugin DLLs Stellar.Wire · wire ids + routing · Stellar.Framework bundle › BCL-only core · BCL only Stellar.Wire wire ids + routing BCL only Stellar.PluginContracts · plugin-to-plugin types · Stellar.Framework bundle Stellar.PluginContracts plugin-to-plugin types Game runtime · Unity IL2CPP + Panda.* · Architecture component · HybridCLR hot-update Game runtime Unity IL2CPP + Panda.* HybridCLR hot-update Unity uGUI · overlay rendering · Architecture component Unity uGUI overlay rendering loads wires implements ports implements API IPluginServices parses via domain types patches + reflects optional optional draw Stellar.Framework bundle BCL-only core Legend Frontend Backend Security Message bus External

Dependency rule

  • • Arrows point inward toward Abstractions
  • • Application and Wire reference Abstractions only
  • • Host references everything but decides nothing

Game boundary

  • • Only Infrastructure may touch BepInEx, HarmonyX, IL2CPP or Panda.*
  • • Plugins cannot reach it — the build fails

Enforced by CI

  • • Stellar.Analyzers STELLAR0001-0005 at error
  • • check-standards.sh layer + size rules
  • • CS1591: every public API member documented