No description
  • C# 76%
  • HLSL 16.3%
  • PowerShell 5.3%
  • C++ 1.8%
  • Python 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-08 00:32:51 +01:00
docs Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00
src/Aquarium.Engine Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00
.gitignore Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00
Aquarium.Engine.slnx Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00
global.json Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00
README.md Bootstrap Stride-hosted engine shell 2026-05-08 00:32:51 +01:00

Epiphany Aquarium Engine

C# engine-core seed for the next Epiphany Aquarium line.

This repo starts after the web and Rust prototypes taught the expensive lesson: the Aquarium wants an owned renderer, owned state model, and owned interaction grammar. Stride can donate useful structure and tooling, but the engine shape is Aquarium-first rather than framework-first.

Intent

  • C# host with renderer architecture kept legible in Rider.
  • Grid-centered camera and world-space interaction invariants as first-class engine contracts.
  • Diegetic UI surfaces driven by Aquarium objects instead of admin chrome.
  • CultNet for Epiphany communication.
  • CultCache for settings, persistent client state, and reload recovery.
  • Procedural audio and visual state treated as coupled signals.

Borrowed Lessons

  • The web client proved the interaction grammar: objects first, panels only as local unfold surfaces.
  • The Bevy prototype proved the renderer direction: raymarched bodies, Grid-space fields, HDR, bloom, and camera/Grid invariants.
  • The Rust synth work proved the audio module deserves its own small, sharp API.

First Build Target

Create the smallest C# executable that opens a window, owns the camera/Grid invariant, and renders one sun plus orbiting planets with diegetic labels. Everything else earns its way back in.

Run

dotnet build Aquarium.Engine.slnx
dotnet run --project src\Aquarium.Engine\Aquarium.Engine.csproj

Headless smoke:

dotnet run --project src\Aquarium.Engine\Aquarium.Engine.csproj -- --headless

The first cut uses Stride as a NuGet-hosted shell through Stride.CommunityToolkit.Windows. Stride is scaffolding; the Aquarium owns the camera/Grid invariant and the renderer direction. See docs/stride-boundary.md.