fatuilog 2: 0.1.0
silly, but now usable!
mood: accomplisheddevlogfatuiwork thus far can be summed up as "the bare minimum". i'm calling where it is now "0.1.0", the traditional first rust version, because it finally has each of the utterly necessary features:
-
trait Backend
, an abstraction layer over the raw input and output. it offers a method,step
, to get the next– -
–
struct Frame
, representing the next input and a place to render to -
the most basic possible way to split
Frame
s into sub-frames, and to render to those sub-frames - a functional terminal backend so you can see your code working
obviously, there's still a lot of work to do, but… yeah! it works! and the basic abstraction is pretty solidly established!
accordingly, i've put up a project page, published the crate, and gotten myself some pizza as a treat. not in that order. it was a preemptive treat.
there's not a ton else to say, honestly. thanks to the magic of the rust ecosystem you can read the docs online, which explain how to use what's available now. you can also:
cargo install fatui --example fatui-mouse
and then run fatui-mouse
in the terminal of your choice
for a fun, pretty demo of fatui watching mouse inputs!
(hit ctrl+c or escape to quit it.)
but all the work up to this point has been establishing a skeleton. there's not a meaningful increment of work since the last post because the last post was "here's a cool idea i've started working on".
up next, in no particular order:
-
trait Splitter
, the higher-level abstraction for cutting upFrame
s -
trait Element
, for building reusable tui components -
a few "stock" implementations of both
and, in particular, a
tfmt!
macro for formatted text
ought to be fun!