branchrust_reboot/main/parallel_validatemove/stable_playercachecancel
17 Commits over 0 Days - ∞cph!
▍▋▍▍█▄: ▅▆█▉▄ ▆▌▇ ▍▋▍ ▄▊██▌▌▊█▄ ▆▍▋▍▊▉▍▋ ▋▌▍█▌█▅▊▅ ▊▄▊▄▋▊▄█ ▅▊▉▉ ▅▍ ▇▉'▇ ▌▅▉ █▌▉▇▅
▉▅▌▉▆: ▆▇▌▊▆▊ ▋▄▉▇ ▊▉▉ ▍▇▅▊▍▉▌ █▊▍▅
▆▋▅█▇▍: ▄▊▉▍▍ ▋▄▋ ▄▇▄▋█▋▉▄▋ ▆▋▉▆▊▋▇▄ ▊▅▉▇ ▉▅▊▊█▋▋▅▌▇ ▉▊▊▍▅
▉▍▉▅▅: ▆▄▌▋▋▋ ▇▍▆▌ ▆▊█▇▉▆▇ ▅▄▍▌
▋▌▄▌▍▆: ▊▅▆▌▋█▍▅▍ █▋▌ ▇▉▅▇▆▅█▊▊ ▋▍▍▍▌▍█▆ ▇▊▊ ▄▋█▌█▉ ▋▌▊▉▊▋
▆▊▇▉▉: ▇▊▌ █▇▊▌▆▆▌ ▌▉▉▌ ▉▌▅▋▊▅▆▍
▉▉█▅▇▆: ▄▅▆ ▌▌▅█▍▇▉ ▇▍▅█ ▄▇ ▌▇▊▉ ▋▌▋█▄▋ ▊▆█▄▄ ▅▋▅▆▊▌▊▉.▌▍█▌▊▇▄▉
▍▍▅▊▄: █▌▉▆
Update: Split various tick validation functions into smaller loops
- Added a couple small extension utils to NativeList
This helps isolate code that we'll be able to run as Burst jobs - there's a bit more to split
Tests: Staging demo playback - got comparable results
Update: translate ValidateMove to batched ValidateMoves
Internally it's the same logic for now, as I've yet to properly intergrate TickInterpolatorCache and need to convert a lot of internal methods
Tests: played back staging demo - got same numbers and no new errors
Update: made some caches stable across frames
Tests: played back staging demo - no new errors and stats match expected
Clean: simplify call
Tests: none, trivial change
Merge: from parallel_validatemove
Tests: none
Update: consolidate debug logic
- Also ValidatePlayerCache fixed to actually check for native-null players
I'm hoping I won't need this after tomorrow, but keeping it fixed to use for testing on staging for a bit
Tests: ran through the staging demo - notifced it's picking up an issue from the prev merge, will fix shortly
Merge: from parallel_validatemove
Tests: none, no conflicts
Merge: from parallel_validatemove
Tests: none (resolved into dest version)
Update: adapted code to PlayerCache change
- FinalizeTickParallel now uses `player.StableIndex` as indirection, instead of iterator index
- Updated validation checks
- Transform caching job now checks for invalid transform accessses
Tests: ran all relevant unit tests, played back staging demo - got comparable numbers
Merge: from parallel_validatemove
Tests: none, no conflicts
Clean: Lenght -> Length
Tests: compiles in editor
Update: fix TickInterpolatorCache tests and update it's API
- No longer tracks player count
- Made API focus on Expand -> Replace(index) flow - makes it easy to work with PlayerCache
Tests: ran unit tests
Update: PlayerCache now guarantees spatial stability
- Updated it's direct tests (will update rest next)
Updated interface, although compatible with existing code, will lead to breakages, so I'm slowly updating the relevant code
Tests: ran unit tests