userDaniel Pcancel
reporust_rebootcancel

1,177 Commits over 304 Days - 0.16cph!

52 Days Ago
Update: move GenerateCheckCapsuleQueries to GamePhyics and utilize Tests: ran unit tests
52 Days Ago
Update: split GamePhysics.CheckCapsule<T> - forbid CheckCapsule(batch) from returning ColliderHits - this is to better represent relationship to non-batched CheckCapsule Tests: unit tests
52 Days Ago
▊██▌▋▉: ▌██▅▉▆▇▌.█▅▄▋▊▅▄▋▌▆▌▋▄▆▉▉▋ - ▅▅▊▅▊▆▋ ▄▄▊▅▆▋ ▋▅▆▍▋▌▊ ▊▌█▋▍▊▆ ▄▍█▉▌▍█ █▅▊▊▋ ▌▆▋▉ ▉ ▌█▄▉▊▉▅▉▋▌▅.▇▋▌▆▄▄▋▄▊▄▇▇ ▇▆▄ ▉▆ ▍▍█▌▆▍ ▍▉▊▋ ▇█▆ ▄▅▅▆▄█▌ █▋ ▋▉▊▍ ██ ▅▊▆▊▄▌ ▉▋ █▆▅▋▌▋▇ ▇▇▊▇▄▅▆ ▄▅▉▊▌: ▆▅▍▆ ▇▉█▇▍ █▊▇ ▇█▇▊▄▍▊ ▍▋▇█ ▅▄▉▇▆▌▊▄
52 Days Ago
▇▇▊▍█▆: ▊█▋▄▆▇▋▉.▊▇▅▄▆▋▅▆█▇█▋▄▊▋▆▉ - █▉▇▆▄▊▆ ▊▅▍▇▆▆▇ ▌█▋▇ ▍▄▇▊ ▉ ▍▄▍▇█▊▆▍▋▉█.▌▌█▆▉▋▌█▅▌▌▄(▆▄▊▇▇) ▆▋▆▆ ▌▍▇▆▅ ▇▌▍ ▍ ▍▉▋▋▉▍ ▄█▋▆ ▅▌█ ▋▅▄▊▇▋▇▌▋ ▍▆▅▍ ▍'▄▄ █▇▄█ ▆▌ ▆▆██/▊▇▌██ - ▄█▇▅'▅▅ █▄ ▄▊▄▆▊ █▊▉▄▍: █▇▍▄ █▆▌▌▌ + ▆▌▄▄ ▄▆▉▆▋▊▋▍
52 Days Ago
Update: adding GamePhysics.CheckCapsule(batch) Last factored out func - should be able to complete refactor shortly Tests: none, will integrate to tests next
52 Days Ago
Bugfix: fixing native allocation leaks in tests Tests: ran the tests with leak detections enabled
52 Days Ago
Update: GamePhysics.CheckCapsule<T>(batch) internalized layermask handling There's room for optims, but not going to pursue them for now - will test later how the perf deteriorates with the new APIs. Tests: ran relevant unit tests
52 Days Ago
Update: GamePhysics.CheckSphere(batch) now able to handle mask validation internally - Renamed GamePhysics.IgnoreCollision to MasksToValidate (prev name could be misleading and confusing) - undid sphere command building as that wasn't meshing well with MasksToValidate flow - Added UtrilityJobs.GatherJob<T> (will need to go through other code and clean up similar/same jobs) I still need to update GamePhysics.CheckCapsule, and replace inlined code with new versions Tests: all relevant unit tests
52 Days Ago
Clean: simplify NativeList.CopyFrom<T>(ReadOnly) Tests: none, trivial change
52 Days Ago
Update: Rewrite GamePhysics.HandleIgnoreCollision(batch) to allow for explicit control of what exclusion volumes to check Tests: ran updated test
52 Days Ago
Update: adding GamePhysics.HandleIgnoreWater - comes with it's own consistency test Going to use those to try to refactor some of the existing code and hopefully shrink it Tests: ran new test
52 Days Ago
Tests: adding tests that generate various "HandleIgnoreCollision" scenarios - added TestHandleIgnoreTerrainConsistency Covers both TerrainCollisionTrigger and WaterVisibilityTrigger. Tests: ran the new unit test, checked that all paths all covered.
52 Days Ago
Optim: GamePhysics.HandleIgnoreTerrain - replace const seting managed loop with a Burst job Saves 0.1ms on 10k test Tests: ran unit test
52 Days Ago
Optim: allocate smaller buffers for WaterCollision.GetIgnoreIndirect - Added a couple profiling scopes Tests: unit tests
52 Days Ago
Bugfix: when we're missing TerrainCollision or WaterCollision, run all of the physics checks for trigger volumes - Added UtilityJobs namespace, moved FillJob<T> to it - Added a utility extension to NativeList<T> to copy from NativeArray<T>.ReadOnly (surprised it's missing) Tests: all relevant unit tests
52 Days Ago
Clean: remove GamePhysics.OverlapSphere(batch) and GamePhysics.OverlapCapsule(batch) - These have been inlined into CheckSphere<T> and CheckCapsule<T> - Also updated CoarseQueryGrid.CheckJobIndirect(capsule) (returns JobHandle, works on a NativeList) since I missed it in previous commit Tests: ran all unit tests
52 Days Ago
Update: CoarseQueryGrid - add non-indirect CheckJob API - Also changed the API to return a JobHandle and accept a NativeList Helps avoid extra busy work when we run direct work Tests: ran unit tests
52 Days Ago
Bugfix: prevent WaterCollision.GetIgnore from returning garbage values Another case that's the same as previous Tests: none, trivial change
52 Days Ago
Clean: move all CoarseQueryGridJobs to it's own namespace - rename the jobs to avoid duplication with namespace Tests: compiles in editor
52 Days Ago
Bugfix: make sure TerrainCollision.GetIgnore doesn't return garbage values Same bug as in WaterCollision that I fixed last friday. Tests: none, trivial change
55 Days Ago
Bugfix: WaterCollision.GetIgnoreIndirect properly fills entire result set Tests: ran unit tests + staging demo playback
55 Days Ago
Tests: adding TestWaterIgnoreConsistency to further narrow down what is going wrong Tests: ran new unit test, it does fail as begrudgingly expected
55 Days Ago
▇▋▊▇▍: █▋▅▍▅▊ ▍▋▍██▅▍▉ ▊▋▅▋▌ ▆▉ ▋▉▅█▊▅ ▋▌▌█ ▌▆▉▆▌█▉ ▆▉▌▉ ▍▅▋▉ ▍▋▋▋▆▄▋▅█ - ▋▅▄█▉▉ ▆▌▅▍▉▌ █▇▋▇▉█▇▇ ▄▋▇▇▍ ▊▇ ▄▅▉█▄ ▅▄█▊▇▅ ▋▄▊▋▌▅ ▅▋▉█▍▇, ▋▊█▋▇▍ ▋▊▉▌ ▅▆▊▊ ▉ █▊▇▌▅▍ █▊▆▋▆▍▆▆ ▅▅▍▄ ▋▋▋▊█▋ ▉▌▋▉▌▍ █▄ ▅▉▊▄ ▅▉▋█ ▇▍▆▍▅ ▍▉ █▇▋▅▅▍ ▌ ▋▌▆▊▇▇▆▌ ▋▇▇▆'▋ ▊▉▅▍█▇▇█▌█ ▉▉▉▆▆ ▅▅ ▋▆▅▇ ▋▌▌▉▅█▅, █▆▌▉▌ ▅▍ ▍▆▌▋▌▉█▍█ ▊▄▌▄ ▍▋▊▉▄▅ █▌▋▆█▆▌▅. ▍▉▉ ▍▋▇▇ ▇▍ ▆▄█▉, ▌▌ ▇▅█▇ █▅ ▋▊ ▆█▋▋▄▅▍ ██▍ █▉▇▌ ▋▇▉▊▊/▋▇█▊▊▊▄▇▅ ▍▌▇▍▅▍▆. █▄▊▆, ▅▍▌▉ █▅▇███▅ ▌▌▉▍▆▋▌▅▄▄ ▌▌█▊▉ - █▇▇▊▆▆▍▇█▌█▍▅. ▉▆▉▌▊: ▋▄▉ █▆▋ █▊▍▉▆▇▅▇ ▍▍▊▄▄
55 Days Ago
▇▍▉█▊▇: █▉▅▊▊▍▍▍▇▄█▋▍▋▋█▌ - ▌▍ ▋▍▇▋▍▅▄█ ▇▋█▌▊▉ ▅▅▄█▊█▉▋▉▍▊▍, ▊▄▄▅ ▍▅▋█ ▌█ ▅▌▅▉ ▊▉ ▊▆▌ ▆▌▅ ▋▉▊▄ ▅█▇ ▄▇▇▄▄: ▉▄█▅▌▆ ▄▅▋▋ ▄▅▆▅▋▄▅ ▇▄█▄
55 Days Ago
▅█▅▌▅▌: ▄▉▊▆▌▊▊▋.▍▊█▆▉▄▅▉▋▊▋▄▊ - ▌█▇▊ ▌▊▄▉ ▍▌ █▉▇▍▊▉▇▄▄▊█▋▅▉▆▆▉▋▉▊▉ ▄▅▆▅ ▅▇▉▍▍▊▅ ▄ ▋▍▋▆▅ █▍ █▉▋█▆ ▅▇▋█▉: ▄▆▄▆▇▇▇ ▄▋▉▆ ▋▅▄▄▆▋▇▉
55 Days Ago
Optim: FinalizeTickParallel - use a burst job to gather players to validate for tick history - Cleaned up a bunch of code by switching to NativeList from NativeArray - more TickInterpolatorCache usage Tests: staging demo playback
55 Days Ago
▍▅▉▅▉: ▌█▉▊▆▍▇▅▉▇▊▄▇▇▍▄▉ - █▌▄▍▋▍▆ ▌▋▋█▌▋▉▆ ▍▅▋ ▌█▍█▌▍ ▍▆▍▄▉ ▊█▍▅ ▇▊▋▅▊ ▅▉▇▋ ▉▅▍'▇ ▋▋▇ ▄▅▉▅ ▉▉ ▄▍ ▄▍█▍▅▆ ▅▇█▊█▌▉ ▌█▊▆▅▅▌▋ ▄▉█▆▋▉█ ▍▌▉▋▊ ▋▅▊▊ ▊▅▉▇. ▌█▊▇▌: ▌▆▊▍ ▍█▇▅▆ ▄█▍ ▋█▋▊█▊▅ ▊▆▋▋ ▌▄▊▍▊█▌▉
55 Days Ago
▇▊▄▄▇: ▉▆▄▄█▆█▋▍▌█▍▆▆▄▇▇▉▄▉▋ █▌▌ ▌▌██▊ ▄▇▅▉▆▍▍ ▄▅▌▆ - ▉▆▅█▇▄▇▌▍ ▅▍▄ ▄▉▊▄█▆ ▆ ▉▋▄▄▍█▇ ▇▍ ▆▄▇▆ ▋▌▍█▆▇█ ▌▉▊█ ▉▄▇▅▄ ▊▌▉▌ ▍▇█▉▅▆ ▄▄ ▊█▉▌▌▋▇▅▊, ▅▌▄▋▇▍▅ ▉█ ▌▅▆▇▆▇ ▉█▆█▇, █▆▍ ▇█▆▅ ▄▉▋▆▍ ▍▇▉▄ █▅▉▇▆▍▋ ▇▌ ▋▆▅ ▅▇▇█▍▋▅▌ ▌▋▇▅▌▄▍ ▋▉ ▅▆▍▊▆▄ ▇▋▄▅█▉▊▉▊ ▍▍▌▆▇▋▄ ▆▆▊ ▆▋▋ ██▅▄▍▌▊ ▉▆▉▌▇▄ ▋▌▊▊▆▅▆▊ - ▅▍▆▋▇▋▅▄ ▋▄ ▄▆.▉▇▊(+▍.█▊▌) ▌▅▋ █▍▌▇▄▆ ▉▉ █▄(+▉▅▆) ▉▍▆▉▄: ██▉ █▌▄▉█▆▋ ▅▊▇▇▉
55 Days Ago
▅▇█▇▋: ▉▊▄▄█▇▆▆▌▆█▊▆▄▍▇▇ - ▆▆▋▉▉▌▊ ▇ ▍▇▆█▆-▄█▅▍█▌ ▌▉▍▄▉▉▄▊▇▄ ▋▄▇▉ ▋ ▄▆▊▅▍▋█▊▉▍▄ ▋▉▆▍█▇ ▊.▅█▌ ▆▆ ▆▄ ▉▅▇▇ - ▅▇.▌▍█->▍▆.█▋█, ▄█ ▌█▄█ ▋▉█▇▉█. █▆▄▍▋▍ █▄█ ▊▄▇▇ ▊▅▋ ▄▆▊▍ ▉▅▄▄▍▌▆▋▆ ▄▊ ▍▋▋▍▊. ▌▉▅▇▄: ▊▄█▇ ▉▄▇▇▍ █▅▊ ▊▌▆▅▄▄▌ ▊▋▌█ ▍▅▊▉▋█▌▉
56 Days Ago
▋▉▋▋▌: ▊▍▍▅▌▆▆▆▉█▉▋▉▆▅▌▊ - █▍█▇▉▆▍ ▌ ▇▉█▌▍ ▆█ ▉▍▄▊▄▍▋ ▆▅▋▄█ ▌▊▌▉ ▆▋▄▅▌ ▆█▄▋ ▍▆▉▋▋ ▇.▊▅▄ ▅▊▆ █▋▋ ▋▊▇▊ - █▋.▄▆█->▍▆.▅▌▅ ▊▆ ▉▄▍▄ ▊▅▉▇▇█. ▆▌█▆▇▌▍ ▆▇▅ ▍▋▉▄ ▌▄▅▋ ▉▅ ▋▄▇▍▄▅▉▊▄▉▄ ▍▆▄▉▆▋▅. ▊▇▅▉ ▋ █▇▋█▍▆ ▉▍▌▋▆ ▋▅█▉ ▆▅ ▆▇▆▌▄▄█▉ █▊▆▄▄: ▆▍▅▇ ▍▊▆▋ ▊█▉▉
56 Days Ago
▌▉▌▄▅: ▋▇▇▄▊▊▍ ▉▊▉▍▉▄▌▉▉█▉.▍▋█▍▊(▆▅▄▄▊█ > ▍) ▉█▍▄ █ ▊▇▆▋▇ ▅▍▌▋▊▊ ▆▅▌▇ ▇▍▌▇▊▌ ▊▅▌▉▊▇▄ ▋▄█ ▊▍ █▍▆ ▆▋▊▊ - ▉▅.▌▊▉->▌▌.▌▅▊ ▉▉ ▊▇▊▍ ▆▇▆▊▌▌ ▄▋▅▄▆: ▋▌▅▄ ▆▆▊▅▊▋▉▇ ▋▋▉ ▍▄▉▍ ▍▊▋▍
56 Days Ago
▇▄██▆: ▉▉▇▇██▌█▆▅▅▇▇▆▄▊▅ - ▌▇▊▇▄▄▅ █▍▆▋▍▆▉▅▍▆▍.▋▆▊▆▋(▌██▊▋▅ = ▇) ▅▇▍▆ ▆▅▋▌ █ █▅▌▉▆▄▉ ▍▉▍▇▅ ▆▆██▉▉ ▌▌▉██▇▉ ▄.█▄▄ ▇▍▅ ▇█▆ ▄▋▋█ - ▋▍▉▄->▋▋.▆▌▄ ▉▋ ▋▊▍▄ ▍▄▋▉▍▅ ▉▉▌▆▍: ▅▋▌▍ ▇▋▌▅ + ▄▌▄▇▋▊▇ ▅██ ▇▉▇▆▇▉▆▇
56 Days Ago
▄▉▅▌▋▄: ▅▇▌▄▊█▅▍▋▊▆▍▍█▄▅▌ - ▅█▉▋▊▌▋█▄▍▊▅▄▆▋▆▅▉▍▋ ▍▇▆▇ ▆█▅▋▍█▌▉▍ ▋▍▇▅▇▉█▄▉▉█▉▌▋█ ▉▋▋ ▌▅█▌▋▆▆█▅▋▄▉▊▄▅▅▆▆ ▇▄▋▄ █▋ ▇▌▋▌ ▇▋ ▊▆▅▊ ▄▇█▌ ▆▅ ▍ ▌▇▋▍▄ ▍▇█ ▊█▅▅▊. ▍▌▋▋, ▉▍█▇▄▇▄▌▇ ▍▄▋▊▇▍▆▄▌▊▊.▋▇▌▇▇ ▊▇ ▉▄▉▊▅ ▊▋ ▇▇ ▊ ▉▌▍▊▅ ▊▍▇▋▄: ▄▆▌▊ ▄▅▄▍▅ ▄▄▄ ▇▄▉▋▌▆▌ ▄▍▄▊ ▉█▄▊▍▊▋▌
56 Days Ago
▍▄▌▊▊: ▊▅▋▆▇▆▋▆▍█▉▄▍ - ▅▅▅ ▄▍▍▊▍ ▋▊▌█ ▋█ ▇▌▍▋▆ ▍▆▊▆▌▅▊ ▄▊▉ ▌▊▆▇▌▇▍▋▌▅▌▄▋▍█▍▌ ▉▌█▇ ▍▊▇▄▋█ ▌▇▌▆▌▍█ ▍▄▉ ▄▍ ▄▇▅ ▅▊▇▍▉▋ ▋▍▇▄ - ▆▆▅▌ -> ▍▍▆▅, ▍▄ ▇▍▍▍ ▅▇▍█▇▋ ▊▋▅▅▌: ▄▍▅▅ ▋▅█▉ ▅▊▋ ▆▄▄▊▌▋▅ ▆▌▅▋ ▇▌▅▋▇▉▊▇
56 Days Ago
▄▅▆▊▅▇: ▌▅▊▌▇▅▇▅ ▋██▅ █▉▄▄▉▊ ▊▋ ▇▌▄▇▆▇▋▇▊▅▊█▌ ▄█▌ ▆▋▍▍▋▌▊▆▆▇▄▉█▍▉▉▍ - █▄▍▅ ▇▊▍▇▍█▊ ▋▄▇█▅▅▌▌▋▊▍ █▅▋▄▍ ▇▆▌▋▉ ▅█▇▍█ ▋▌▅▍▉▌▇▄█▆.▄▉█▇▅▋ ▋▇▉▉▋: █▇▋▊, ▅▄▋▄▊▉▍ █▊█▍▋▋▄
56 Days Ago
▄▉▌▆▆: ▊▍▅█▅▌▊▍▅▇▆▉▍█▋▌▉ - ▆▍█ █▊▊█▊▉▌.▍▇▍▄▄▄█▌▍▇▅▉▌▆▄▌█▍▄█▉ ▅▄ █ ▇▌▋▌▄▆ ▋▋▊▄▊ - ▊▅▇ ▅▉█ ▉▌ ██▋▄▆▇▋ ▅█▊▄▆▌▆ ▉▋ ▅▇▊▌▊▊ ▇▌▌▉█▊ ▅▋█▄▄ - ▆▊▍▉▋▉█ ▆▅▆▄▉▋▌ █▉▉▍ ▆▋▊▆▌▅▌ ▆▊▌▅ ▍▋▅ ▄▅▉▊ ▊▅█▋▅ ~▊█▇, ▆▇▄▋->▄▄▊▌. ▆▆▇▄▋ ▌▋ ▉▌▊▅ ▆▉▍█▉▆ ▌▍█▉█▊▄▌█▌█ ▅▌▌▄▇▌▍ ▌▌ ▉▌'▌ ▇▍▍▉ █▆ ▌▇▌▉ ▉▆▅▅▆▌▉▆▆ ▆▍▆▇. ▍▋▅▌▊: ▄▊▋▋ ▍▅▄▉▉ + ▄▊▉▊▉▊▊ ▇▊▍▅ ▊▄▆▉▆▊▌ ▅▉▍▋
56 Days Ago
▇▄▇▅▍: ▆▊▊▌▆▅▋█▉▌▄█▌▆▌▅▇ - █▆▍▆▇ ▉▄▊▊▉▍▅▆▌▌▊.▊▄▄▍▆▍▆▌▇▋▍▇█▅ ▍▅▄ ▄ ▊▄▅ ▋▍▅▊▅▊▊▋▇▆▄▆ ▌▅ ▆▋▆▅█ ▍▅▌▉▉▋▆ █▉▌▄▆ ▅▌█▌▄▍ ▇.▄▇▉ ▄▄█ ▍▅▊ ▄▋▇▌▍▆▅, ▄▍▇▊▌▍▅▄ ▍▆.▄▌▇->▇▇▅▌. ▌▄▅▇▄: ▋▅▉▊ ▊█▌█▆ ▆▌▋ █▌▊▆▉▅▅ ▉▅▌▇ ▄▋▆▊▉▉▄▌
57 Days Ago
▄▍▉▅▊: ▄▇▊▄▅▌▋▌▆▄▇▊▅▍█▆▍ - ▄▇▉ ▆▆▌ ▆▇▉▌▇▌▇▆▆▅▆▄ ▇▄ ▆ ▇▌█▊▉▊ █▌▌▋▆ ▆▅▍ ▅▉█ ▋▉█▋ ▊▄█▄▍ ▌▄% █▍ ▌▄▆ ▊▊█▅ ▉▋ ▆▋▉▊▄▄▉▅, ▆▅▉▋->▇▋▊▉. ▋▌'▄▉ ▊▋█ ▇▍ ▍▅▄█▆▋ █▌▄▇ ▊▅▄▍▇▉ (▋▉▍▍) ▅█▇▊▅: ▍▊▄▄ ▅█▇▆▊ + ▄▌█▋▍▇▄ ▌▇█▍ ▇▋▌▊▄▍▆█
57 Days Ago
▋▌▋▅▇: ▋▅▊▇▍▉▌▆▍▆▊▋█▉▍██ - ▊█▆▅▆▅▇ ▅▇▅ ▋██▊▊▉▌▅▉▅▆▋█▅▌▇▆▊▅▉▊ ██▆▆▆ ▍▅ ▉▍▆ ▆▊▇▅▋▉▊▍▅▊▇█▆▆▌▍▄▇▍ ▍▋▍▋▉ ▆▍▅ ██▊ ▊▉▊▌▍▅ ▄▄▄▌ ▊▊▄▍▆ ~▄▆% ▄▇▇▌▌ ▊▄ ▉▇ ▌▌▌▋▇▆, ▉▉▍▋▌->▇▆▋▌ ▄▆ ▅▆▄▌ ▌▇▆▋▅: ▄▄▋▌ ▍▉▇▊▆ + ▆▅▇█▇▅▉ ▍█▆▌ ▋▉█▌▉▉▋▉
57 Days Ago
Update: adding HandleIgnoreTerrain that works on a batch of positions - also ninja-fixing a bug in batch overload of HandleIgnoreCollisions that screwed layermasks - good thing it wasn't used anywhere Tests: ran unit tests
57 Days Ago
█▌▅▋▅▅: ▅▉▅▉▌ ▉▇▋▊▇▇█▍▉▋ ▆▌▅▉▌▇ ▆▇ █▍▌▇▄▆▅▊▄▌▆▄▄▄▆▌▄ ▅█▉▍ ███▊ ▌▅ ▍▄▆▆▋▍▆ ▋▊▍▅ ▇▉ ▉▋▆▉▋ █▊▆▊▆█▋▍ ▊▇▍██▋▅▄▅▊▋▊█▅▌▆▉▍▌ ▋▌▄▆▅, ▌▋▅▅▍ ▇▋ ▌▉▋ ▆▌▌ ▅▉█▅▉ █▄▉▍▆ ▇▌▍ ▄▇▉▍▅ ▊▅▋▊▊: ▊▍▄ ▋▍▍▅ ▊▌▄█
57 Days Ago
▊▄▅▄▆▋: ▇▄▉ ▋▆██▄▉▆ ▌█▉▉▍ ▄▊ ▊▆▉▅▅▋ ▍▅█▅▊▊▉▌▅▊ ▌▄█▊▋▄▊ ▋▆▇▆▍ ▉▄▍▆▉▇ █▋▋▉▅▆▊▊▋▆ ▋▇ ▄▇▊▋▋ - █▉█▍ ▉▊▌▍ ▌▉▍▉ █▅█▄▅ ██▌▆ ▍▅ ▍▄▆ ▇▍▌ ▇▌▆▌ ▆▉ ▋▅█▌▅▍▉ ▆▋▊▅▇▄▇▆ ▌▍▆▌ ▉▉▇█▌ ▇▆▌▅▉▊▋▋▅▊▋▍▋ ▉▇▍ ▋▊▇▇▍▌▆▊▉█ ▌▍▍▋ ▄▇▊▊▉▌▄█▋ ▅▍▇ ▅▇▉▇ ▅█▍▍ - ▋▌▍▅▌ █▍ ▆▊▄▋▋ ▋█▊ ▇▆▅. ▄█▌▆▍ ▆▇▉▋▌ ▄▅▇█▄ ▄▍▅▇█▋▄▌▌ ▋▊▇▅▉'▋ ▋▅▄▄█▉ ▄█ ▍▋▌▆▋ ▄▅█▋ ▇▊ ▋▉█▄▌▇▍▉▄█▆▍▆. ▄▄▅▌▅: ▆▄▉ ▄█▆▊ ▊█▇▌▊ ▇▌▍ █▌▅▆▅▆▊ ▉▍▍▍▊▋▉ ▆▊▍▆▇█▇▅ ▋▄▆█ ▆▌▉▋▇▅ ▇▍▋ ▅▌▍▋▌▊▉▊
57 Days Ago
▉▌▇▅█▆: ▉▄▄▇▆▆ ▊▍▋▋▅▍█▍█ ▄▄▆▌ ▍▋▊▊▋ ▊▇▉ ▉▆▇▉█▍▉▄.▇▇▆▍▅▇▅▍▊█▋▅ ▅██ ▌▄▆▉▉▌▇▇.▊▌▋▄▊▇▅▋▍▍▍▅▋ - ▋▇▋▊ ▊▋ ▍▆ ▌▆█ ▅▋██▅█▄ ▅▍▍▊ ▄ ▇▆█▉█ ▋▌ ▅▅▇▋▅▋▉ ▍▌▄█▅ ▋▊▇▍ ▍▌ ▊▉▉ ▌▋▅▌▄▆█ ▇▅▆██▄▅▆▌▄▇▋▊ ▉▅ ▅▉ ▌▌█▄▆▉ - ▊▌▅▆▆ █▅ ▌▅█▅ ▉▋▌▄▊: ▋█▅ ▅▌▉ ▍▍▍ ▋▊▊▄ ▆▌▇▄▉
57 Days Ago
▋█▌▍▋: ▅▋█▆▋▆ ▉▇▅▆▇ ▌▊▄▅███▄.▇▇▌▇█▊ ▅█▉▆ ▄▋▅▆ █▄█▅▋▊▄▌▆▍ █▋▋▄▅▄█▇▄▌▉ █▆ █▍▉▊▋▄▅▅▉▆▊▆ ▄▊▇ ▊▌▍█▄▍▍▋▌▄▆█▋ - ▊▋▇▊▄▋▄▅▅ ▍ ▆ ▌▄▋▍ █▄▋▅█▅▊ ▅▌ ▄▇▇█▆▋▉▉ ▊▇█▌▍▍▆▆ ▉▅▉▍▋'▊ ▍▅▄▇▌ ▇▄▄ ▊▄▉ █▊▊█ ▊▍█▇▊, ▅▊▇ ▄▉▅▉▌▌ ▄▅▆▅ ▇▇▅█▍ ▌▆█ ▊▋▇▆█▇▉ ▌▍▅▄▉▄█▇ ▋▍▋▋▋: ▆▅▉ ▍▇▇ ▆▇▆ ▅▄▉▅ ▅▉▌▍
57 Days Ago
Merge: from parallel_validatemove/stable_playercache Promoting stable player cache version as main dev direction Tests: none, no conflicts
57 Days Ago
▉▌▄▉▍▌: ▆▌▋▇▉ ██▄▇▇ ▉▍▄ ▇▆▉█▅▌▋ ▊▊▆▊▊▅▉ ▆▅▇▇ ▋▆▇▇▋▊▌█ ▄▄▊▍▉ ▋▇▆▇'▄ ▍█, ▍▊▅ ▅▊▊ ▄▋▇▍▅▍ ▍▍▋ ▊▊▍█, ▌▉▊ ▋ ▋▍▋▊ ▌▇ ▍▅▆▅▍ █▄▄▅▋▅▉▅▄ ▅▌▋▍ ▉▄▊▉█ ▉▅▌▆▍/█▆▌▍ ▆▇█▋▍: ▋▄█▊▊▉ ▅▇▆▇ ▉▉▌▆▋▄▋ ▋▇▋▊
57 Days Ago
▆▇▊▍▉▇: ▍▌▆ ▍▊▅▅▌▍▌█ █▊▊ ▊▉█▍▊▄, ▇▆▌▍ ▆▍▋▍▍ ▌█▉▅▉▅█▌ ▉▅ ▉▍▉▋▍ ▇▌▉ ▍▊▊▍▋▆█ ▄▊▍▆ ▋▊▇▆▌▄ ▇▌▆▅ ▉▆▋▌▌▅▅ ▌█ ▍▉ ▇█▋, ▇▆▍ ▋▇▊██ ▉▉ ▌█▅▋▊▊ ▉▉ ▊▇██▍▄▍ ▅▇ ▆▅▍▋▇ ▅▊▌▊ ▅▊▉▊▊ ▄▊▆▄▇: ▄▇▆▌▇▄ ▋▅▇▍ ▇▌▌▅▇▆▇ ▉▌█▆
58 Days Ago
▄▄▄▆▍▇: ▇▌▆▄▋ ▌▊▊▇▌▅▉ █▉▉▊▄▅▌▍ █▆▊▉ ▇▌▉▋▅ ▉▋▅▋▍▄▆ ▆▊▌█▆▇▍▌█▆▋ ▇▄█ ▍▍▇▍▍ ▄▅▋▋▌: ▇▍▉ ▌▄▍▋█▉▇ ▇█▆█
58 Days Ago
Clean: consolidate some work buffers Tests: ran staging demo
58 Days Ago
▊▉▋▍▇▆: ▌▆█▊▄ █▌▇ ▄█▋▇█ ██▄ ██▄▌▍▅▍ ▅▍▊▌ ▌▉ ▌█▉▅▌▄▇▍▆▇▅▍▋▅▋▍▋ ▇▇▆▊▄ ▆▌█ ▇ ▋▇▇▋█ ▉▄ ▌▆ ▍▅▆▉█ ▄▅▆▅▍ ▌▅▍ ▅▅▅ ▆█▉▌▋, ▆▊▊ █▇'▄ ▊█▌▉▌▍▍▋▋ ▉▋▍ ▆▉▌▅▍▊ ▆▋▅▅ ▉▅▅█▍: ▉▋█▉▅▄ ▍█▋▆ ▇▍▆▄█▇▊ ██▇▇ - ▍▅▋ ▄▆▉▌█▍▋██▍ █▄▆▍▊▍▆▄▄▌