WLED - custom scripts

Hi!
Just wondering if someone more knowledgable than me might be able to give some pointers before I get started…

I have 4 vertical strips of LEDs… all different lengths… 1m, 1.2m, 1.3m, 1.4m
I would like to run an effect on these when the user presses a button.

I’d like the leds to light up 1 after the other along the length, so extending from the bottom up.
I’d also like there to be a delay of 0.5seconds before running the same effect on the next strip and so on.
The LEDs should stay on when they get to the end of their run.
So I’d effectively have something like this.

X
X X
X X X
X X X X
X X X X
X X X X

When the user presses the button again, I’d like the whole effect to be reversed… i.e. they all make their way back down to the bottom of the vertical strips.

Can WLED handle such scripts… and if so, is that something customisable within WLED?
I’m assuming if it is, I could then just have a automation on a toggle switch in HA, to trigger the each effect.

Thanks for any pointer you can given.
Looking forward to getting started.