Loaders: Use unique cache keys per loader type. #31315
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixed #27301.
Description
THREE.Cacheis currently used by three core loaders:FileLoader,ImageLoaderandImageBitmapLoader.Since the cache is global, loaders potentially share cache entries if the same URL is loaded by different loaders. Granted, that is an edge case but the OP of #27301 described a potential use case in #27301 (comment).
And since the cached results are incompatible between loaders anyway, it makes sense like described in #27301 (comment) to make the cache entries unique per loader. This is done by adding an additional loader-specific key part to the actual cache key.