     super(options)
     @pause()
 
+    @_initial_state_info = {
+      range: null                     # set later by set_initial_range()
+      selection: {}                   # XXX: initial selection?
+      dimensions: {
+        width: @mget("canvas").get("width")
+        height: @mget("canvas").get("height")
+      }
+    }
+
     @model.initialize_layout(@model.solver)
 
     # compat, to be removed

          break
        yrs[name] = { start: rng.get('start'), end: rng.get('end') }
    if good_vals
      @initial_range_info = {
        xrs: xrs
        yrs: yrs
      }
      @_initial_state_info.range = @initial_range_info
      logger.debug("initial ranges set")
    else
      logger.warn('could not set initial ranges')

      _.delay(@resize, 10)

    @unpause()

    logger.debug("PlotView initialized")

