It’s the bookshop experience; but online! You can walk around, pick up books, flip them over to read the back cover, and open them to read a sample or the full book (about half the books are public domain or creative commons).
Your position in the space and the books are automatically saved to your browser. If you’re reading a book, you’ll also be given the option to immediately continue reading on return.
I’ve also spent a lot of time making sure the built-in reader works well. It has a built in dictionary, notetaking capability, a search function, and of course a table of contents. Used Foliate JS for the reader as it reads EPUB, PDF, and CBZ.
Let me know if you have any questions or feedback!
As for the file size; I’ve already done a lot of optimization, and I don’t think there’s much more I could do to lower it significantly. Did it take a long time to load for you? On my desktop PC it’s 5/6 seconds, on my phone (Pixel 6) it’s around 8-9.
Continue and Enter doing the same thing: I’ll have another look into that to see what’s going on exactly. ‘Continue reading’ should put you in the reading mode of the book you were reading when you last closed it, so that you can just continue reading instantly rather than having to pick up and open the book again. The ‘Enter’ button should instead place you in the 3D space in the location you were last in (so near the book you were reading). If you were in the 3D space when you last closed it, it shouldn’t show the ‘Continue reading’ button on next load. I think it mostly works correctly, except for the situation where the URL you (re)load itself places you in reading mode already, like: https://comparisontabl.es/3d-bookshop/#dungeon-crawler-carl:reading-sample - in that case it now looks to load you into the 3D space and play the 3D animation to open the book.
The overlapping meshes / collision issue is the biggest remaining issue, and the one I’m going to work on fixing next. For now, you can simply take a step back and pick up the book so it doesn’t collide with the shelves. Might make it so you do that automatically on pickup if you’re standing too close.
The thickness of the books are relative to the content! I have set all of the books to the exact size of their physical equivalents that I have used the cover image for. For books without a cover image, like public domain books available in many different editions (and I haven’t used the cover of any specific edition) I have guesstimated the size it would be, based on the length.