import type { Loader } from '@forgeax/engine-types'; /** mesh loader — Float32Array / Uint16Array | Uint32Array normalisation -> MeshAsset. * * feat-20260611: skinIndex (Uint16Array) and skinWeight (Float32Array) accept * both their native typed-array shape (in-memory: dawn smoke / direct * `register` test) AND `number[]` (post-`JSON.stringify` shape produced by the * dev-server / build-mode pack-body round-trip — `JSON.stringify(pack) -> fetch * -> JSON.parse` flattens every typed array to a plain Array). Same dual * contract `skeletonLoader` / `animationClipLoader` already honour (PR #350); * without the array arm, every Fox.glb / Khronos skinned glTF surfaces as * `asset-parse-failed` on the browser path while dawn smoke stays green. */ export declare const meshLoader: Loader; /** scene loader — delegates to parseScenePayload; routes structured ref error via ctx. */ export declare const sceneLoader: Loader; /** material loader — passes + values + serialized parent GUID -> parentGuid. */ export declare const materialLoader: Loader; /** sampler loader — preserve the serialised SamplerAsset descriptor. */ export declare const samplerLoader: Loader; /** skeleton loader — inverseBindMatrices stride validation. * * bug-20260611: accept both `Float32Array` (in-memory: dawn smoke / direct * `register` test) AND `number[]` (post-`JSON.stringify` shape: `normaliseForPack` * in @forgeax/engine-import flattens every typed array to a plain Array so * `JSON.stringify(pack)` survives the dev-server / build-mode round-trip -- * the same dual contract `meshLoader` already honours). Without the array arm * the .pack.json -> fetch -> JSON.parse path lands a plain object whose * `instanceof Float32Array` check fails, surfacing as `asset-parse-failed` * for any glTF carrying a Skin (e.g. Khronos Fox.glb). */ export declare const skeletonLoader: Loader; /** skin loader — skeletonGuid + jointPaths validation. */ export declare const skinLoader: Loader; /** animation-clip loader — channels / sampler validation. * * bug-20260611: sampler.input / sampler.output accept both `Float32Array` * (in-memory) and `number[]` (post-`JSON.stringify` shape produced by * `normaliseForPack`). Same dual contract as `skeletonLoader` / * `meshLoader`; without it the dev `.pack.json` round-trip surfaces every * skinned-with-animation glTF as `asset-parse-failed`. */ export declare const animationClipLoader: Loader; /** animation-graph loader — pack payload -> AnimationGraph POD. * * feat-20260713-animation-state-machine-plugin M4 / w30 (plan D-4 landing (3)): * the inverse of `serializeAnimationGraph` (runtime). Each Clip leaf's `clip` * field arrives as a `refs[]` index (small int); the loader resolves it back to * the GUID string verbatim, leaving GUID -> handle re-resolution to the ECS/use * time (the same "GUID at load, handle at use" contract materialLoader honours * for parentGuid / values texture fields, asset-registry D-19). Blend/Add * node references + `root` are intra-graph node indices, validated against the * node count. A malformed payload (out-of-range refs / node index, bad node * shape, non-finite weight) returns `undefined` so the load-by-guid path * surfaces the existing `asset-parse-failed` error code (AC-14). * * OOS-7: reconstructs only an engine-authored graph's topology; no DCC-import * metadata is consumed. */ export declare const animationGraphLoader: Loader; /** audio loader -- restore the durable descriptor; host decode stays elsewhere. */ export declare const audioLoader: Loader; /** particle loader -- restore the complete cooked program without a GPU device. */ export declare const particleEffectLoader: Loader; export { renderPipelineLoader, tilesetLoader } from './pack-artifact'; /** * The eight inline pack-payload loaders, in the historical `if`-chain order * (the animation-graph loader, feat-20260713 M4 / w30, appends after the clip * loader). `wireDefaultLoaders` (w5) registers these plus the texture / font / * equirect loaders (w6) and the audio placeholder (w8). */ export declare const INLINE_PACK_LOADERS: readonly Loader[]; //# sourceMappingURL=inline-pack.d.ts.map