bevy-cache 0.2.2

A caching layer for Bevy assets with manifest persistence, expiry, and per-entry max age support
Documentation
[package]

name = "bevy-cache"

version = "0.2.2"

edition = "2024"

authors = ["Kirk <github.com/captkirk88>"]

description = "A caching layer for Bevy assets with manifest persistence, expiry, and per-entry max age support"

license = "MIT"

repository = "https://github.com/captkirk88/bevy-cache"

categories = ["game-development"]

keywords = ["bevy", "cache", "asset"]

exclude = ["examples/*", "tests/*", "*.png"]



[dependencies]

bevy = "0.18"

serde = { version = "1", features = ["derive"] }

ron = "0.12"

thiserror = "2"

sysdirs = "0.9"

# Set max log levels. This helps avoid unwanted low-severity log spam, which can affect performance.

log = { version = "0.4", features = [

    "max_level_debug",

    "release_max_level_warn",

] }

tracing = { version = "0.1", features = [

    "max_level_debug",

    "release_max_level_warn",

] }



# Idiomatic Bevy code often triggers these lints, and the CI workflow treats them as errors.

# In some cases they may still signal poor code quality however, so consider commenting out these lines.

[lints.clippy]

# Bevy supplies arguments to systems via dependency injection, so it's natural for systems to

# request more than 7 arguments -- which triggers this lint.

too_many_arguments = "allow"

# Queries that access many components may trigger this lint.

type_complexity = "allow"



# Enable a small amount of optimization in the dev profile.

[profile.dev]

opt-level = 1



# Enable a large amount of optimization in the dev profile for dependencies.

[profile.dev.package."*"]

opt-level = 3



# Remove expensive debug assertions due to <https://github.com/bevyengine/bevy/issues/14291>

[profile.dev.package.wgpu-types]

debug-assertions = false



[profile.release]

# Compile the entire crate as one unit.

# Slows compile times, marginal improvements.

codegen-units = 1

# Do a second optimization pass over the entire program, including dependencies.

# Slows compile times, marginal improvements.

lto = "thin"



[features]

## When enabled, the `cache://` asset source is registered with a filesystem

## watcher so cached assets reload automatically when their files change.

## The manifest is also watched and `CacheManifest` is re-synced on disk

## modifications.  Requires Bevy file-watching to be turned on by the app:

## `AssetPlugin { watch_for_changes_override: Some(true), ..default() }`.

hot_reload = ["bevy/file_watcher"]



[[example]]

name = "runtime_roundtrip"

path = "examples/runtime_roundtrip.rs"



[[example]]

name = "hot_reload_demo"

path = "examples/hot_reload_demo.rs"

required-features = ["hot_reload"]



[dev-dependencies]

tempfile = "3"