   SVG = world.SVG()
 
   draw_self = (world) ->
-    assert !world.has_children()
-    #console.log "draw_self #{world}"
+    console.log "draw_self #{world}"
     dict = {
       class: world.labels(['draw', 'self'])
       stroke: world.get 'stroke'

    }, world.bind() -> world.get('name')
    elements
    
  draw_children = (world) ->
    world.map_children(draw_world) if world.has_children() 

  draw_world = (world) ->
    #console.log "draw_world #{world} kids:#{world.has_children()}", world
    dict = {
      class: world.labels(['draw', 'world'])
      transform: world.bind() -> world.get('transform')

    clicker = world.get_raw 'click'
    dict['click'] = -> clicker(world) if clicker? and !world.has_children()
    SVG.g dict, world.bind() ->
      paths = draw_self(world)
      paths = [] unless paths?
      child_paths = draw_children(world)
      child_paths = child_paths.all() unless _.isArray(child_paths)
      for child in child_paths
        paths.push child
      paths

  #console.log world
  device_width = world.get('device_width')
