No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
official-markus-maurer 5750b013b3 feat: add scene extension component support and refactor editor window management
Add support for custom extension components in scene documents, including serialization/deserialization, component registry, and updated test fixtures/tests.

Refactor editor utility window management to use a centralized `EditorWorkflowUtilityWindow` enum, replacing direct shell flag assignments with standardized open/close calls for all editor utility windows (dialogue debug, asset debug, trigger properties, placed light properties, and dialogue editor).

Also include:
- Added egui profiling scopes to viewport rendering code
- Updated xtask Tracy capture frame count to 600 for better warm-start profiling
- Fixed content health CLI catalog loading logic
- Cleaned up item authoring save APIs and added drag-and-drop support for NPC outfit and dialogue topic catalog entries
- Updated authoring diagnostics to directly track error and warning counts
- Removed outdated local artifacts README file
2026-07-19 20:48:41 +02:00
.cargo feat: add encounter lobby and content health tooling 2026-07-14 19:23:01 +02:00
.forgejo/workflows refactor(docs): move docs to wiki structure, update all references 2026-07-13 21:44:31 +02:00
.vscode feat: add encounter lobby and content health tooling 2026-07-14 19:23:01 +02:00
assets feat: add scene extension component support and refactor editor window management 2026-07-19 20:48:41 +02:00
crates feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
docs/wiki feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
external Initial commit. 2026-05-23 09:09:14 +02:00
proto feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
services feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
src feat: add scene extension component support and refactor editor window management 2026-07-19 20:48:41 +02:00
tests refactor: separate protocol and domain modules, add tests 2026-07-11 23:46:27 +02:00
tools feat: add scene extension component support and refactor editor window management 2026-07-19 20:48:41 +02:00
vendor refactor: separate protocol and domain modules, add tests 2026-07-11 23:46:27 +02:00
xtask feat: add scene extension component support and refactor editor window management 2026-07-19 20:48:41 +02:00
.aether-control-services.json refactor: integrate engine architecture updates 2026-07-03 11:39:25 +02:00
.env.example refactor: code cleanup, deps updates, and proto removal 2026-07-08 19:45:30 +02:00
.gitattributes build: migrate to egui 0.35 and apply miscellaneous code fixes 2026-07-06 18:03:12 +02:00
.gitignore feat: add farming subsystem and UI layout workbench 2026-07-06 06:35:35 +02:00
Cargo.lock feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
Cargo.toml feat: add editor and housing, refactor gameplay events 2026-07-15 14:41:31 +02:00
README.md refactor(docs): move docs to wiki structure, update all references 2026-07-13 21:44:31 +02:00
Todo.md feat: add scene extension component support and refactor editor window management 2026-07-19 20:48:41 +02:00

Aether

Aether is a Rust game-engine workspace built around a Bevy desktop client and editor, layered 2D character rendering, data-driven content authoring, and an evolving multiplayer backend.

The repository is under active development. The editor, local playtest path, authored-content pipeline, login and handoff flow, and service tooling are usable for development; authoritative world simulation, production auth hardening, and deployment automation are still evolving.

Quick Start

You need a recent stable Rust toolchain, Postgres, Redis, and a desktop environment capable of running Bevy. Windows is an active development target.

git clone https://github.com/AetherOnline/AetherOnline.git
cd AetherOnline

Copy .env.example to .env.local, set the local Postgres and Redis values, then verify the workstation:

cargo run -p xtask -- doctor --format markdown

Start the backend services in separate terminals:

cargo run -p aether-control-plane
cargo run -p aether-login-server
cargo run -p aether-game-server

Run the client and editor:

cargo run

Optional service-control tools:

cargo run -p aether-control-agent
cargo run -p aether-control-panel

The login server applies its SQL migrations during startup, so Postgres must be reachable before it launches.

Workspace At A Glance

Path Role
src/ Bevy client, editor, runtime, and authoring systems
assets/ Authored scenes, UI, game data, sprites, effects, and preview assets
crates/ Shared protocol, config, networking, domain, observability, and generated-artifact crates
services/ Login, game, control-plane, and control-agent services
tools/control-panel/ Native service-management desktop UI
xtask/ Workspace doctor, quality gates, docs checks, export checks, and generated workflows
docs/wiki/ Maintained engine, authoring, runtime, protocol, and operations documentation

Detailed package ownership and scoped checks live in Workspace Package Roles And Scoped Quality Profiles.

Common Workflows

Validation

Run the standard quality gate before handing off a broad change:

cargo run -p xtask -- quality-gate

Useful focused checks:

cargo run -p xtask -- docs-check
cargo run -p xtask -- quality-gate --profile editor-client
cargo run -p xtask -- quality-gate --profile services
cargo run -p xtask -- quality-gate --profile protocol-config

Use cargo run -p xtask -- quality-gate --plan to inspect the planned commands. The stricter ci-cleanup and full profiles are appropriate before large integrations. Generated documentation and manifests should be repaired through their registered write commands rather than edited by hand.

Contributing

Keep changes focused, route shared protocol and configuration changes through their owning crates, add validation for authored-format changes, and update the relevant wiki page when a shared workflow or invariant changes. See Generated Artifact Registry And Quality Gate Integration before adding generated outputs.

The repository includes third-party art and derived development assets. Verify each asset pack's license before redistribution.

License

No project-wide license is currently published. Treat the code and bundled assets as all rights reserved unless the project owner provides explicit terms.