Made a crazy procgen bookshelf script:
ProcgenBookshelf (2).blend (144.6 KB) (updated 2021-04-03)
It should work in most modern versions of Blender, 2.8 and 2.9 at least.
The blend file above includes two scripts, one to make boring normal bookshelves, and the other to recursively generate more complicated bookshelves by including a “pinwheel” formation instead of simply horizontal shelves. Here’s a demo video:
Both versions use procedural techniques so the result is easy to modify. It’s just edges!
I used the script to generate the base design for an actual bookshelf that I built as well. Works in practice!