The Lodge Project & Learning Iced
The Lodge Project
So I briefly mentioned The Lodge in my intro post, which is a little side project I'm attempting to build chat software, but with the ability to work like The Palace. This was a chat I frequented when I was younger quite a bit, so this is definitely heavily nostalgia fueled. I do hope to try to make the protocol & software flexible and not limited to visual/spatial based. I started with basic protocol & a TUI app, and only recently started playing with the Rust iced GUI library. The server, client, & protocl have at least the basic functional bits for chat rooms & anonymous users connecting. I'm hoping to get more TUI/GUI work done before extending things further. My ADHD is a little at play too since the TUI isn't quite complete enough for basic use beyond a default room, but wanted to play with GUI 😄. The current TUI in a tmux session with the server:

GUI Status
I recently started the iced GUI for Lodge & focusing on getting some core basic stuff rendering. This is my first attempt at learning iced & how to do some custom rendering in particular in it. It currently looks like this:

Tricky Bits
I'm still waffling on how to render the users in the viewport, as there's pros/cons of a few different ways of doing this and it's a little frustrating. For example, I'm currently using a sprite sheet from a palace client clone I found online for the smilies, but there seems to be only one built-in way to render a single sprite from a sheet in iced that I can tell, which is the image widget. Using a widget for a more game/arbitrarily laid out UI seems kinda funky. So it's a bit of a toss up of what seems more awkward to use for this. Part of me wonders if the viewport should be entirely WGPU or some other raw rendered thing. There's also I think benefits to the widget approach like input might be a bit simpler, though current plans for input are pretty limited for the viewport.
Hopefully I find some more time soon to continue working on this & get some basic functional UI up so I can wire the actual client code in & attempt to actually chat, maybe soon!