Blacksite/docs/adr/0001-roadmap-architecture.md
Rbanh f29712d158
Some checks are pending
CI / Format, lint, test, build (push) Waiting to run
Initial project import
2026-06-05 21:44:45 -04:00

1.8 KiB

ADR 0001: Roadmap Architecture

Status

Accepted

Context

The project is a Bevy FPS foundation with a runtime game, shared authoring data, and an in-process editor. The long-term goal is a server-authoritative multiplayer FPS that can also serve as a reusable Bevy engine/editor toolkit.

The architecture needs to keep early editor work productive while avoiding choices that would make later deterministic simulation, networking, and web support expensive.

Decision

Keep the current game, shared, and editor crates for M0/M1, but treat them as stepping stones toward a stricter split:

  • shared owns reflectable authoring types and scene hydration until it can be renamed or split into a scene-focused crate.
  • game owns native client presentation, player input, rendering, audio, UI, and glue.
  • editor owns native editor tooling and editor-only dependencies.
  • Future deterministic gameplay moves out of game into a simulation crate that can be reused by the native client, a headless server, and tests.
  • Future network protocol types move into a protocol crate shared by client and server.
  • Runtime app startup/windowing stays narrow and reusable so both the game and editor launch consistently.

Consequences

This preserves the current M1 editor velocity while setting boundaries for later milestones. Gameplay code should avoid depending on editor systems, and reusable authoring/simulation code should avoid native-only editor dependencies.

The project will add CI and focused local verification now, then expand tests around determinism, scene migration, and networking as those crates appear.

Follow-Ups

  • M2 extracts deterministic simulation and input-as-intent systems.
  • M3 adds the server-authoritative networking spike and chooses the production netcode stack.
  • M5 formalizes scene schema versioning and migrations.