{"id":49014831,"url":"https://github.com/garnizeh-labs/aetheris-protocol","last_synced_at":"2026-05-15T00:10:22.113Z","repository":{"id":352283482,"uuid":"1214560509","full_name":"garnizeh-labs/aetheris-protocol","owner":"garnizeh-labs","description":"The core trait facade, wire formats, and gRPC definitions for the Aetheris Engine. This repository defines the immutable contracts (WorldState, GameTransport, Encoder) that bind the client, server, and platform layers together.","archived":false,"fork":false,"pushed_at":"2026-04-23T14:17:14.000Z","size":260,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-24T05:02:47.792Z","etag":null,"topics":["aetheris","ecs","game-engine","garnizeh-labs","grpc","multiplayer","protocol","rust","serialization","traits","webtransport"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/garnizeh-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-18T18:37:45.000Z","updated_at":"2026-04-23T14:18:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"a0cafc72-e35d-427c-bbc8-d410d89a032e","html_url":"https://github.com/garnizeh-labs/aetheris-protocol","commit_stats":null,"previous_names":["garnizeh-labs/aetheris-protocol"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/garnizeh-labs/aetheris-protocol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh-labs%2Faetheris-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh-labs%2Faetheris-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh-labs%2Faetheris-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh-labs%2Faetheris-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garnizeh-labs","download_url":"https://codeload.github.com/garnizeh-labs/aetheris-protocol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garnizeh-labs%2Faetheris-protocol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32251812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T04:23:17.126Z","status":"ssl_error","status_checked_at":"2026-04-25T04:21:53.360Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aetheris","ecs","game-engine","garnizeh-labs","grpc","multiplayer","protocol","rust","serialization","traits","webtransport"],"created_at":"2026-04-19T01:17:16.294Z","updated_at":"2026-05-15T00:10:22.105Z","avatar_url":"https://github.com/garnizeh-labs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eAetheris Protocol\u003c/h1\u003e\n  \u003cp\u003eBinary contracts, lifecycle management, and communication traits for the Aetheris Engine.\u003c/p\u003e\n\n  [![CI](https://img.shields.io/github/actions/workflow/status/garnizeh-labs/aetheris-protocol/ci.yml?branch=main\u0026style=flat-square\u0026logo=github\u0026label=CI)](https://github.com/garnizeh-labs/aetheris-protocol/actions)\n  [![Rust Version](https://img.shields.io/badge/rust-1.95.0%2B-blue?style=flat-square\u0026logo=rust)](https://www.rust-lang.org/)\n  [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=flat-square)](https://conventionalcommits.org)\n  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/garnizeh-labs/aetheris-protocol/pulls)\n\u003c/div\u003e\n\n---\n\n## ⚖️ The Authority of the Wire — The Single Source of Truth\n\nIn a 60Hz authoritative simulation, the network protocol is not just a data format — it is the single source of truth. **Aetheris Protocol** provides the high-performance, media-agnostic contracts that allow the client and server to synchronize massive world states with sub-millisecond overhead.\n\n\u003e [!TIP]\n\u003e 🚀 **Latest Milestone:** **Phase 1 Performance Stabilization (Replication) complete!** Resolved replication concurrency bottlenecks with a Rayon-parallelized encoding pipeline and stabilized the integration test suite for authoritative session flows.\n\n### 📦 Workspace Components\n\n| Crate | Link | Documentation |\n| :--- | :--- | :--- |\n| **`aetheris-protocol`** | [![Crates.io](https://img.shields.io/crates/v/aetheris-protocol?style=flat-square)](https://crates.io/crates/aetheris-protocol) | [![Docs.rs](https://img.shields.io/docsrs/aetheris-protocol?style=flat-square\u0026logo=docs.rs\u0026label=docs)](https://docs.rs/aetheris-protocol) |\n| **`aetheris-encoder-bitpack`** | [![Crates.io](https://img.shields.io/crates/v/aetheris-encoder-bitpack?style=flat-square)](https://crates.io/crates/aetheris-encoder-bitpack) | [![Docs.rs](https://img.shields.io/docsrs/aetheris-encoder-bitpack?style=flat-square\u0026logo=docs.rs\u0026label=docs)](https://docs.rs/aetheris-encoder-bitpack) |\n| **`aetheris-encoder-serde`** | [![Crates.io](https://img.shields.io/crates/v/aetheris-encoder-serde?style=flat-square)](https://crates.io/crates/aetheris-encoder-serde) | [![Docs.rs](https://img.shields.io/docsrs/aetheris-encoder-serde?style=flat-square\u0026logo=docs.rs\u0026label=docs)](https://docs.rs/aetheris-encoder-serde) |\n\n---\n\n## Workspace Components\n\nThe protocol is split into highly focused crates to ensure lean builds and clear isolation:\n\n- **[`aetheris-protocol`](crates/aetheris-protocol)**: The core engine contracts. Defines the \"Trait Triad\" (`WorldState`, `GameTransport`, `Encoder`) and the cryptographic Merkle Hash Chain used for entity integrity.\n- **[`aetheris-encoder-serde`](crates/aetheris-encoder-serde)**: A rapid-iteration `Encoder` implementation using MessagePack (`rmp-serde`). Optimized for schema flexibility during development.\n- **[`aetheris-encoder-bitpack`](crates/aetheris-encoder-bitpack)**: A high-performance Phase 3 `Encoder`. Uses custom bit-packing for maximum data density and minimal MTU footprint in production.\n\n## Quickstart\n\n```bash\n# 1. Run the quality gate (fmt, clippy, tests, security)\n#    MUST PASS BEFORE OPENING ANY PR\njust check\n\n# 2. Run the FULL CI gate (includes udeps and strict docs)\njust check-all\n\n# 3. Synchronize formatting and apply clippy suggestions\njust fix\n```\n\n### 🛠️ Common Tasks\n\n| Command | Category | Description |\n| :--- | :--- | :--- |\n| `just check` | **Quality** | Fast local validation: fmt, clippy, unit tests, and security audit. |\n| `just check-all`| **CI** | Comprehensive validation: includes `udeps` and strict rustdoc checks. |\n| `just fix` | **Lint** | Automatically formats code and applies non-breaking clippy fixes. |\n| `just udeps` | **Lint** | Checks for unused dependencies (requires pinned nightly). |\n| `just docs` | **Doc** | Generates the official API documentation. |\n\nFor a full list of commands, run `just --list`.\n\n## The Three Pillars\n\nThe Aetheris Protocol is built on three core trait facades that isolate the engine from the outside world:\n\n1.  **`GameTransport`**: Abstract network layer handling reliable/unreliable datagrams and event polling. Gated for WASM compat (`?Send` futures).\n2.  **`WorldState`**: The ECS bridge. Translates protocol-level `NetworkId`s to local ECS entities and extracts high-frequency replication deltas.\n3.  **`Encoder`**: The serialization engine. Supports everything from rapid-iteration `rmp-serde` to Phase 3 custom bit-packing.\n\n## Automated Release Workflow\n\nThis repository uses **`release-plz`** to automate versioning and changelog management.\n\n- **Development**: All changes are merged into `main` using **Conventional Commits** (e.g., `feat: ...`, `fix: ...`).\n- **Release PR**: On every push to `main`, `release-plz` creates or updates a \"Release PR\" that bumps versions in `Cargo.toml` and updates `CHANGELOG.md`.\n- **Finalizing**: Merging the Release PR automatically triggers a GitHub Release and publishes the updated crates to the registry.\n\n## Documentation Index\n\n- **[PROTOCOL_DESIGN.md](docs/PROTOCOL_DESIGN.md):** The master wire format and trait contract specification.\n- **[TRANSPORT_DESIGN.md](docs/TRANSPORT_DESIGN.md):** Reliable/Unreliable abstraction and channel mechanics.\n- **[ENCODER_DESIGN.md](docs/ENCODER_DESIGN.md):** Serialization strategies (rmp-serde / bit-packer).\n- **[NETWORKING_DESIGN.md](docs/NETWORKING_DESIGN.md):** The engine's networking fundamentals (UDP, QUIC, WebTransport).\n- **[CONTROL_PLANE_DESIGN.md](docs/CONTROL_PLANE_DESIGN.md):** Transactional services, authentication, and matchmaking architecture.\n- **[API_DESIGN.md](docs/API_DESIGN.md):** High-level event structures and async patterns.\n\n## Design Philosophy\n\n1.  **Trait Facade Architecture**: Strict boundaries between transport, ECS, and logical protocol.\n2.  **Phase-Based Evolution**: Iterative protocol hardening (MVP -\u003e Production -\u003e bit-packing).\n3.  **Didactic Codebase**: Self-documenting, spec-first implementation designed for learning.\n\n---\n\nLicense: MIT / Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarnizeh-labs%2Faetheris-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarnizeh-labs%2Faetheris-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarnizeh-labs%2Faetheris-protocol/lists"}