the delta has a traversable iterator
then we create a deltawriter that gets a reference to delta and data
deltawriter also gets a traverable interator which uses the existing traversables
Regression: as of this commit, it failes to compile with rust nightly 2019-10-02
Regression: LodDelta is not implemented yet
Regression: LodMakeAtLeast is not implemented yet
Regression: Tests are missing
Redone the whole implementation again on this and now use a trait for HashResult and VecResult which solves the .get() problem and .mat() problem
added benchmarks and (with repeated tests) we gain 14ns for 1 hash lookup and 2 veclookups and the result vec lookup
set a tem OWN_PER_PARENT const because i couldn't figure out childs correctly
experiment with a first get implementation, and choose to make trav return a ResultLayer on current layer not one below
implement a api to travers to the Detail already
create a DetailStore for actual work on the Detail
create Nestable for child layer trait
update description
this state does not work, because i tried to iplement delta in a trait type. however this is not necessary, i will revert this.
Just keep this commit for historical reasons - it wont build.
Option<usize> takes 16 bytes which we cannot allow,
so we use a u32 to store the same information, we use std::u32::MAX to mark that a LOD has no children
we have no checks for that limit, so we hope it never gets that high... dear god...
the intel laptop statistics now seem to be alot more stable and even top the ryzen desktop statistics, we get faster in every bench
the old implementation needed a Vec per Element, which itself needs 24 bytes, which is a huge overhead for a single byte element.
the new implementation has global Vec per region and only needs a index for the first element, which might be 8 bytes (implementation 4 bytes because of some assumptions) or none at all.
It's still not ideal, because it will requiere alot of duplicate coding.
Former-commit-id: 7172829c18ceabe67689487ffd269ebe62d1647b
implement a regionmanager and basic region component as well as tests for those
this is a fist implementation and likly to change
Former-commit-id: fdb7097dc30ab1642d25a02532458bcc2811ab61
+ notifying about sucessful kit application
+ notifying about case with insufficient space
+ handle case where you don't have enough free slots
+ handle quantity of non-stackable items
+ add test for items in kit manifest
This is intended to give a swim speed of 4.7 m/s when unskilled, and 7.2 when skilled
However, this turns out to be horrifically fps-dependant, both after this branch and in master. Needs further research into fixes
This commit tunes it for 60 fps