Well, I have fixed almost all of the issues relating to different quad sizes and mesh instance node scales. Most of the issues stemmed from the process of translating from world space to viewport space, and how drag events events are calculated. Honestly the code was kinda a mess.
(Sadly, I was the one that ported the demo from Godot 2.0 -> Godot 3.0, so... :sweat_smile: )
I've cleaned up the code and made some changes so it works with different mesh sizes and with scaled nodes. The only thing that is not working 100% is drag events, as a normal InputEvent does not provide quite enough data to make a completely transition, so the code has to fill in the gaps a bit which can lead to strange behavior with scaled nodes. But other than that, now the demo should work with varying quad and viewport sizes.
Unfortunately, I'm stuck having to make a Linux virtual machine on my computer because Windows is having really strange file case issues with one of the materials in the IK demo, which is preventing me from making a pull request. As far as I can tell, the way to resolve strange file case issues on Windows is to use another OS instead of Windows, which is not terribly helpful.
But now I'm installing Ubuntu on a virtual machine, so it should work from there. I just wish it didn't take a couple hours of researching and attempting fixes to get there, but ah well. Anyway, the PR should be up soon!
Edit: Okay, the pull request is submitted. It should work with different viewport sizes, quad sizes, and it mostly works for scaled nodes. Hopefully it will fix the majority of the issues the old version had :smile: