/** * Pex-gpu internals, exposed for advanced use: shader reflection and uniform * packing, the pipeline/layout caches, the commands-layer state and allocators, * debug hooks and byte-math utilities. * * ```js * import { parseWGSL, packStruct } from "pex-gpu/internals"; * ``` * * @module pex-gpu/internals */ export { PipelineCache, resolveShaders } from "./pipeline-cache.js"; export type { RenderPipelineSource, ComputePipelineSource, } from "./pipeline-cache.js"; export { parseWGSL, reflectWGSL, reflectStages, mergeReflections, normalizeType, } from "./reflection.js"; export { packStruct } from "./pack.js"; export type { PackableValue } from "./pack.js"; export type { ShaderReflection, ShaderBinding, BindingKind, StructLayout, StructMember, VertexInput, } from "./types.js"; export { RingAllocator, commandsState, frameState } from "./state.js"; export { objectId, shared, SCHEMA } from "./shared.js"; export type { CommandsState, FrameState, ActivePass, ActiveComputePass, CachedPipelines, CachedRenderPipelines, } from "./state.js"; export { pipelineLayout, buildBindGroups } from "./bind-groups.js"; export type { ResolvedBindGroup } from "./bind-groups.js"; export { resolveVertexState } from "./vertex-layout.js"; export type { ResolvedVertexState } from "./vertex-layout.js"; export { debugCounters, debugLog, usageNames, debugGroupsEnabled, resetFrameCounters, recordCacheAccess, trackResource, trackCollectable, untrackResource, timingEnabled, trackPassTiming, resetFrameTiming, resolveFrameTiming, completeFrameTiming, disposeTiming, } from "./debug.js"; export { alignTo, toTypedArray, bytesPerTexel, blockInfo, isCompressedFormat, physicalExtent, texelCopyLayout, } from "./utils.js"; export type { BlockInfo } from "./utils.js"; export { paddedBytesPerRow, fullMipLevelCount, textureByteSize, } from "./texture.js"; export type { TextureByteSizeOptions } from "./texture.js";