Sobre o projeto

rzeka é um event bus de thread única para C# projetado para desacoplar componentes, permitindo que eles emitam e reajam a eventos tipados sem manter referências diretas uns aos outros. Construído sobre o Rx.NET, seu principal diferencial é o rastreamento de causalidade, que registra a cadeia de eventos que levou a qualquer evento específico. Os principais recursos incluem: - Rastreamento de Causalidade: Cada evento carrega um registro de sua cadeia causal, permitindo que os desenvolvedores rastreiem a origem dos comportamentos do sistema. - Eris Debugger: Um debugger baseado em navegador que se conecta via WebSocket para visualizar o fluxo de eventos e mensagens em tempo real enquanto a aplicação está em execução. - Design de Thread Única: Garante consistência no rastreamento de circunstâncias e transições de estado, com limites definidos para a manipulação de operações assíncronas. - Metáfora de Domínio Específico: Utiliza uma API com temática de tecidos e magia (ex: Matter, Spells, Mana, Loom, Weave) para descrever transformações de eventos e inscrições. - Gerenciamento de Estado: Suporta eventos com estado via o atributo [HasState], que lembra o último valor e o reproduz para novos inscritos. A biblioteca tem como alvo o .NET 8.0 e é particularmente adequada para o desenvolvimento de jogos, tendo sido utilizada no Unity e estando atualmente em processo de portabilidade para o Godot.