docs: public static float[] getHSVArray(int r, int g, int b) {
          float[] hsv = new float[3];
  
          float rf = r / MAX;
          float gf = g / MAX;
          float bf = b / MAX;
  
          float minRGB = Math.min(rf, Math.min(gf, bf));
          float maxRGB = Math.max(rf, Math.max(gf, bf));
  
          float computedH = 0;
          float computedS = 0;
          float computedV = minRGB;
  
          // Black-gray-white
          if (minRGB != maxRGB) {
              // Colors other than black-gray-white:
              float d = (rf == minRGB) ? gf - bf : ((bf == minRGB) ? rf - gf : bf - rf);
              float h = (rf == minRGB) ? 3 : ((bf == minRGB) ? 1 : 5);
              computedH = 60 * (h - d / (maxRGB - minRGB));
              computedS = (maxRGB - minRGB) / maxRGB;
              computedV = maxRGB;
          }
  
          hsv[0] = computedH;
          hsv[1] = computedS;
          hsv[2] = computedV;
          return hsv;
      }