OpenCiv3 is an open-source, cross-platform, mod-oriented, modernized remake of Civilization III by the fan community built with the Godot Engine and C#, with capabilities inspired by the best of the 4X genre and lessons learned from modding Civ3.
It's a modern, reactive retained-mode terminal UI framework for .NET - composable visuals, binding-first state updates, proper measure/arrange layout, and a fast cell-buffer renderer with alpha-blended theming (truecolor 🎨 terminals look gorgeous!).
I have added 2 new features from the preview: placeholder and brush gradients usable with text controls! 🎨
I'm going to see if I can add an extension to XenoAtom.CommandLine library to generate beautiful command line help and I will be hopefully done with this entire sidetrack of projects! ☺️
I've started a project I call Weberknecht which is complementing the #CSharp Reflection API with full inspection of IL at runtime. If anyone has some experience with the ECMA standard, a sanity check would be appreciated. I left some TODOs.
Looking for a proper Roslyn C# MCP server, maybe https://github.com/kooshi/SharpToolsMCP ? (unfortunate that it does not come as a MCP server NuGet package). Any users of related tooling?
Making progress in implementing a full terminal UI with a SwiftUI like syntax and easy bindings (no dependency properties!). It supports console resize, mouse, hover, tab, focus, clipboard copy/paste and more! 🚀
Still a long way to go but it is already very cool! ✨
It keeps a familiar Console-like feel, but adds the terminal-native stuff System.Console doesn't cover well: ANSI/VT styling + markup, unified async input events (keys/resize/mouse/paste), restore-on-dispose scopes (raw/cbreak, alternate screen, hide cursor…), clipboard, a rich ReadLine editor, & testable backends, built on top of XenoAtom.Ansi ✨
C# protip:
System.IO.Path.PathSeparator is, in fact, not the separator character for file paths. It is the separator character in the PATH environment variable. The one I wanted was System.IO.Path.DirectorySeparatorChar