Project Structure

Understand how the Aether workspace is organized — 26 crates across 6 domains.

Aether is organized as a Rust workspace with 26 crates spanning six domains. Each crate is a self-contained subsystem — you can use only what you need and swap out what you don't.

Workspace Overview

aether/
├── crates/
│   ├── Core Engine ──── aether-ecs, aether-physics, aether-renderer,
│   │                    aether-audio, aether-input
│   ├── Scripting ────── aether-scripting, aether-creator-studio
│   ├── World ────────── aether-world-runtime, aether-network,
│   │                    aether-zoning, aether-federation
│   ├── Social ───────── aether-avatar, aether-social,
│   │                    aether-economy, aether-ugc
│   ├── Platform ─────── aether-gateway, aether-registry,
│   │                    aether-asset-pipeline, aether-platform
│   └── Safety ───────── aether-security, aether-trust-safety,
│                        aether-compliance, aether-content-moderation,
│                        aether-deploy, aether-persistence
├── examples/
│   └── 3d-demo ──────── Interactive 3D scene with software renderer
└── docs/design/ ─────── 62 design documents

Domain Breakdown

Core Engine

The foundational runtime crates that power rendering, physics, audio, and input.

| Crate | Description | |-------|-------------| | aether-ecs | Archetype-based ECS with parallel queries, event bus, and network-aware components | | aether-physics | Rapier3D integration with rigid bodies, joints, triggers, collision layers, and VR interaction physics | | aether-renderer | Rendering pipeline with GPU scheduling, foveated rendering, frame budgeting, and a software rasterizer | | aether-audio | Spatial audio with HRTF, Opus codec, acoustic zones, and audio capture | | aether-input | VR input abstraction with OpenXR session/tracking/haptics and desktop fallback |

Scripting

Tools for authoring game logic without writing Rust.

| Crate | Description | |-------|-------------| | aether-scripting | WASM script runtime with per-script resource caps, rate limiting, and priority scheduling | | aether-creator-studio | Creator tools including terrain/prop/lighting editors, undo/redo, and a visual scripting editor with node graph and IR compiler |

World and Networking

Everything related to world state, multiplayer, and cross-instance connectivity.

| Crate | Description | |-------|-------------| | aether-world-runtime | World lifecycle, chunk-based streaming with LOD, tick scheduling, and client-side prediction | | aether-network | QUIC transport, delta compression, interest management, voice channels, and server reconciliation | | aether-zoning | Spatial load balancing with zone split/merge, cross-zone ghost entities, and portal system | | aether-federation | Cross-instance interoperability with handshake protocol, server registry, and federated auth |

Social and Economy

Features for social interaction, avatars, economy, and user-generated content.

| Crate | Description | |-------|-------------| | aether-avatar | Avatar system with skeletal animation, FABRIK IK, blend shapes, lip-sync, LOD, and GPU skinning | | aether-social | Social graph with friends, blocking, groups, presence, real-time chat, and horizontal sharding | | aether-economy | Double-entry ledger, wallet management, fraud detection, and transaction processing | | aether-ugc | User-generated content pipeline with upload, scanning, approval workflow, and moderation integration |

Platform

Infrastructure crates for API gateways, asset processing, and multi-platform support.

| Crate | Description | |-------|-------------| | aether-gateway | API gateway with auth middleware, rate limiting, geo routing, and voice relay | | aether-registry | World discovery, search, ranking, matchmaking, and analytics | | aether-asset-pipeline | Asset import (glTF), processing, compression, hashing, and bundle packaging | | aether-platform | Multi-platform client support with capability detection and quality profiles |

Safety and Operations

Security, moderation, compliance, deployment, and persistence.

| Crate | Description | |-------|-------------| | aether-security | Anti-cheat validation, JWT auth, encryption, and action rate limiting | | aether-trust-safety | Personal space bubbles, safety zones, visibility filtering, and parental controls | | aether-compliance | GDPR data deletion/export, pseudonymization, and retention scheduling | | aether-content-moderation | Automated scanning (text/image/WASM), human review queue, and report system | | aether-deploy | Kubernetes deployment, autoscaling, health probes, and failover | | aether-persistence | WAL-backed durable state with PostgreSQL/Redis/NATS backends |

How Crates Relate

The Core Engine crates form the foundation — aether-ecs is the central data store that most other crates interact with. The renderer, physics, audio, and input crates all operate on ECS components.

Scripting sits on top of the core engine, allowing game logic to be written in WASM or composed visually rather than in Rust directly.

World and Networking crates manage multiplayer state synchronization, building on the ECS for entity replication and the network layer for transport.

Social and Platform crates provide higher-level features (avatars, economy, asset processing) that depend on the core engine and networking layers.

Safety crates operate as cross-cutting concerns — security validation hooks into networking, content moderation integrates with UGC, and compliance wraps persistence operations.