sliding-props-acceptance.json
docs/evidence/sliding-props-acceptance.json
1{
2 "sourceBase": "db3c3003a5da761aaa3adbff692eb014429723c9",
3 "sourceSha256": {
4 "packages/schema/props.ts": "6731de5558769501e7827fd154bb2ff2385e75966f60fe3ed4065734475a6ead",
5 "packages/schema/index.ts": "be3fc1d217030ebab9ab7fbd1f614203f405a4a8bb185fde4915e2abfc92d720",
6 "packages/compiler/index.ts": "c0f599102b17d20f29cb8f0405a67c3a864ec67b56c9963329034fc78ede4427",
7 "packages/physics/index.ts": "2ef388a2b4e07dcc5a4d483471ba05473e3a44cbf04d0a36dac293c9fee4797b",
8 "packages/simulation/index.ts": "b5a78d772641fb0827b6bb7cbee1210c651d7ebe6f2d46996ca6e4e31acc33e5",
9 "packages/simulation/checkpoint.ts": "7a25b6e663ba3ce91a9507f9fd3c1446898bd4b2efd81bea540b87be468588b4",
10 "packages/net/protocol.ts": "6e789443af1ab36023a17acaebb17297490263a65069f03eec77b0d71e4f13d5",
11 "packages/net/client.ts": "0c3163c56952b70f0b93a1fd825833a6ca7e755004881036fae2b9f312369f05",
12 "packages/net/packets.ts": "8a1b1c1d3b2a8ea44b79b7b9edf3f307119f4328c169f210dd63036aec5e6720",
13 "services/relay/server.ts": "5c2685533bbbfc4bab28fbf7c35038379fa18b4b7ca5009b4d6c7c13ff5524c3",
14 "games/darkwind/garden-ferry.ts": "4944bf38fc6653c20ad88d0ec885b7fc2cd222fb4f822b441fa903c62cea1994",
15 "games/engine-zoo/sliding-props.ts": "1f8915495e6ea500ec692ef3ebf8ecdb99626492c3085db7f1847554bc8283e2",
16 "tests/sliding-props.test.ts": "30cdb275f979120cd7f073eb9db9725c66d967e16f122de552a36cfeb43d9061",
17 "tests/browser/ferry.spec.ts": "22b4a8c5d93af19526c7bd3df83b41be8340e16dc39897baeeaceedc4c07dc28"
18 },
19 "headless": {
20 "fullSuitePassed": 357,
21 "fullSuiteFailed": 0,
22 "finalFocusedPassed": 5,
23 "finalFocusedFailed": 0,
24 "newTestsInFollowup": 1,
25 "note": "Full suite preceded the final contact-pusher correction; final focused run includes that regression, stale-step rejection and the additional travel/rider lifecycle test."
26 },
27 "checks": {
28 "typescript": "passed",
29 "importBoundaries": 77,
30 "serverBuild": "passed in /tmp/dw-props-server-build",
31 "composeConfig": "passed"
32 },
33 "finalBrowser": {
34 "startTime": "2026-10-25T04:54:10.093Z",
35 "duration": 76415.037,
36 "expected": 3,
37 "skipped": 0,
38 "unexpected": 0,
39 "flaky": 0
40 },
41 "observed": {
42 "lantern-crate-rejoined.json": {
43 "position": [
44 -6.199998378753662,
45 0.7850887179374695,
46 6.599998474121094
47 ],
48 "paused": true,
49 "time": 17.714923885017868,
50 "props": {
51 "garden-lantern-crate": 4
52 },
53 "flags": [
54 "garden-lantern-lit"
55 ],
56 "velocity": [
57 0,
58 0,
59 0
60 ],
61 "room": {
62 "self": "eb8fe096-b0c8-4628-95d8-ed131e84820c",
63 "host": "eb8fe096-b0c8-4628-95d8-ed131e84820c",
64 "epoch": "12"
65 },
66 "actors": {
67 "rigged": 0,
68 "walking": 0,
69 "airborne": 0,
70 "stalled": 0,
71 "samples": 0,
72 "matrices": 0
73 }
74 }
75 },
76 "resolvedFailure": {
77 "combinedRun": {
78 "passed": 2,
79 "failed": 1
80 },
81 "symptom": "Second push rejected with A traveler is in the way while the pusher touched the rear face.",
82 "observedPusherPosition": [
83 -6.199871063232422,
84 0.785088837146759,
85 4.355149745941162
86 ],
87 "cratePosition": [
88 -6.2,
89 0.55,
90 3.6
91 ],
92 "cause": "Conservative other-traveler collision margin included the actor initiating a push away from their own capsule.",
93 "correction": "Exclude the initiating actor from other-traveler obstruction checks. Keep side, proximity, step and obstacle validation. Browser journey now deliberately approaches physical contact before repeated pushes.",
94 "retainedTrace": "/tmp/dw-props-browser-contact-failure"
95 },
96 "limits": [
97 "Discrete bounded sliding props; not free dynamic bodies or impulses.",
98 "Elected browser and client-reported poses remain trusted.",
99 "Version-2 preview starts fresh; automatic release migration remains open.",
100 "No Coolify deployment or physical-device performance claim."
101 ]
102}
103