SheetSmith Rust Library/CLI banner

SheetSmith Rust Library/CLI

4 devlogs
12h 57m 36s

A sprite sheet packer written in Rust. It takes a directory of images and packs them into a single sheet. Will be able to create meta files for Unity and allow you to compress your sprites! I’m sorry there’s no web demo but what can i do really 🥲

This project uses AI

GitHub Copilot Code Completions and some allocation sorting by Claude!

Demo Repository

Loading README...

Lazyllama

Back again with another banger, this time we’ve got working UI and published crates on the table. It became apparent crates.io was very necessary, so I’ve gone ahead and published all three of the packages over there!

https://crates.io/crates/sheetsmithcli
https://crates.io/crates/sheetsmithgui
https://crates.io/crates/sheetsmithlib

The UI now also works and the entire project has gotten slightly improved error handling and descriptiveness, the GUI also shows very simply what went wrong as well as how long the procedure took. I hope this is appreaciated! <3

Attachment
Attachment
0
Lazyllama

After looking at the feedback from the last ship, It’s obvious I need to make it more easily usable, and to do that I’ll begin by making a GUI version of the app.

I started off by looking for a UI library and decided to use egui over Iced cause the demos made it look like the obvious choice, no regrets so far.

I’m also planning on releasing this to crates.io before the next ship since that also seemed like an important feature that was missed by the reviewers.

The UI doesn’t actually do anything currently, but thats just a matter of taking all the variables shoving them into the lib package with some kind of user feedback to let them know of any issues or if its succeeded. The struct is already setup so should be a straight road from here!

Attachment
0
Lazyllama

Shipped this project!

Hours: 8.37
Cookies: 🍪 110
Multiplier: 13.19 cookies/hr

I think my last devlog summed it up pretty good but this is just a tiny bit of what this will become, I’ve never used rust so it’s quite a learning curve but more features are coming making it actually pretty usable, especially for those using unity! I’m pretty happy of what I’ve achieved in these few days and look forward to whats coming next!

Thanks,
Simon

Lazyllama

Hey again! I got pretty carried away with this project. I was just gonna make it to get the side-quest but then realized It’s something I actually would use, and now I’ve tried to make it as easy as possible to continue development.

There’s a lib crate now that handles the algorithm stuff and then a CLI cargo project that uses that crate and gives you an amazing way to interact with it with a very very pleasing help menu that gives you all the info you’d need and a CLI that actually tells you whats up when something goes to shite and not just “something went wrong”.

You can now input your own size exactly including padding although I do want to make it possible to exclude padding if you don’t want to calculate that yourself, this was necessary when making the project banner where the sheet wasn’t a perfect 1:1 square and rather a 7:2 rectangle. Came out perfect just like I wanted.

The sprites now sort alphabetically from the input directory, see the “/example” directory for a clear example of that. Made the README look a bit more professional (no AI i promise you) and added some guidance and stuff like that to make it more appealing and explanatory.

I think thats pretty much the most important stuff I did in this change, will ship now for the optimization sidequest so that I can focus on the rust sidequest! Never used rust in my life but coming from C# it feels pretty familliar, very very typesafe though, almost a tad much sometimes but rather that than no types am i right.

That was all from me! Any ideas or thoughts please leave them down below in the comment field, wouldn’t mind a star either 🙂

0
Lazyllama

I have to complete the optimization sidequest to be able to buy the 9950X3D, so I made something actually useful while also learning rust.

I never work with sprite sheets cause they usually are annoying and suck when your in unity, I’m gonna try to make them suck less. For today I got the base down, most time spent reading boring docs but that’s how you learn. I now have something in place that I mostly understand but I’m very clearly not all the way there yet.

It seems I got ahold of some really good dependencies for once, and PLEASE leave a comment if I’m doing something stupid cause this is not what I usually do.
For next time I’ll try to check off two of the things on my todo-list that will actually let me use this for my game, Fallen Scout (check that out btw).

Attachment
0