À propos du projet

rzeka est un bus d'événements mono-thread pour C# conçu pour découpler les composants en leur permettant d'émettre et de réagir à des événements typés sans détenir de références directes les uns envers les autres. Construit sur Rx.NET, sa principale caractéristique distinctive est le suivi de la causalité, qui enregistre la chaîne d'événements ayant conduit à tout événement spécifique. Les fonctionnalités clés incluent : - Suivi de la causalité : Chaque événement transporte un enregistrement de sa chaîne causale, permettant aux développeurs de retracer l'origine des comportements du système. - Débogueur Eris : Un débogueur basé sur navigateur qui se connecte via WebSocket pour visualiser le flux d'événements et les messages en temps réel pendant l'exécution de l'application. - Conception mono-thread : Assure la cohérence du suivi des circonstances et des transitions d'état, avec des limites définies pour la gestion des opérations asynchrones. - Métaphore spécifique au domaine : Utilise une API sur le thème du textile et de la magie (par exemple, Matter, Spells, Mana, Loom, Weave) pour décrire les transformations d'événements et les abonnements. - Gestion d'état : Prend en charge les événements avec état via l'attribut [HasState], qui mémorise la dernière valeur et la rejoue pour les nouveaux abonnés. La bibliothèque cible .NET 8.0 et est particulièrement adaptée au développement de jeux, ayant été utilisée dans Unity et étant actuellement portée vers Godot.