             else
                 console.log "ERROR: bad object type #{opts.obj.type}"
 
-        if opts.set_frame?
-            @set_frame opts.set_frame
-
         @render_scene true
 
     animate: (opts = {}) ->

    # always call this after adding things to the scene to make sure track
    # controls are sorted out, etc.   Set draw:false, if you don't want to
    # actually *see* a frame.
    set_frame: (opts) ->
        opts = defaults opts,
            color     : @opts.foreground
            thickness : .4
            labels    : true  # whether to draw three numerical labels along each of the x, y, and z axes.
            fontsize  : 14
            draw      : true

        ###
        if Math.abs(x1 - x0) < eps
            x1 += 1


    # client code should call this when done adding objects to the scene
    finalize: ->
        @set_frame()

        if @renderer_type isnt 'dynamic'
            # if we don't have the renderer, swap it in, make a static image, then give it back to whoever had it.
