On maintenance of code with a large possibility space, stateful code, caching, the downfall of retained mode APIs, and freeing up programmer resources.
What can be an effective way to create keys for textures and sound? I could use file paths since those are always unique but asset hot loading won't work with this since it's the same filepath before and after modifying the file.
This is what people will use hashes for. Your caches can map from unique key (e.g. derived from asset path somehow), to data hash, and then the hash is used to key all of the “data dependent” caches.
For something like gltf models, would it be better to hash the gltf model's bin file and use that as the data hash or would it be better to load its textures through a texture cache and its vertices / indicies through a buffer cache and use them for the data hash?
I'm not Ryan and this is not an exact answer to your question, but I don't like GLTF combining everything into single file due to the reason of your dilemma. I'm using my own format atm, but before, I was using GLTF to only export mesh data. I was creating models (mesh + texture, not sure if it is a correct term), skinned models and scene data as part of the game.
I see a lot of similarities between this post and Fabien's "Data structures and invariants" https://fgiesen.wordpress.com/2010/09/27/data-structures-and-invariants/
Specifically, the SearchTreeForInterestingChain example vs the doubly-linked list one.
Do you think your idea of an "effective codepath" is similar to the concept of invariants?
What can be an effective way to create keys for textures and sound? I could use file paths since those are always unique but asset hot loading won't work with this since it's the same filepath before and after modifying the file.
This is what people will use hashes for. Your caches can map from unique key (e.g. derived from asset path somehow), to data hash, and then the hash is used to key all of the “data dependent” caches.
For something like gltf models, would it be better to hash the gltf model's bin file and use that as the data hash or would it be better to load its textures through a texture cache and its vertices / indicies through a buffer cache and use them for the data hash?
I'm not Ryan and this is not an exact answer to your question, but I don't like GLTF combining everything into single file due to the reason of your dilemma. I'm using my own format atm, but before, I was using GLTF to only export mesh data. I was creating models (mesh + texture, not sure if it is a correct term), skinned models and scene data as part of the game.