16 releases (10 breaking)
|0.11.1||Oct 15, 2021|
|0.10.0||Aug 3, 2021|
|0.9.0||Jul 19, 2021|
|0.8.0||Feb 1, 2021|
|0.5.3||Jun 29, 2020|
#374 in Asynchronous
24 downloads per month
Used in less than 7 crates
Goods is an asset pipeline that helps keeping asset importing code away from the app
and allows addressing assets with uuids instead of error-prone file paths and urls.
Goods provides fully async loader. Loader can be augmented with user-defined source implementations,
making it possible to load asset from any kind of storage.
And thanks to async nature it can be both local and remote storages.
Treasury is an asset database.
Once asset is imported it is given an
uuid that can be used with provided out-of-the-box
TreasurySource to load the assets.
Treasury calls user-defined importer to convert asset from authoring format into engine-native format.
Importers should be compiled into WASM library and placed into directory configured for importers lookup.
plugin crate is an example of how to write a plugin and export importers from it.
A CLI tool is provided to perform importing manually.
cargo install goods-treasury-cli should install the tool. CLI executable name is
Engines using Goods pipeline are encouraged to support importing in their toolset.
Licensed under either of
- Apache License, Version 2.0, (license/APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (license/MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.