docs/js/demo.js
function init( shouldResize ) {
    if (stopped) return;

    rects = [];
    gap = space.size.$subtract( 100, 100 ).divide( steps*2, steps );

    if (shouldResize) {
      var size = space.canvas.parentNode.getBoundingClientRect();
      if (size.width && size.height) {
        space.resize( size.width, size.height );
      }
    }

    for (var i = 0; i <= (steps * 2); i++) {
      for (var j = 0; j <= (steps); j++) {
        var rect = new Pt.Rectangle().to( 10, 10 );
        rect.moveTo( 50 - 5.5 + gap.x * i, 50 - 5.5 + gap.y * j );
        rect.setCenter();
        rects.push( rect );
      }
    }
  }
function init( shouldResize ) {
    if (stopped) return;

    rects = [];
    gap = space.size.$subtract( 100, 100 ).divide( steps*2, steps );

    if (shouldResize) {
      var size = space.canvas.parentNode.getBoundingClientRect();
      if (size.width && size.height) {
        space.resize( size.width, size.height );
      }
    }

    for (var i = 0; i <= (steps * 2); i++) {
      for (var j = 0; j <= (steps); j++) {
        var rect = new Pt.Rectangle().to( 10, 10 );
        rect.moveTo( 50 - 5.5 + gap.x * i, 50 - 5.5 + gap.y * j );
        rect.setCenter();
        rects.push( rect );
      }
    }
  }
function init ( shouldResize ) { if ( stopped ) return ; rects = [ ] ; gap = space . size . $subtract ( 100 , 100 ) . divide ( steps * 2 , steps ) ; if ( shouldResize ) { var size = space . canvas . parentNode . getBoundingClientRect ( ) ; if ( size . width && size . height ) { space . resize ( size . width , size . height ) ; } } for ( var i = 0 ; i <= ( steps * 2 ) ; i ++ ) { for ( var j = 0 ; j <= ( steps ) ; j ++ ) { var rect = new Pt . Rectangle ( ) . to ( 10 , 10 ) ; rect . moveTo ( 50 - 5.5 + gap . x * i , 50 - 5.5 + gap . y * j ) ; rect . setCenter ( ) ; rects . push ( rect ) ; } } }
create grid of rectangles
create grid of rectangles