Commit 4e5837f
committed
fix: baseline test recorded a platform dependent quaternion
NetworkTransformStateSerializationBaseline failed on both Ubuntu jobs, on Mono
and on IL2CPP, with the same two mismatches and the same actual hashes:
QuaternionSync.Full and QuaternionSync.Teleport. Byte length was unchanged in
both, so it was the payload and not the format.
Those two are the only cases that put an uncompressed quaternion on the wire,
and the fixture built it with Quaternion.Euler. That is native trig, and Linux
lands a ULP away from Windows where the baseline was recorded. Compressed and
half float quaternion quantize the difference away, and the euler cases write
the RotAngle literals, which is why the other 23 agreed.
Not the serializer: FullPrecision.AllAxes writes nine raw floats and passed, so
float serialization is byte identical on both platforms.
Rotation is now literal components, so every input to the matrix is a literal or
a managed function of one. Re-recorded the four QuaternionSync signatures; the
lengths are unchanged and the other 21 are untouched.1 parent e37263e commit 4e5837f
1 file changed
Lines changed: 9 additions & 5 deletions
File tree
- com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransform
com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransform/NetworkTransformStateBaselineTests.cs
Lines changed: 9 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
79 | 83 | | |
80 | 84 | | |
81 | 85 | | |
| |||
0 commit comments