Thanks for an answer, and I’m impressed with your engine.
You’ve done a great job !
Definitely I’ll go with #2. The question was if I’m able to load data from custom streams.
Probably I need to make some clarification: an intent is not about a size, but rather some kind of protection (not very strong, but still) against end user to meddle with assets and possible cheats.
There are also additional benefits to have a single file instead of multiple ones.
Such approach exists in Irrlicht graphics engine:
// C++ pseudocode
IFileSystemInterface* fs = engine->getFileSystem();
fs->addDirectory( "./data" );
fs->addFileArchive( "./myassets.zip", optional_password );
// load assets either from directory or archive, whichever found first
You already have some kind of file system abstraction (as data-URLs), so I thought it would be nice to have similar feature, even in form of LoadFromStream examples.