         scene    : required    # {opts:?, obj:?} or url from which to download (via ajax) a JSON string that parses to {opts:?,obj:?}
         element  : required    # DOM element to attach to
         timeout  : 30000       # milleseconds for timing out fetchs
-        callback : undefined   # callback(error, scene object)
+        callback : undefined   # callback(scene object, error)
     # Render a 3-d scene
 
     create_scene = (scene) ->


        scene.opts.parent = opts.element

        scene.opts.callback = (error, sceneobj) ->
            if not error
                if scene.obj?
                    sceneobj.addObj scene.obj
                sceneobj.finalize()
            opts.callback? error, sceneobj

        new Math3dThreeJS scene.opts



        if opts.in_frame
            @_initPointHelper()
            @_pointHelperVec.set opts.loc...
            @updateBoundingBox @_pointHelper

        opts.radius = opts.size/1200
