Roslyn analyzers and code fixes for modern .NET performance patterns. Flags allocations, virtual dispatch, and boxing on hot paths — with multi-TFM awareness.
A zero-allocation mediator library for .NET 10. Roslyn source generator wires all dispatch at compile time — no reflection, no dictionaries, no virtual dispatch.
A zero-allocation validation library for .NET. Roslyn source generator wires all rule evaluation at compile time — no reflection, no boxing, no runtime overhead.
Zero-allocation source-generated ValueObject equality for hot paths. Eliminates boxing and iterator allocations from CSharpFunctionalExtensions.ValueObject.GetEqualityComponents().
Zero-allocation async event primitives for .NET. ValueTask-based AsyncEvent<T> with sequential and parallel invocation modes, source-generated dispatch, no reflection.
Shared building block for pipeline-aware Roslyn source generators in the ZeroAlloc ecosystem. Zero allocation, compile-time wiring, Native AOT compatible.
A zero-allocation serialisation library for .NET. IBufferWriter<byte>-based ISerializer<T> with Roslyn source generator — AOT-safe, no reflection, works with MemoryPack, MessagePack, and System.Text.Json.
Source-generated, zero-allocation finite state machines for .NET. Add [StateMachine] and [Transition] attributes to a partial class; the generator emits a TryFire switch expression with no heap allocation on the transition path. AOT-safe.
LALR(1) parser-table generator + runtime in C# (.NET 10/AOT) with a YAML-grammar schema and Roslyn source generator pipeline; current branch has WIP changes adding a 3-column TUI debugger and tweaks across the schema/generator/visitor layers.
Democratizing client-server game development. A deterministic framework bridging Unity and Microsoft Orleans. Write game logic once in C# - it runs on the server (Orleans grains) and replays on the client (Unity / .NET).