Is just a rectangle packer and does not handle image data
Uses simple data types instead of traits like Sheep.
Once we have a rough algorithm working, it should be easy to publish it as its own crate and see if it works for Tarmac.
I opted to try for this experiment instead of contributing for Sheep for now because:
I want to understand this problem space better so that I can contribute positively to Sheep if we choose to. There are definitely things I'm missing and I want to discover them.
Sheep's "max rects" implementation looked difficult to impose the restrictions we need on it. We need PO2 textures, for sprites to not overlap, and to expand into more than one spritesheet image.
Sheep's "simple packer" also have none of the bounds/configurations we need
Closes #11.
This PR introduces a new rectangle packing library and uses it instead of sheep inside Tarmac.
I called it "Packos", a play on the name "Paxos". I guess you could think of this name as a fictional minor deity of rectangle packing algorithms.
Packos:
Once we have a rough algorithm working, it should be easy to publish it as its own crate and see if it works for Tarmac.
I opted to try for this experiment instead of contributing for Sheep for now because: