[−][src]Crate goods
Goods - asset manager
Loads only good assets.
Goals
-
Batteries included.
Crate comes with variety of simple data sources likeFileSourceandHttpSource. FewFormats based on serde are included under feature flags. -
Extensible.
MultipleFormattraits can be implemented for any asset type, including foreign asset types.
For exampleJsonFormat,YamlFormatandRonFormat(bundled in the crate) implementFormattrait for any asset type which intermediate representation implementsserde::de::DeserializeOwned. -
Supporting WebAssembly.
All mandatory dependencies are WASM-compatible and no threading is required for asset loading to work. -
Working with asynchronous data sources.
All data sources implementSourcetrait.Source::readmethod returns future that will be driven to completion by the boundLoader. -
no_std
allocis required. -
Fast compilation.
build aftercargo cleantakes ~3s.
Structs
| Cache | Asset cache. This type is main entry point for asset loading. Caches loaded assets and provokes loading work for new assets. |
| Handle | Handle for an asset of type |
| Loader | Loader receives loading tasks from asset cache and drives them in the async context. |
| LoaderFlush | Future that polls |
| LoaderRun | Future that polls |
| PhantomContext | Dummy context for assets that doesn't require one. |
| Registry | Collection of registered sources.
Used by |
| RegistryBuilder | Builder for source registry. |
Enums
| Error | Error occured in process of asset loading. |
| SourceError | Error type for |
Traits
| Asset | Loaded, processed and prepared asset.
This trait specifies how asset instances can be built from intermediate values
that are produced by |
| AssetDefaultFormat | Default format for given asset type. |
| Format | Format trait interprets raw bytes as an asset.
It may also use context for asset instance creation
and |
| LeafFormat | Trait for formats that loads assets immediately. |
| SimpleAsset | Simplified asset trait to reduce boilerplace when implementing simple assets. |
| Source | Asset data source. |