Hi @david_j and welcome to the forum!
I think IK in Armory in general needs more work, so that would probably be outside of what is doable at the moment.
@Didier probably knows more about the state of the IK in Armory, and he has done some work writing his own and combining it with machine learning. Lots of potential there once it develops enough for general use.
Armory uses Bullet for physics and is capable of using mesh shapes for collisions instead of the basic primitives.
Armory cannot load assets from Blend files at runtime, but it has its own proprietary ( not closed source, just specific to Armory ) format that it uses for scenes. I have some work-in-progress effort on exporting projects as “Mods” that can be loaded dynamically at runtime. Each “Mod” is made in Blender just like the game itself. See my post:
The implementation has fallen a bit out of date and will needs a bit of rework to get it working with the latest Armory version. Hopefully it will be able to get merged into Armory core when I can get it updated. I’ll need to find some time and get confirmation that that is a possibility for it to get merged from @lubos before any more work is done on that.
Luckily, right now, that is the most reliable and mature way to create 2D UI in Armory. ArmorPaint’s UI is a prime example of what you can accomplish, and all of it is generated by Haxe code, so you should be set on that front.
For something like a cloth simulation, you should be fine. You have to bind the C/C++ library to Haxe, but I’ve got a nearly complete set of PRs for automatically generating the bindings based on a WebIDL file that defines the interface to the C/C++ API. For the development build of the game it uses Emscripten to compile the library to JavaScript, so the library would have to be compatible with Emscripten. As long as it doesn’t do anything super weird I think it should be fine. There are plenty of entire video games that have been compiled to JavaScript with it.
We are planning on migrating the Bullet Physics bindings to the new system from the manually written bindings that we are currently using. Right now the auto-binder pretty much works as far as I can tell, but before it can get merged we are waiting for a newer pre-release of Haxe, because the latest one that the binder depends on has some glaring issues elsewhere.