 
     if textNode?
       foundIndexWithinTextNode ?= textNode.textContent.length
-      @cachedPositionsByLineId[tokenizedLine.id] ?= {}
-      @cachedPositionsByLineId[tokenizedLine.id][column] =
-        @leftPixelPositionForCharInTextNode(lineNode, textNode, foundIndexWithinTextNode)
+      @leftPixelPositionForCharInTextNode(lineNode, textNode, foundIndexWithinTextNode)
     else
       0
 

module.exports =
class LinesYardstick
  constructor: (@model, @presenter, @lineNodesProvider) ->
    @cachedPositionsByLineId = {}
    @tokenIterator = new TokenIterator
    @rangeForMeasurement = document.createRange()

  clearCache: ->
    @cachedPositionsByLineId = {}

  prepareScreenRowsForMeasurement: (screenRows) ->
    @presenter.setScreenRowsToMeasure(screenRows)
    @lineNodesProvider.updateSync(@presenter.getStateForMeasurements())

  cleanup: ->
    @presenter.clearScreenRowsToMeasure()
    @lineNodesProvider.updateSync(@presenter.getStateForMeasurements())

  measure: (screenRows, fn) ->
    @prepareScreenRowsForMeasurement(screenRows)
    fn()
    @cleanup()

  pixelPositionForScreenPosition: (screenPosition, clip=true) ->
    screenPosition = Point.fromObject(screenPosition)

  leftPixelPositionForScreenPosition: (row, column) ->
    tokenizedLine = @model.tokenizedLineForScreenRow(row)
    return 0 unless tokenizedLine?

    lineNode =
      @lineNodesProvider.lineNodeForLineIdAndScreenRow(tokenizedLine.id, row)
