Crates.io | bevy_prng |
lib.rs | bevy_prng |
version | |
source | src |
created_at | 2023-08-29 14:10:15.842588 |
updated_at | 2024-11-30 10:49:57.836316 |
description | A crate providing newtyped RNGs for integration into Bevy. |
homepage | |
repository | https://github.com/Bluefinger/bevy_rand |
max_upload_size | |
id | 958168 |
Cargo.toml error: | TOML parse error at line 20, column 1 | 20 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
bevy_prng
is a crate that provides newtyped versions of various rand_*
PRNG algorithm crates to make them suitable for integration within bevy
for reflection purposes. It enables these types to have stable TypePath
s and otherwise implement various required traits. This crate can be used as standalone to provide access to various PRNG algorithms of one's choice, to then use to write components/resources for one's game in bevy
, but primarily, it's purpose to support and be a counterpart to bevy_rand
(which provides the generic wrapper component/resource that bevy_prng
types can plug in to).
By default, bevy_prng
won't export anything unless the feature/algorithm you require is explicitly defined. In order to gain access to a newtyped PRNG struct, you'll have activate one of the following features:
rand_chacha
- This enables the exporting of newtyped ChaCha*Rng
structs, for those that want/need to use a CSPRNG level source.rand_pcg
- This enables the exporting of newtyped Pcg*
structs from rand_pcg
.rand_xoshiro
- This enables the exporting of newtyped Xoshiro*
structs from rand_xoshiro
. It also exports a remote-reflected version of Seed512
so to allow setting up Xoshiro512StarStar
and so forth.wyrand
- This enables the exporting of newtyped WyRand
from wyrand
, the same algorithm in use within fastrand
/turborand
.In addition to these feature flags to enable various supported algorithms, there's also serialize
flag to provide serde
support for Serialize
/Deserialize
, which is enabled by default.
All types are provided at the top-level of the module:
use bevy_prng::*;
All the below crates implement the necessary traits to be compatible with bevy_prng
. Additional PRNG crates can be added via PR's to this crate/repo, provided the PRNGs implement Debug
, Clone
, PartialEq
and have optional Serialize
/Deserialize
serde
traits implemented and put behind appropriate feature flags.
bevy_prng
uses the same MSRV as bevy
.
bevy |
bevy_prng |
---|---|
v0.15 | v0.8 |
v0.14 | v0.7 -> v0.8 |
v0.13 | v0.5 -> v0.6 |
v0.12 | v0.2 |
v0.11 | v0.1 |
The versions of rand_core
/rand
that bevy_prng
is compatible with is as follows:
bevy_prng |
rand_core |
rand |
---|---|---|
v0.1 -> v0.8 | v0.6 | v0.8 |
Licensed under either of
at your option.