Bluescape: Table of Contents

Background Grid

One problem our users often encountered with an infinite canvas is orienting themselves in a new, blank workspace or a currently unpopulated region of an existing workspace. A background grid can help provide a sense of scale and movement when panning across an otherwise empty void. We can draw a static background and scale it up and down with the zoom, but this becomes unhelpful (and potentially a performance issue) outside of a fairly narrow zoom range (eg +/- 100%). As Bluescape supports a zoom range from 1600% to < 0.01%, we needed a dynamic background grid.

As discussed in the section on Navigation, the mathematical relationship is logarithmic.

One of my innovations was to couple the arrow key “nudge” distance to the current background grid cell size. This prevents two problems that manifest with other approaches: 1) imperceptibly small movements when zoomed out and 2) giant movements when zoomed in. Some systems solve this problem by always nudging in screen-space, but this often results in undesirable fractional coordinates and/or the need to manually re-snap to guides.