44 lines
2.8 KiB
Markdown
44 lines
2.8 KiB
Markdown
# Mission — Bevy FPS Foundation & Editor Framework
|
|
|
|
## What we are building
|
|
|
|
An **in-process Bevy editor and game foundation** for a server-authoritative multiplayer FPS. The editor is a **reusable framework**: the same `GamePlugin`, deterministic `sim`, and rendering stack run in the editor binary and in shipped game builds.
|
|
|
|
## Principles
|
|
|
|
1. **One world, one sim** — Play-in-editor runs real gameplay code, not a preview stub.
|
|
2. **WYSIWYG rendering** — the unified viewport uses the project rendering profile (target: `assets/project.ron`) for both editor and player cameras.
|
|
3. **Authoring over runtime** — Levels serialize reflectable components from `shared`; hydration builds runtime meshes, colliders, and lights.
|
|
4. **Input as intent** — Gameplay consumes `protocol` intent in `FixedUpdate`, enabling determinism, replays, and networking.
|
|
5. **Strict crate boundaries** — `sim` and `protocol` stay rendering-free; native-only deps stay in `editor`.
|
|
6. **BRP-aligned tooling** — Custom egui UX plus Bevy Remote Protocol for automation and future interop with the official Bevy editor. BRP mutates **authoring** components only ([editor/brp.md](editor/brp.md), [ADR 0009](adr/0009-authoring-vs-hydrated.md)).
|
|
7. **Composable actor model** — Every saved level object carries a derived `ActorKind` display hint,
|
|
while registered authoring components own behavior, requirements, conflicts, persistence, and
|
|
hydration ([ADR 0034](adr/0034-registry-driven-authoring-components.md)).
|
|
8. **Sustainable extension seams** — Pay architecture debt at the point of change: thin panel
|
|
shells dispatch into bounded domain modules and shared services, with an automated no-growth
|
|
ratchet for legacy modules ([ADR 0048](adr/0048-modular-editor-composition-and-debt-ratchet.md)).
|
|
9. **Authored visual language** — Build editor panels from semantic, responsive design-system
|
|
primitives whose native output is accepted against the Penpot source of truth; unsupported mock
|
|
controls do not ship ([ADR 0049](adr/0049-penpot-led-editor-visual-system.md)).
|
|
|
|
## Audience
|
|
|
|
- **Level authors** — Iterate on scenes, tuning, and feel via PIE and project settings.
|
|
- **Engine extenders** — Reuse or embed `editor` patterns (viewport, history, PIE) in other Bevy projects.
|
|
- **Automation / CI** — BRP, headless validation, and deterministic asset processing.
|
|
- **Multiplayer development** — Same editor shell exercises deterministic sim and protocol types.
|
|
|
|
## Non-goals
|
|
|
|
- Full DCC modeling (import-focused workflow).
|
|
- Shipping the editor to players (dev tool only).
|
|
|
|
## Related docs
|
|
|
|
- [Documentation index](README.md)
|
|
- [ADR 0001: Roadmap Architecture](adr/0001-roadmap-architecture.md)
|
|
- [ADR 0003: Editor Framework Mission](adr/0003-editor-framework-mission.md)
|
|
- [Root README — controls & checklist](../README.md)
|
|
- [Editor docs index](editor/README.md)
|