Об этом проекте

rzeka представляет собой однопоточную шину событий для C#, разработанную для развязки компонентов, позволяя им генерировать типизированные события и реагировать на них без прямого взаимодействия друг с другом. Построенная на базе Rx.NET, ее главной отличительной особенностью является отслеживание причинности, которое фиксирует цепочку событий, приведших к любому конкретному событию. Ключевые особенности включают: - Отслеживание причинности: каждое событие несет запись о своей причинно-следственной цепочке, что позволяет разработчикам отслеживать происхождение поведения системы. - Отладчик Eris: браузерный отладчик, который подключается через WebSocket для визуализации потока событий и сообщений в реальном времени во время работы приложения. - Однопоточный дизайн: обеспечивает согласованность отслеживания обстоятельств и переходов состояний с определенными границами для обработки асинхронных операций. - Доменная метафора: использует API в тематике текстиля и магии (например, Matter, Spells, Mana, Loom, Weave) для описания трансформаций событий и подписок. - Управление состоянием: поддерживает события с состоянием через атрибут [HasState], который запоминает последнее значение и воспроизводит его для новых подписчиков. Библиотека ориентирована на .NET 8.0 и особенно подходит для разработки игр; она использовалась в Unity и в настоящее время переносится в Godot.