Pretty-print my BQN Arrays
Charcoal, 72 bytes
ＦＳ≡ι(«⊞υⅉＰ⌈┌´·↘→⊞υⅉ»)«≔⊕⊟υιＭ¹⁻ιⅉ┘Ｍ⁻ⅉ⊟υ↑¿υ⊞υ⌈⟦ι⊟υ⟧»,«↑≔ＫＤ⊕ⅈ←ι§≔ι⊖⌕ι┌¦─↘»ι

Try it online! Link is to verbose version of code. Uses lists rather than arrays because they're easier to input. Explanation:
ＦＳ≡ι

Switch over each character of the input as a string.
(«

For a (, ...
⊞υⅉ

... save the vertical position as the top margin, ...
Ｐ⌈┌´·↘→

... assume a single-element list, ...
⊞υⅉ

... and save the vertical position again, this time as the bottom margin.
»)«

For a ), ...
≔⊕⊟υι

... get the bottom margin of this list, plus 1, ...
Ｍ¹⁻ιⅉ

... move to that row, ...
┘

... close the list, ...
Ｍ⁻ⅉ⊟υ↑

... move to and forget the top margin of this list, ...
¿υ⊞υ⌈⟦ι⊟υ⟧

... and update the bottom margin of the containing list if necessary.
»,«

For a ,, ...
↑≔ＫＤ⊕ⅈ←ι

... grab the text on the previous row, ...
§≔ι⊖⌕ι┌¦─

... find the ┌ and change the character after it to a ─, ...
↘

... and move to the next column on the original row.
»ι

Otherwise, just output the current character.
Note that the · is in Charcoal's code page (so because it needs to be quoted it ends up costing me two bytes!) but the box-drawing characters are not. They would normally cost three bytes in Charcoal so as I use them four times I have subtracted 8 bytes from Charcoal's calculation.