   leftPixelPositionForScreenPosition: (row, column) ->
     tokenizedLine = @model.tokenizedLineForScreenRow(row)
     return 0 unless tokenizedLine?
-
-    if cachedPosition = @cachedPositionsByLineId[tokenizedLine.id]?[column]
-      return cachedPosition
 
     lineNode =
       @lineNodesProvider.lineNodeForLineIdAndScreenRow(tokenizedLine.id, row)


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


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

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

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