ctors[i] += 1/20;
            } else if (gamepad.axes[1] < -0.5) {
              scrollFactors[i] -= 1/20;
            } else if (gamepad.axes[0] > 0.5) {
              scaleFactors[i] = Math.min(scaleFactors[i] *= 1.02, 100);
            } else if (gamepad.axes[0] < -0.5) {
              scaleFactors[i] = Math.max(scaleFactors[i] /= 1.02, 0.01);
            }
          }
        }

        lastAxis[0] = axes[0];
        lastAxis[1] = axes[1];
      }
    }
  };
  _updateIntersections();

  const _updateBut