First, the minor bug. I have noticed from time to time that the mouse pointer fails to revert to the basic pointer after it modifies for a special task. I have seen it do this multiple times, and seen the pointer as multiple incorrect types while it should be the standard pointer.
Second, the optimization suggestion:
Inventory stacks appear to be depleted after searching from top-to-bottom, left-to-right. This will frequently leave small stacks in place, adding to inventory complexity.
As an example of this which is easily repeatable. collect 19 bottles of water. Create dirt-based fertilizer three times.
You will end up with the following stack progression:
1) Water: 5:5:5:4
Make fertilizer
2) Water 1:5:4 / Fertilizer 5:4
Now, use 4 fertilizer
3) Water 1:5:4 / Fertilizer 1:4
As you can see, we now require 5 inventory stacks, where there is only a need for 3.
This is not a 'bug' but it does have the potential to increase inventory handling requirements for the server, and it also has the potential to irritate players by generating lots of extra stacks.
I would suggest the following solution(s)
Solution 1: Always draw from the smallest stack of an item.
Solution 2: Auto-arrange stacks in a specific order based on stack size, and then draw from the stacks in the inverse order. For instance, if you auto-arrange stacks from left to right, largest stack to smallest stack, then draw from stacks right to left, so the smallest stacks will be depleted first.
I think Solution 1 is the cleanest solution, as it doesn't matter how stacks are arranged in inventory if the picks are managed by stack size and no other variable. Solution 2 would not draw from the smallest stacks if the player were to manually re-arrange them.
All that said, I must say I am enjoying the game! Thank you!