Documentation
    Preparing search index...

    Variable PACKAGE_NAMEConst

    PACKAGE_NAME: "@fourjs/assets"

    @fourjs/assets — the asset system (§76–78).

    Phase 11 (WP-11.2) ships the MVP tier: a deduplicating, reference-counted AssetManager over an injectable fetch, plus text, JSON, binary, and image loaders. The §77 texture tier landed 2026-08-21 (texture.ts), and the §78 glTF 2.0 parse tier landed 2026-08-29 (gltf.ts — its module header states the exact tier, the refusal list, and why assembly lives in four).

    §96's "asset loaders … shall treat external content as untrusted" is enforced by the manager, not the loaders: an input-size limit (DEFAULT_MAXIMUM_BYTES) and a whole-load deadline (DEFAULT_TIMEOUT_SECONDS), both finite by default, both overridable per manager. See docs/guides/security-and-untrusted-content.md.

    Content hashing (§76) and the §79 manifest landed on 2026-08-21, together with the texture loader tier (§77's assets half): load(url, loader, { expectedHash }) refuses bytes that are not the bytes a manifest named, and createTextureLoader turns encoded images into TextureSource-shaped TextureAssets under §96 decompression bounds. See content-hash.ts, manifest.ts, and texture.ts.

    §76's cancellation landed on 2026-08-09: load(url, loader, { signal }) rejects and gives back its reference, and — when the manager was built with an AssetManagerOptions.abortController — the last waiter's abort cancels the request itself. The A-18 remainder (2026-09-06) adds progress (onProgress), stream(), dependency graphs (registerDependency / loadGraph), worker decoding (decodeInWorker + workerFactory), and hot reload (watch). The rules are in asset-manager.ts's module comment.