(crossing fingers I one shot formatting correctly) I use 2-wise for figuring out which water surfaces to draw: ⍉l⊤⍸∊(chunk=¯1)(2>⌿⍤2⍪⍤2)⊢0⍴⍨⊃l
- ⍪⍤2 add padding on top of surface of bit mask of water
- 2>⌿⍤2 identify where surface is exposed by seeing if air comes after water vertically
- ⍉l⊤⍸∊ collapse and get where water is in chunk position format row-by-row