REPOSITORY SOURCE

platform-route-numeric-investigation.json

docs/evidence/platform-route-numeric-investigation.json

1{
2  "fixture": "authored-platform-routes.1",
3  "stage": "Pre-fix development capture on base 9735b99",
4  "firstDivergentTick": 59,
5  "field": "/payload/entities/snapshot/entities/1/components/Transform/rotation/1",
6  "nodeValue": 0.09651617961176595,
7  "browserValue": 0.09651617961176594,
8  "nativeHashes": {
9    "node": "66b9ca2a576317daa8d7dab34e5d9583251aa6adb15437d5dd34a437f871fa21",
10    "browser": "66b9ca2a576317daa8d7dab34e5d9583251aa6adb15437d5dd34a437f871fa21"
11  },
12  "cause": "Canonical orientation reconstructed native yaw with JavaScript trig; V8 versions produced a one-ulp difference although native bytes were identical at this boundary.",
13  "correction": "Authored route transforms now project the owned native quaternion directly. Existing manual platform representation remains unchanged for profile-six migration. The exact cross-runtime checkpoint assertion is retained.",
14  "followup": {
15    "stage": "After native quaternion projection, before arithmetic yaw wrapping",
16    "firstDivergentTick": 128,
17    "fields": [
18      "/payload/entities/snapshot/entities/1/components/KinematicPlatform/targetYaw",
19      "/payload/physics/platforms/authored:00000000-0000-4000-8000-000000000002/target/yaw"
20    ],
21    "nodeValue": 0.49333333333333157,
22    "browserValue": 0.4933333333333317,
23    "nativeSnapshotsEqual": true,
24    "correction": "Route angle normalization now uses bounded arithmetic, with exact authored endpoints, instead of atan2(sin, cos). Exact checkpoint comparison remains required."
25  }
26}
27