The result is a 32-bit integer, so it can be passed straight to
createRng. Derivation is a pure function of its arguments — the same
root and path give the same seed in every runtime — and near-identical paths
('drums' against 'drum', bar 1 against bar 2) give unrelated seeds: the
path is hashed with FNV-1a and finished with the MurmurHash3 fmix32
avalanche step.
Derive a child seed from a root seed and a path.
The result is a 32-bit integer, so it can be passed straight to createRng. Derivation is a pure function of its arguments — the same root and path give the same seed in every runtime — and near-identical paths (
'drums'against'drum', bar 1 against bar 2) give unrelated seeds: the path is hashed with FNV-1a and finished with the MurmurHash3 fmix32 avalanche step.