Decodes one response body.
The response the manager fetched; already checked ok.
The URL it came from, for error messages and (once glTF lands) for resolving relative dependencies.
Optionalcontext: AssetLoadContextOptionalloadOptional chunked decode (§76 streaming).
When present, AssetManager.load passes an async iterable of body chunks instead of a FetchResponse — but only when the load did not already consume the body for hashing or worker decoding. A loader that only implements AssetLoader.load is unchanged.
A decoder: bytes in, an asset out.
Loaders are values, so the set of formats an application supports is the set of loaders it imports — no registry, no side-effectful registration, no bundle weight for formats nobody loads.
nameis diagnostics only; cache identity is the loader object, see the module comment.