node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



Take a continuous ndarray and, given a set of "observable" positions, automatically add and remove chunks as required.

Use this for painless chunk management with one or more visible perspectives.


npm install continuous-observer


observe = require('continuous-observer')(field[, range[, linger]])

Returns a function that can be used to update the chunks in use, given a continuous ndarray (field). Optionally:

  • range is the amount of surrounding chunks to include. Defaults to 1.
  • linger is the amount of surrounding chunks to not remove when cleaning up. Defaults to range, and cannot be set to below range.


points is an array of arrays, with each array representing an observer's position. Can also handle a single array as well, if you're only using one observer.

// Create a continuous ndarray with 32x32 chunks 
var field = require('ndarray-continuous')({ shape: [32, 32] })
// Create the observer 
var moveTo = require('continuous-observer')(field, 1, 2)
// "Move" the observer to the origin 
moveTo([0, 0])
// Ahead one chunk 
moveTo([32, 32])
// Ahead another chunk - this will remove 
// some of the older chunks. 
moveTo([32, 32])
// Including another observer just involves 
// adding another position to the array. 
moveTo([[32, 32], [0, 0]])