Table of Contents

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 typed Update* packets once). It provides ICommonAssetStore, AssetRegistry, and the cached TypedAssetPackets for the setup handshake.
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-packed CommonAssetsIndex.hashes sidecar 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.

ZipAssetSource

Structs

AssetFile
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

IAssetSource
ICommonAssetStore

Read access to the loaded common assets (System B: content-addressed client media).