code: function rectPoint(progress) {
    if (progress <= 1 / 8) {
      return [1, 0.5 + progress * 4];
    }
    if (progress <= 3 / 8) {
      return [1.5 - 4 * progress, 1];
    }
    if (progress <= 5 / 8) {
      return [0, 2.5 - 4 * progress];
    }
    if (progress <= 7 / 8) {
      return [4 * progress - 2.5, 0];
    }
    return [1, 4 * progress - 3.5];
  }
docs: TODO don't do this