I don't believe a software project is ever truly finished. Right now I'm just writing it against what packs are out there. If you or any others add additional tags to portraits then I'll filter on anything that's reasonable. Only preference would to never rely on position. I don't want to see "(Brown, Tan, Huge, Flat)", with there being some expectation that it's hair, skin, tits, ass. I could handle it, but I think it's less intuitive for users and more restrictive in what each pack creator does. "Brown, TanSkin, HugeTits, FlatAss" would be much preferable. I can handle that in any sort of ordering, any sort of separators, could even be directory names instead of in the file. Can optionally be more specific too for hair, BrownHair. Can also specify multiple if it's kind of in between.
After that there is still always room for improvement. Could add an in-game UI to customize the priority of the filters.
Had thought about a weighted system, where it wasn't a hard filter, but instead a preference for a match. Probably still best to do hard filter on race and sex, and probably age, but if it also starts trying to match on everything else, then determining priority probably be personal preference. If instead it gave a score based on how much each feature matched, with optionally priority for each, so that way if one pic matches skin and hair, while another matches skin and tits, and another matches hair and ass, those 3 could maybe have equal footing. Rather than it filtering on hair, and removing the one that matched skin and tits. Also with user preferences, someone could say they want the tits to match more than anything else. Then even if it can't match the ones they consider less important, it'd always match the tit size.
As mentioned, I'd also like an option to re-scan for portrait. Helpful if you add more packs, or have modified the character, or just didn't like what it rolled and still too lazy to manually select one.
roadmap wise, I'll probably add things in roughly this order:
- Rudimentary tits and ass filtering.
- Weighted system for hair, skin, tits, and ass matching. Weights hard coded in the code, but could edit them before applying the mod.
- Re-scan button on Customization page.
- Edit weights/priority from UI.
#1 probably be done tonight/tomorrow. #2 maybe also be done tomorrow, but probably later. #3 means figuring out how to use modding system to modify UI and instead of wholesale replacing something, inserting into it. Probably tackle it more on the weekend. #4 might never happen, depending on how hard #3 is, and how painful I find GDScript plus the rest of the code base.