feat: RngSeed & ForkableSeed traits #23
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a
RngSeed
component type for containing the seed value of anEntropyComponent
, plus establishing the relationship between the two components so that adding or overwriting aRngSeed
component to an entity will add/overwrite anEntropyComponent
of the same PRNG type. This is implemented using component hooks and will be automatically initialised when using the plugin to register entropy source types.With this, I've also added extra forking traits to enable PRNG sources to fork to a seed component, whether of the same or different algorithm type.
I've also restructured the integration tests to build into a single test binary, but have separate modules for clarity purpose's sake. This should allow the integration test suite to grow considerably without needing to generate a separate binary for each integration test module.