       #console.log code
       pirates?.settings = @settings
       @module = runWithMapping @, -> require filename
-      @load @module.default ? {}
+      super @module.default ? {}
       @walkDeps filename
     else
       ## But if file has been explicitly loaded (e.g. in browser),

  constructor: (@render, i, j) ->
    @drawing = @render.drawing
    ## Use @drawing to access these old properties:
    #@data = @drawing.data
    #@filename = @drawing.filename
    #@subname = @drawing.subname
    @move i, j if i? and j?
  move: (@i, @j) ->
    @key = @drawing.data[@i]?[@j]
  at: (j, i) ->
    if i < 0
      i += @drawing.data.length
    if j < 0
      j += @drawing.data[i]?.length ? 0
    new Context @render, i, j
  neighbor: (dj, di) ->
    new Context @render, @i + di, @j + dj

      _dirname = path.dirname _filename
      ## Use `new Function` instead of `eval` for improved performance and to
      ## restrict to passed arguments + global scope.
      #super eval code
      func = new Function \
        'exports', '__filename', '__dirname', 'svgtiler', 'preact', code
      runWithMapping @, ->
        func @module, _filename, _dirname, svgtiler,
          (if code.includes 'preact' then require 'preact')
      super @module.default
  walkDeps: (filename) ->
    deps = new Set
    recurse = (modname) =>
