Automatically add and remove chunks from continuous ndarrays as required.

Usage no npm install needed!

<script type="module">
  import continuousObserver from '';



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]])