Namespace Shard.Assets
Classes
- AssetCodec<T>
Owns JSON decoding, generated materialization, and validation of codec values for one asset family.
- AssetMap<T>
Provides immutable lookups and effective tags for one published asset family.
- AssetTypeDefinition
Identifies one asset family without exposing its generated value type.
- AssetTypeDefinition<T>
Defines how one asset family is located, decoded from JSON, and validated.
- AssetsModule
The assets module. During preload it runs the asset pipeline from the pack at AssetsPath in three phases: LOAD (System B common assets under
Common/- System A typed
Server/stores), RESOLVE (ordered cross-dependency pass — derived tables), and PREPARE (build the typedUpdate*packets once). It provides ICommonAssetStore, AssetRegistry, and the cached TypedAssetPackets for the setup handshake.
- System A typed
- CommonAsset
A content-addressed common asset (System B: raw client media under a pack's
Common/). Identity is its forward-slash relative Name plus the lowercase-hex SHA-256 Hash of its bytes. Bytes are read lazily via ReadBytes().
- CommonAssetStore
Loads and indexes the common assets under a pack's
Common/folder, by name and by hash. If a pre-packedCommonAssetsIndex.hashessidecar is present it's used directly (no hashing); otherwise every file is SHA-256'd in parallel.
- DirectoryAssetSource
Reads assets from a directory through source-neutral relative paths.
- PropertyOverrides<T>
Provides typed queries for local and effective property overrides during asset loading.
Structs
- AssetLoadContext<T>
Exposes one complete private asset candidate while its load callbacks run.
- AssetPreload<T>
Supplies one value owned by a module before authored files are materialized.
- PropertyPath<T>
Identifies one generated property of an asset value.
Interfaces
- ICommonAssetStore
Read access to the loaded common assets (System B: content-addressed client media).