   { horizontalPaletteBlend, "Horizontal Palette Shift" },
   { spiral1,                "Spiral 1" },
   { spiral2,                "Spiral 2" },
+  { spiralPath1,            "Spiral Path 1" },
   { wave,                   "Wave" },
+  { life,                   "Life" },
+  { pulse,                  "Pulse" },
   { rainbow,                "Rainbow" },
   { rainbowWithGlitter,     "Rainbow With Glitter" },
   { confetti,               "Confetti" },

  HeatColors_p,
  LavaColors_p,
  PartyColors_p,
};

uint8_t paletteCount = ARRAY_SIZE(palettes);

    return 0;
}

void spiralPath(uint8_t points[], uint8_t length)
{
    static uint8_t currentIndex = 0;
    
    dimAll(255);
    
    leds[points[currentIndex]] = ColorFromPalette(currentPalette, gHue, 255, BLEND);
    
    EVERY_N_MILLIS(20)
    {
        currentIndex++;
        
        if(currentIndex >= length)
            currentIndex = 0;
    };
}

uint8_t spiralPath1Arms[] = 
{
    11, 25, 38, 51, 64, 74, 83, 65, 40, 28, 2,
    16, 29, 42, 55, 68, 85, 56, 44, 19, 32, 45,
    58, 70, 87, 59, 47, 22, 9, 23, 36, 49, 62,
    72, 91, 63, 38, 13, 26, 39, 52, 65, 75, 91,
    66, 54, 29, 3, 17, 30, 43, 56, 77, 86, 69,
    45, 20, 7, 21, 34, 47, 60, 71, 88, 61, 49,
    24, 37, 50, 63, 73, 82, 64, 39, 14, 1, 15,
    28, 41, 54, 67, 76, 55, 30, 18, 31, 44, 57,
    69, 78, 93, 70, 46, 34, 8, 22, 35, 48, 61,
    80, 89, 90, 73, 51, 26, 0, 14, 27, 40, 53,
    66, 84, 97, 98, 77, 57, 32, 6, 20, 33, 46,
    59, 79, 94, 95, 80, 62, 37
};

const uint8_t spiralPath1Length = ARRAY_SIZE(spiralPath1Arms);

uint8_t spiralPath1() 
{
    spiralPath(spiralPath1Arms, spiralPath1Length);
    return 0;
}

// Params for width and height
const uint8_t kMatrixWidth = 10;
const uint8_t kMatrixHeight = 10;
