             # Exception: Children with invisible bounding boxes
             # should remain invisible. This matters
             # mainly for indents starting at the end of a line.
-            unless size.width is 0
-              @dimensions[desiredLine].width += size.width +
-                childNode.margins.left + childNode.margins.right
+            @dimensions[desiredLine].width += size.width +
+              margins.left +
+              margins.right
 
             # Compute max distance above and below text
             @distanceToBase[desiredLine].above = Math.max(
               @distanceToBase[desiredLine].above,
-              distanceToBase[line].above + firstTop)
+              distanceToBase[line].above + margins.top)
             @distanceToBase[desiredLine].below = Math.max(
               @distanceToBase[desiredLine].below,
-              distanceToBase[line].below + lastBottom)
+              distanceToBase[line].below + margins.bottom)
 
         # Height is just the sum of the above-base and below-base counts.
         # Empty lines should have some height.

      # no multiline children, either)
      computeChildren: ->
        @multilineChildrenData = [NO_MULTILINE]
        return 1

      # ## computeDimensinos
      #

          @margins =
            top: padding
            bottom: @view.opts.indentTongueHeight
            
            firstLeft: 0
            midLeft: @view.opts.indentWidth + @view.opts.padding
            lastLeft: @view.opts.indentWidth + @view.opts.padding

            firstRight: 0
            midRight: 0
            lastRight: padding

        else if parenttype is 'block' or (
            parenttype is 'socket' and @model.type is 'text')
          @margins =
            top: padding
            bottom: padding

            firstLeft: padding
            midLeft: padding
            lastLeft: padding

            firstRight: padding
            midRight: padding
            lastRight: padding
        else
          @margins = {
            firstLeft: 0, midLeft:0, lastLeft: 0
            firstRight: 0, midRight:0, lastRight: 0
            top:0, bottom:0
          }

        for childObj in @children
          @view.getViewNodeFor(childObj.child).computeMargins()

        return null
      
      getMargins: (line) ->
        margins =
          left: @margins.midLeft
          right: @margins.midRight
          top: 0
          bottom: 0

        if line is 0
          margins.top = @margins.top
          margins.left = @margins.firstLeft
          margins.right = @margins.firstRight

        if line is @lineLength - 1
          margins.bottom = @margins.bottom
          margins.left = @margins.lastLeft
          margins.right = @margins.lastRight

        return margins

      # ## computeDimensions
      # Compute the size of our bounding box on each
