         \\begin{picture}(#{@width},#{@height})%
           \\put(0,0){\\includegraphics[width=#{@width}\\unitlength]{\\currfiledir #{relativeDir ? ''}#{basename}}}%
     """]
-    for row, i in @tiles
-      for tile, j in row
+    for row, i in @symbols
+      for symbol, j in row
         {x, y} = @coords[i][j]
-        for text in tile.text
+        for text in symbol.text
           tx = parseNum(text.getAttribute('x')) ? 0
           ty = parseNum(text.getAttribute('y')) ? 0
           content = (

    help()

svgtiler = {
  Tile, unrecognizedTile,
  Mapping, ASCIIMapping, JSMapping, CoffeeMapping,
  getMapping, runWithMapping,
  Drawing, AutoDrawing, ASCIIDrawing,

    @mappings.doBeforeRender @
    missing = new Set
    cache = new Map
    ids = new Set
    @symbols =
      for row, i in @drawing.keys
        for key, j in row
          currentContext.move j, i
          symbol = @mappings.lookup key, currentContext
          unless symbol?
            missing.add key
            symbol = unrecognizedSymbol
          ## Check cache by symbol value if it's a string (e.g. filename,
          ## to avoid loading file again), and by computed SVG string
          ## (in case multiple paths lead to the same SVG content).
          if typeof symbol.value == 'string' and
              (found = cache.get symbol.value)?
            symbol = found
          else
            symbol.makeSVG()
            unless symbol.value == symbol.svg
              if (found = cache.get symbol.svg)?
                symbol = found
              else
                cache.set symbol.svg, symbol
            cache.set symbol.value, symbol
          ## Include new <symbol> in SVG
          unless found?
            symbol.setId @id key unless symbol.id?  # unrecognizedSymbol has id
            svg.appendChild symbol.useDOM()
            if ids.has symbol.id
              console.warn "Multiple symbols with id '#{symbol.id}': This shouldn't happen, and SVG likely won't load correctly."
            else
              ids.add symbol.id
          symbol
    currentContext = null
    missing = ("'#{key}'" for key from missing)
    if missing.length
