I believe what you are saying is correct, yes. Can you point me in the direction of utilizing umodel in the way you are so that I can access the debug mode and input the correct scale values myself to see? The model should be tiny. It would match up with the rest of the lazy practices that project soul has used-- it's literally just the SCV skeleton with some scaling on it.
Once you get the code running in VS Code you can uncomment "define DEBUG_SKELMESH 1" to see the scale for each bone or write your own print function.
I did try hardcode a few bones in Umodel but I couldn't get it to work. Bones like UPPER_SCALE__group and HAND_L_SCALE__group usually have the same scale across all models. If I could figure out how to hardcode these adjustments the function could be fixed
What I did instead is:
>Exported the unscaled tiny skeleton model into blender from 3dsMax.
>unparent the mesh
>input all the scale values for the bones in pose mode
>apply all the scales
>reparent the mesh with empty groups
This creates a binding with no problems at all. You could write a python script to do this automatically and just copy and paste the scale values umodel prints out into it.
Unfortunately I haven't been able to even get a compiled umodel.exe to work at all. If you could PM me a zip of your debug umodel, that would be a lifesaver.
Honestly, I think the completely unscaled model is what will work for modding, because the game seems to apply the scaling when the model loads. I'm pretty sure the SCV skeleton is what is being used. What you describe for perfect rigs would be great for those wanting to get ahold of the models as they appear in game, but I
believe that the game uses SCV assets and scales them to have better proportions in game, so that beings aid, the unscaled skeleton (tiny, like you say) is what we should be using to make mods.
I've been trying to make the SCV skeleton work, but alas the scaling problem with that is that you need to scale up by 10, and that creates the opposite problems in game (spaghetti limbs)
That being said, if there is some reason you're opposed to sending me the debugged umodel, a raw unscaled skeleton might be super useful for me as well if you'd rather send me that.