So, I've managed to take Vaska's original file and tweaked it to add a fixed width option, and combined that with Masonry. You can see an example of it at nicholascalcott.com/stories/. Resize the window to get the animation effect...
To get this to work, all the other posts in this forum apply (as far as how to get the new Visual Index working), and I hold no responsibility for whether or not this works correctly, so please make a backup of your existing visual index file before trying this and do read the rest of this post...
Go to nicholascalcott.com/… and copy and paste the entire file over your existing (but backed up) format.visual_index.php file. Then go to masonry.desandro.com/ and download the masonry javascript (right-click on the box that says 'Download the jquery.masonry.min.js' and save-as to your computer) and put it in your /ndxzsite/js/ folder. After that, in the options for Visual Index in the Admin panel, there should be a new option under 'grid' titled 'uniform width'. You want that, obvs.
Now, for some reason, for it to work, you must have Indexpand disabled. There is a workaround, which I'll explain in a sec, but I'd love to have someone with a better knowledge of php and javascript to take a look at the file and see if they can fix it. The problem is on line 576, with the Masonry controller I've embedded in the php.
The workaround, for those who'd like both indexpand and fixed width masonry at the same time, is to go into the format.visual_index.php that you've pasted over and take lines 576 to 589 (starting with "//Adding Masonry Controller...") and replace them with:
$OBJ->page->add_jquery('jquery.masonry.controller.js');
Next, create a new file fresh in the "/ndxzsite/js/" folder and name it jquery.masonry.controller.js. In this file, you'll want to add some javascript to control masonry, a la masonry.desandro.com/docs/…. If you're lazy and you want someone to do the work for you, I've made an example file that you can find at nicholascalcott.com/….
A note on the column width: This should be what you've set as the 'uniform width' in the Exhibit Options plus what you've set as the 'right margin' in the Format Options in the Admin panel (which is why it would be better for this to work through the php instead of an external controller file - this would then be generalizable site wide).
Now, I've only tried this with the limited options I have set on my site, so it's possible there are other bugs that I'm not aware of. If anyone notices them, let me (us, whatever) know and I'll try and fix them, to my limited ability...