Q:

Multiple ColladaLoader loads fail. Is it thread safe?

I am trying to load multiple pieces simultaneously. Either only one piece shows up, correctly, or both pieces show up, with one correct and one incorrect. Here's my code:
var loader = THREE.ColladaLoader();

loader.load('model.dae', function colladaReady(result) {
    var piece = result.scene.children[0];
    piece.position.set(-100, 0, 0);
    scene.add(piece);

    renderer.render(scene, camera);
});

loader.load('model2.dae', function colladaReady2(result2) {
    var piece2 = result2.scene.children[0];
    piece2.position.set(100, 0, 0);
    scene.add(piece2);

    renderer.render(scene, camera);
});

A:

The reason is because ColladaLoader is not thread-safe, so multiple load() calls cannot be made on the same object. Simply create a new instance of ColladaLoader like so and all should work
var loader = THREE.ColladaLoader();

loader.load('model.dae', function colladaReady(result) {
    var piece = result.scene.children[0];
    piece.position.set(-100, 0, 0);
    scene.add(piece);

    renderer.render(scene, camera);
});

/*** Line added here! ***/
var loader2 = THREE.ColladaLoader();

loader.load('model2.dae', function colladaReady2(result2) {
    var piece2 = result2.scene.children[0];
    piece2.position.set(100, 0, 0);
    scene.add(piece2);

    renderer.render(scene, camera);
});

