Output
Visualization
Encrypt: arrange plaintext in a staircase (rows of width W, each row indented by one column). Read column by column to get an intermediate string. Arrange the intermediate in a fresh staircase the same way and read by columns again. The result is the ciphertext.
Decrypt: reverse both passes. Fill a staircase column by column with the ciphertext, read row by row to recover the intermediate, then repeat to recover the plaintext.
Runs & key: when Runs > 1, the permutation is iterated. With a key set, each round first applies a Vigenère shift (key letters A=0, B=1, …) before the staircase permutation. The round key is the base key rotated by the round index, so each round uses a different shift sequence. Decrypt must use the same W, Runs and key.