Being able to do instances of objects...
I've just tested with ThreeJS/JavaScript and it is possible to do so -- absolutely.
In fact, the name of the mesh (obj's 'o' key) is retained, where, you can access it by the child's .name property. From there you can then translate, rotate, scale etc...
The caveat in going that route is, of course, the missing "IDE" but other than that, the plumbing work in ThreeJS is already there.
EDIT:
Just noticed that .PickChildren is also available for Q3DModel plugin (that loaded .obj files) but doesn't expose the .name property. Why?!
EDIT 2:
I see why. The OBJLoader.js included in Q3D is actually a different implementation than Three.js and only accounts for vertices, normals, uvs and disregards the rest [strike](including object names).[/strike] Perhaps this was done to allow certain use cases in the C2 editor that, over time, was never meant to be.
EDIT 3:
Oops. Not true, the object name supposedly looks like it is saved... Now curious as to why it isn't available.
EDIT 4:
Aha... it's because it was a design decision. Okay, question answered.
cjbruce
I don't think we'll ever get that feature in the current Q3D -- despite it being perfectly doable in actual ThreeJS + JavaScript. That is, unless some major work is done to the OBJLoader (and some other implementation files).
*sigh* what a downer.