# Archevolt

> A headless archetype ECS for .NET 11 and C# 15, with a source generator for typed queries, bundles, modules, and schedules.

## Docs

- [Introduction](https://archevolt.dev/docs): Archevolt is a headless archetype ECS for high performance modern .NET. Write components as structs and systems as C# methods.
- [Performance](https://archevolt.dev/docs/performance): Allocation behavior, measured costs, and the limits of what the numbers show.
- [Validation and limits](https://archevolt.dev/docs/validation): What has been verified, how to reproduce it, and what has not been tested.

## Getting started

- [Installation](https://archevolt.dev/docs/getting-started/installation): Requirements and package setup for Archevolt.
- [Quickstart](https://archevolt.dev/docs/getting-started/quickstart): Declare components, a system, a module, and a schedule, then run them against a world.

## Concepts

- [Architecture](https://archevolt.dev/docs/concepts/architecture): How Archevolt divides work between the source generator and the runtime.

## Guides

- [Components and bundles](https://archevolt.dev/docs/guides/components-and-bundles): Declare components, tags, and bundles.
- [Modules](https://archevolt.dev/docs/guides/modules): Group systems, bundles, resources, and messages into a generated module.
- [World and entities](https://archevolt.dev/docs/guides/world-and-entities): Build a world and spawn, insert, read, and remove entity data.
- [Queries and filters](https://archevolt.dev/docs/guides/queries): Declare named queries with typed rows, optional components, and filters.
- [Systems and traversal](https://archevolt.dev/docs/guides/systems): Write systems with EcsSystem, Each, and EachBlock, and opt traversals into partitioning.
- [Resources and local state](https://archevolt.dev/docs/guides/resources): Share singleton data between systems and keep per-system state.
- [Change tracking](https://archevolt.dev/docs/guides/change-tracking): Detect added and changed components and resources.
- [Deferred commands](https://archevolt.dev/docs/guides/commands): Record structural changes inside systems and play them back at schedule barriers.
- [Messages and removal records](https://archevolt.dev/docs/guides/messages): Send messages between systems and observe component removals.
- [Schedules and conditions](https://archevolt.dev/docs/guides/schedules): Order systems with Run declarations, stages, sets, and run conditions.
- [Execution, faults, and lifetimes](https://archevolt.dev/docs/guides/execution): Run schedules serially or in parallel, and handle cancellation and failure.

## Samples

- [Archeoids](https://archevolt.dev/docs/samples/archeoids): A playable Asteroids-style game where every ship, rock, bullet, and particle is an Archevolt entity.

## Reference

- [Diagnostics](https://archevolt.dev/docs/reference/diagnostics): Compiler diagnostics reported by the Archevolt generator.

## Changelog

- [v0.6.6](https://archevolt.dev/docs/changelog/v0-6-6): link to the browser-playable Archeoids game (c6d2f40)
- [v0.6.5](https://archevolt.dev/docs/changelog/v0-6-5): home: prevent hero heading descender clipping (730152d)
- [v0.6.4](https://archevolt.dev/docs/changelog/v0-6-4): perf: add performance hill-climbing plan (b882d90)
- [v0.6.3](https://archevolt.dev/docs/changelog/v0-6-3): home: align paragraph fonts with body type (595152f)
- [v0.6.2](https://archevolt.dev/docs/changelog/v0-6-2): disable Wrangler observability (#26) (c48dabd)
- [v0.6.1](https://archevolt.dev/docs/changelog/v0-6-1): add a landing page at the site root (#25) (7610c36)
- [v0.6.0](https://archevolt.dev/docs/changelog/v0-6-0): archeoids: add shared FPS counter (42e1523)
- [v0.5.9](https://archevolt.dev/docs/changelog/v0-5-9): archeoids: publish the browser sample to GitHub Pages from main (#24) (57c58b8)
- [v0.5.8](https://archevolt.dev/docs/changelog/v0-5-8): describe modern high performance .NET without version numbers (#21) (c56e9fd) ci: use the latest .NET SDK by default (#22) (f98f220)
- [v0.5.7](https://archevolt.dev/docs/changelog/v0-5-7): execution: measure and verify singleton batches (#20) (2650ea1)
- [v0.5.6](https://archevolt.dev/docs/changelog/v0-5-6): ci: pin the patched .NET 11 RC3 SDK (bf9661c) execution: bypass idle workers and measure partition crossover (8353c3d) benchmarks: consolidate measurement…
- [v0.5.5](https://archevolt.dev/docs/changelog/v0-5-5): queries: remove unused cursor enumeration method (#15) (8e2b787)
- [v0.5.4](https://archevolt.dev/docs/changelog/v0-5-4): queries: skip unchanged tables with change summaries (#14) (d5beef0)
- [v0.5.3](https://archevolt.dev/docs/changelog/v0-5-3): write spawned bundles in place (#13) (bc62d14)
- [v0.5.2](https://archevolt.dev/docs/changelog/v0-5-2): storage: cache column maps and intern archetypes by bitmask (#12) (1ea88b7)
- [v0.5.1](https://archevolt.dev/docs/changelog/v0-5-1): world: advance the change tick only after SpawnBatch succeeds (#11) (620f478)
- [v0.5.0](https://archevolt.dev/docs/changelog/v0-5-0): world: add lock-free batch spawning (e202e83)
- [v0.4.2](https://archevolt.dev/docs/changelog/v0-4-2): entities: store integer locations in the entity directory (7fb97c3)storage: stop allocating a closure on every archetype transition (f2c7d00) roadmap: add…
- [v0.4.1](https://archevolt.dev/docs/changelog/v0-4-1): queries: optimize named-query enumeration (be03359)
- [v0.4.0](https://archevolt.dev/docs/changelog/v0-4-0): archeoids: wasm based webgpu renderer (#10) (7ce5d7f)
- [v0.3.0](https://archevolt.dev/docs/changelog/v0-3-0): benchmarks: make bevy baselines optional (de9fcfd) record post step 3 roadmap changes (090807d)
- [v0.2.11](https://archevolt.dev/docs/changelog/v0-2-11): generator: cover block partition table boundaries (e2dd072)
- [v0.2.10](https://archevolt.dev/docs/changelog/v0-2-10): document block traversal and update benchmarks (1435981)
- [v0.2.9](https://archevolt.dev/docs/changelog/v0-2-9): update page title (f631e4f)
- [v0.2.8](https://archevolt.dev/docs/changelog/v0-2-8): remove version note (d79e09e)
- [v0.2.7](https://archevolt.dev/docs/changelog/v0-2-7): storage: replace 16 KiB chunks with per-archetype tables (#9) (e949384)
- [v0.2.6](https://archevolt.dev/docs/changelog/v0-2-6): some more badges (d29070a)
- [v0.2.5](https://archevolt.dev/docs/changelog/v0-2-5): include nuget badge (d789208)
- [v0.2.4](https://archevolt.dev/docs/changelog/v0-2-4): improve readability of the readme (c7cf46e)
- [v0.2.3](https://archevolt.dev/docs/changelog/v0-2-3): deps: bump tokio in /benchmarks/bevy-reference (9b5b2df) Merge pull request #8 from Stephanvs/dependabot/cargo/benchmarks/bevy-reference/tokio-1.54.1 (266b6bd)
- [v0.2.2](https://archevolt.dev/docs/changelog/v0-2-2): release: retry incomplete GitHub release lists (68e4db7) release: reproduce incomplete GitHub release lists (ce323aa) Merge pull request #6 from…
- [v0.2.1](https://archevolt.dev/docs/changelog/v0-2-1): Migrate to .NET 11 RC2 and C# 15 (#7) (7e44ea3)
- [v0.2.0](https://archevolt.dev/docs/changelog/v0-2-0): generators: add EachBlock systems (#5) (2686158)
- [v0.1.5](https://archevolt.dev/docs/changelog/v0-1-5): benchmarks: add step 0 baseline suite (c932642)
- [v0.1.4](https://archevolt.dev/docs/changelog/v0-1-4): preserve v1 plan and add performance roadmap (d289549)
- [v0.1.3](https://archevolt.dev/docs/changelog/v0-1-3): benchmarks: add bevy movement comparison (deb3d81)
- [v0.1.2](https://archevolt.dev/docs/changelog/v0-1-2): release: avoid stale GitHub connections after verification (414eb10)release: publish Source Link symbols with NuGet packages (89da697) update github actions…
- [v0.1.1](https://archevolt.dev/docs/changelog/v0-1-1): release: wait for NuGet validation before timing out (b2be6c4)
- [v0.1.0](https://archevolt.dev/docs/changelog/v0-1-0): ci: automate NuGet releases and changelog updates (f6385de)ecs: implement generated archetype storage and scheduling (5237bf2)samples: add archeoids game…

## RSS Feeds

- [Archevolt — Changelog](https://archevolt.dev/changelog/rss.xml)

## Agent resources

- [llms-full.txt](https://archevolt.dev/llms-full.txt): The full Markdown of every page in one file.
- [Page Markdown](https://archevolt.dev/index.md): Append `.md` to any page URL to fetch that page as raw Markdown.
- [JSON API](https://archevolt.dev/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://archevolt.dev/openapi.json.
- [Agent skills](https://archevolt.dev/.well-known/agent-skills/index.json): Agent Skills discovery index of the skills this site publishes.
- [API catalog](https://archevolt.dev/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here.
- [AI catalog](https://archevolt.dev/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs).
- [agent-readability.json](https://archevolt.dev/agent-readability.json): Manifest of every agent-facing artifact on this site.
- [Sitemap](https://archevolt.dev/sitemap.xml): Every indexable page URL with its last-modified date.
