private Sprite scaffoldFor(int size, int high, float condition) {
    if (size == 1) return SCAFF_MODELS[0].makeSprite() ;
    if (condition < 0) condition = 0 ;
    if (condition > 1) condition = 1 ;
    final int stage = scaffoldStage(size, high, condition) ;
    //
    //  Otherwise, put together a composite sprite where the number of mini-
    //  scaffolds provides a visual indicator of progress.
    final GroupSprite sprite = new GroupSprite() ;
    final Model base = SCAFF_MODELS[Visit.clamp(size, SCAFF_MODELS.length)] ;
    sprite.attach(base, 0, 0, 0) ;
    final float xoff = (size / 2f), yoff = (size / 2f) ;
    int numS = 0 ;
    //
    //  Iterate over the entire coordinate space as required-
    loop: for (int z = 0 ; z < high ; z++) {
      final float l = z * 1f / high, h = z - (l * l), i = z / 2f ;
      for (int x = 1 ; x < (size - z) ; x++) {
        for (int y = 1 + z ; y < size ; y++) {
          if (++numS > stage) break loop ;
          sprite.attach(
            SCAFF_MODELS[0],
            x + i - xoff,
            y - (yoff + i),
            h
          ) ;
        }
      }
    }
    return sprite ;
  }