A C# Library that render TUI(Text User Interface) that handle mouse click and more
Ron D
Check their projects out: Ascend (Same project), Saving and Loading, Ascend (working title)
Laeth English
Check their projects out: Universe Simulator, 3DRenderer
Jorim
Check their project out: ESP32 Framework: Modular MIDI CC Input device driver (Go and C++)
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Added a Padding
class (just a quick wrapper), added underlining for input field, a exit button (again another quick wrapper) and design a nice menu for testing, and now you have this!!!
Some minor update:
- Fix unnecessary Console.Write
with no UI update
- Cache ANSI sequence generation for coloring string
- Make resize instantly reactive (instead require a mouse movement/keyboard click)
This took longer than expected due to debugging, but I now made Frame
class, so now you can put a frame around a component, or group of component!
Add Switcher
so it can switch between component group(which only possible after change made in previous devlog)
Add chain style to add attribute of component in a single line!!! (I love function chaining)
And now added the switcher and mounting to be autobuild
Added Mount
, Dismount
Uninit
etc. API to allow component to be modular and can be dismount from an component and mount to another (also discover some bug due to the new test application that was occuring with previous test that wasn't notice)
Fixed various bug that make multi-input field possible! (you might confused what the difference compare to the single field one, but that code wasn't able to properly test the active handler that control which component is active)
So now, it fixed some bug like deactiving the wrong component, and off by one error on the row/col for the cursor position.
Quick update: Added seperator component so now you can seperate between item, Like following:
Finishing TextLabel and make Button a subclass of TextLabel(since well, Button is just an interactive text label)
Add an alignment system for string, for aligning the text content in the component
Took me a little bit too long but finally got word wrapping handling working (include python and equivalent C# persumably)
Add a Button demo... And also the multi-button one!!!
Yes, I forgot to write a devlog for a single button but now you can also have this by implementing GroupComponent abstract class that support vertical and horizontal component and they finally link up to each other!!! I am so happy rn.
Add a button class, ANSI handling, adding some convenient class for coding and more... (Kind of forgot some of the thing I did because I jump around with random thought and then immediately go and change something for the whole 2h)
Don't have a demo yet for the button so here more code snippet on what I have done. You should see a demo next devlog
Add handler for mouse activity
Rewrite active component management
Add further abstraction and fix some incorrectly used access modifier
Ship 1
1 payout of
Updated:
- Pasting to input field
- Parsing value to fraction in exact form instead of calculating fraction base on non-precise double (64-bit)
- Add attestation to GitHub build and other build improvement
- Fixed default color wouldn't be consistent to potential updated color
Demo:
- Added new demo for testing what can parse for fraction
- Updated Prototype demo to have longer input field
Finally implement full build workflow to build the library and all the demo of the library
Add Fraction class for aspect ratio calculation for the component group such as containers
Update on BaseComponent:
- Add click event handler
- More rigorous lock checking
- Update Render logic to allow component to display animation
- Allow getting and setting parent(root) of the component
- Add active status handling
Finally fix Console weirdness ig
Trying to add Component
Writing some C# horror (X
Adding Console Size control which allow program to run with a different size than the terminal size