Nice job, I have no idea how you keep making these good looking UI things.
Thank you!
Here's how I approached this problem:
1. Visualise it once or twice in my head
2. Draw a prototype on paper (original had 3 columns, left cargo, right ships, middle control buttons)
3. Implement the prototype in Starsector (minor adjustments made on the go)
4. Use the implementation in game, noting down rough edges (main sticking point was if storage had either only cargo or only ships, half of screen was useless)
5. Address shortcomings (come up with a pane idea, button that swaps between cargo and ship view)
6. Draw another sketch on paper and rework prototype in game
7. Apply some more usability fixes (e.g. add colors to buttons depending on state)
8. Clean up code and release
It helps out knowing what is possible (from Starsector API point of view) possible and not when it comes to UI.
At the same time it is not necessary knowledge, as you will learn and will need to adapt your grand design (point 2) to reality (point 3).
Would you consider adding a config option to make this a "readonly" mod, essentially disabling the courier part of the mod but leaving the storage display and filtering?
Having a version (or config) that serves only as a way to view what stuff you have and where would be a pure QoL mod without affecting the balance of exploration, serving a different niche with, I think, fairly minor coding effort (basically just need to hide some buttons?).
Done & done, "allowTransfer" boolean in "data/config/settings.json" will hide all transfer buttons.
Will be released in a day or two with one more bugfix. Will be released when I finish the new functionality - Find Location. "Find Location" will work similarly to "Request cargo/ships", but instead of transferring will show (probably new intel tile) which storage (and what quantities) contains the desired items/ships.