Skip to content

Solution- und Repository-Übersicht

Aktive Projekte

Bereich Status Laufzeit/Einstieg Typische Änderungen Tests/Fallstricke
src/HolodeckArena.Game3D produktives Ziel Godot 4.6.3; project.godotCore/Bootstrap/MainScene.tscn Scenes, UI, 3D-Runtime, Nakama-Client, ENet tests/HolodeckArena.Game3D.Tests; Godot-Lifecycle nicht vollständig durch xUnit abgedeckt
src/HolodeckArena.Shared produktiv .NET-8-Library deterministische Dungeon-Domain, Hubs, Waffen, Loadouts, Progression, Bootstrap-Kern beide Testprojekte; keine Godot-Typen einführen
src/HolodeckArena.Networking produktiv .NET-8-Library Movement-Validierung, Snapshot-/Prediction-Puffer wird über Game3D referenziert; eigene Tests fehlen
src/server/nakama in Entwicklung Nakama 3.22.0 + ES5-TypeScript-Bundle main.js Run-/Replay-/Leaderboard-/Mailbox-RPCs, Storage, Account-Handle Node-Tests unter modules/tests; tsconfig.json-Dateiliste mitpflegen
src/server/registry produktiver Prototyp FastAPI/Uvicorn, Port 8080 Hub-Registrierung, Heartbeat, Discovery feste Redis-URL, 15-s-TTL, keine Tests
src/server/dashboard Prototyp FastAPI/Jinja/WebSocket, Port 8000 Serverübersicht Nakama-/Redis-Service-Dateien leer; keine Authentifizierung
src/server/api produktiver Release-Service FastAPI, Port 5000 Manifest-, Download- und Release-Aktivierung Publish-Token erforderlich; Pfadvalidierung sicherheitskritisch
src/tools aktiv Python/PyInstaller Installer, Launcher, Updater, Manifest/Publish parallel zu Shared-Bootstrap-Code; CI baut aktuell Python-Tools
tests/HolodeckArena.Game3D.Tests aktiv xUnit/.NET 8 Dungeon, Räume, Objectives, Encounters, Waffen/Loadouts referenziert Godot-Projekt; keine vollständigen SceneTree-Integrationstests
tests/HolodeckArena.Bootstrap.Tests aktiv xUnit/.NET 8 Hashes, Pfade, Manifest, Update-Planung testet Shared/Bootstrap

Game3D-Struktur

  • Core/Bootstrap: Composition Root und Client-/Serverstart.
  • Core/DI: eigener Singleton/Transient-Servicecontainer.
  • Core/GameFlow und Core/SceneLoading: Szenennavigation und rekursive Injection.
  • Core/Network: ENet-Verbindung und autoritativer Hub-Sync.
  • Core/Runtime: JSON-/CLI-Konfiguration.
  • Core/Online, Integrations/Nakama: Auth, Realtime und RPC.
  • Features/Dungeons: Seed-Kontext, V3-3D-Runtime, Templates, Marker sowie Enemy- und Boss-Resource-Kataloge.
  • Features/Balancing: eigenständig per F6 startbare Sandbox für Waffen, Gegner, Power-ups und Combat-Tuning.
  • Features/Gameplay: Player, Combat, Stats, Power-ups und Interaktion.
  • Features/Hub, Features/MainMenu, Features/Chat: Online-Flow und UI.
  • Features/Weapons, Features/Loadouts: aktive Weapon-Runtime und Player-Komponenten über der Shared-Domain; Loadout-UI bleibt eine Shell.
  • Scenes/Prefabs: teilweise Legacy/Placeholder; aktive Navigation nutzt Pfade aus GameFlowRoutes.

Shared-Struktur

Shared/Dungeons ist die kanonische, deterministische Dungeon-Wahrheit. Shared/Hubs definiert die gemeinsam validierte Social-Hub-Geometrie. Shared/World und Networking/Movement stützen autoritative Bewegung. Waffen, Loadouts und Progression sind nach Typ und Verantwortung auf einzelne Dateien verteilt; Run-Regeln liegen unter Shared/Runs. Änderungen daran benötigen besonders sorgfältige Tests und gegebenenfalls Versionserhöhungen.

Eingefrorenes Game2D

Der Game2D-Quellbaum wurde entfernt. Historische Presentation-Enums bleiben nur aus Kompatibilitaetsgruenden; keine neuen Game2D-Features anlegen.

Build-/Tool-Inkonsistenz

Das Root-Repository enthält keine C#-Projekte HolodeckArena.Installer, HolodeckArena.Launcher oder HolodeckArena.Updater, obwohl ältere Dokumente sie nennen. Der aktuelle Workflow .github/workflows/build-bootstrap-tools.yml baut die Python-Dateien in src/tools per PyInstaller. src/HolodeckArena.Bootstrap.Core enthält nur lokale bin/obj-Artefakte und ist keine eingecheckte Quelle.

Siehe System Map und Build/Deployment.