I was thinking about something similar today as I browsed both the Plugin and Theme categories and felt frustrated trying to skim through the lists.
I almost wished there were a way for the user to choose how they wanted to view it, like how the craigslist app will give the options for list, thumbnails, grid, or gallery (and map sometimes, too), instead of making the admin choose the only view.
That’s almost completely possible today without any code changes, leveraging Hamburger Theme Selector
A simple workaround with current set-up and code would be to just configure say three different Themes with different instances of the Topic List Previews component (or equivalent) that has different settings, call them something obvious and allow the user to switch between them. No code work, uses core functionality. Done.
I use this technique at the moment to allow a user to switch on and off a rather computationally expensive rotating moon animation (see https://starzen.space). Default off, if you want the animated moon and stars, you select the other Theme from the Hamburger menu, which is otherwise identical. If you just want a boring list view without any distractions, there’s a “Maintenance” theme (which in my case includes images, but you get the idea). Easy!
Another way to make that a little more flexible would be to add a TC with buttons to amend CSS and switch the individual parts on and off. Then you might only need two themes, one for masonry and the other list?