REPOSITORY SOURCE

multiplayer-stall-replay.json

docs/evidence/multiplayer-stall-replay.json

1{
2  "source": "0f6881e57dc8ad6e7a53264da000083fda21dff5",
3  "run": "https://github.com/jasona/darkwind-web/actions/runs/40154102990",
4  "case": "rigged travelers walk, settle when pose delivery stalls, and resume without leaking actors",
5  "method": "Feed recorded observer room arrivals preceding lastSubmittedAtMs - frameMs into the production ActorMotion. This approximates the last rendered sample; it does not replay the actual presentation channel or earlier render calls.",
6  "eventsStart": 45972.69999999995,
7  "approximateRenderStart": 56576.20000000001,
8  "accepted": 72,
9  "last16AcceptedSamples": [
10    {
11      "arrival": 54381.19999999995,
12      "position": [
13        1.5219553709030151,
14        0.7445458173751831,
15        -2.2622733116149902
16      ],
17      "yaw": -0.08000000000000002,
18      "sample": {
19        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
20        "sequence": "296",
21        "time": 289639.369705
22      }
23    },
24    {
25      "arrival": 54475.899999999965,
26      "position": [
27        1.5070382356643677,
28        0.7448452711105347,
29        -2.1822731494903564
30      ],
31      "yaw": -0.08000000000000002,
32      "sample": {
33        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
34        "sequence": "297",
35        "time": 289776.610778
36      }
37    },
38    {
39      "arrival": 54576.399999999965,
40      "position": [
41        1.477203607559204,
42        0.7449529767036438,
43        -1.8231080770492554
44      ],
45      "yaw": -0.08000000000000002,
46      "sample": {
47        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
48        "sequence": "298",
49        "time": 289901.500608
50      }
51    },
52    {
53      "arrival": 54682.19999999995,
54      "position": [
55        1.4552960395812988,
56        0.7473834753036499,
57        -1.5443060398101807
58      ],
59      "yaw": -0.08000000000000002,
60      "sample": {
61        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
62        "sequence": "299",
63        "time": 290001.976121
64      }
65    },
66    {
67      "arrival": 54879.19999999995,
68      "position": [
69        1.432883381843567,
70        0.7450999617576599,
71        -1.2647444009780884
72      ],
73      "yaw": -0.08000000000000002,
74      "sample": {
75        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
76        "sequence": "300",
77        "time": 290136.33676
78      }
79    },
80    {
81      "arrival": 54981.09999999998,
82      "position": [
83        1.402949571609497,
84        0.7450574636459351,
85        -0.8926048874855042
86      ],
87      "yaw": -0.08000000000000002,
88      "sample": {
89        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
90        "sequence": "301",
91        "time": 290267.183946
92      }
93    },
94    {
95      "arrival": 55079.09999999998,
96      "position": [
97        1.3730533123016357,
98        0.7450994253158569,
99        -0.5205271244049072
100      ],
101      "yaw": -0.08000000000000002,
102      "sample": {
103        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
104        "sequence": "302",
105        "time": 290396.449871
106      }
107    },
108    {
109      "arrival": 55183.399999999965,
110      "position": [
111        1.3506783246994019,
112        0.7450625896453857,
113        -0.240833580493927
114      ],
115      "yaw": -0.08000000000000002,
116      "sample": {
117        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
118        "sequence": "303",
119        "time": 290528.450064
120      }
121    },
122    {
123      "arrival": 55283.59999999998,
124      "position": [
125        1.3433914184570312,
126        0.7449660301208496,
127        -0.04150734841823578
128      ],
129      "yaw": -0.08000000000000002,
130      "sample": {
131        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
132        "sequence": "304",
133        "time": 290630.327101
134      }
135    },
136    {
137      "arrival": 55485.899999999965,
138      "position": [
139        1.3433914184570312,
140        0.7449744343757629,
141        -0.028472356498241425
142      ],
143      "yaw": -0.08000000000000002,
144      "sample": {
145        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
146        "sequence": "305",
147        "time": 290760.946248
148      }
149    },
150    {
151      "arrival": 55590.399999999965,
152      "position": [
153        1.3583072423934937,
154        0.7454708218574524,
155        -0.10847026854753494
156      ],
157      "yaw": -0.08000000000000002,
158      "sample": {
159        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
160        "sequence": "306",
161        "time": 290900.336691
162      }
163    },
164    {
165      "arrival": 55691.59999999998,
166      "position": [
167        1.3802329301834106,
168        0.7465186715126038,
169        -0.37444961071014404
170      ],
171      "yaw": -0.08000000000000002,
172      "sample": {
173        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
174        "sequence": "307",
175        "time": 291023.08219
176      }
177    },
178    {
179      "arrival": 55894.399999999965,
180      "position": [
181        1.4172906875610352,
182        0.7489002346992493,
183        -0.8394601345062256
184      ],
185      "yaw": -0.08000000000000002,
186      "sample": {
187        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
188        "sequence": "308",
189        "time": 291177.321061
190      }
191    },
192    {
193      "arrival": 55976.19999999995,
194      "position": [
195        1.433945894241333,
196        0.7449829578399658,
197        -1.0472832918167114
198      ],
199      "yaw": -0.08000000000000002,
200      "sample": {
201        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
202        "sequence": "309",
203        "time": 291286.830473
204      }
205    },
206    {
207      "arrival": 56094.5,
208      "position": [
209        1.4636683464050293,
210        0.7450400590896606,
211        -1.4192774295806885
212      ],
213      "yaw": -0.08000000000000002,
214      "sample": {
215        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
216        "sequence": "310",
217        "time": 291423.351473
218      }
219    },
220    {
221      "arrival": 56292.09999999998,
222      "position": [
223        1.4935612678527832,
224        0.7440379858016968,
225        -1.7914149761199951
226      ],
227      "yaw": -0.08000000000000002,
228      "sample": {
229        "stream": "ec0a72a3-cfb2-4a99-8ec1-af72a29ae4fd",
230        "sequence": "311",
231        "time": 291551.240178
232      }
233    }
234  ],
235  "arrivalAge": 284.1000000000349,
236  "interpolationDelay": 189.5903410000028,
237  "extrapolatedAge": 182.0965820000274,
238  "extrapolationLimit": 150,
239  "pose": {
240    "position": [
241      1.528622520659772,
242      0.7428626592300923,
243      -2.2278931778572026
244    ],
245    "yaw": -0.08000000000000002,
246    "speed": 0,
247    "stalled": true,
248    "time": 291.73333676000004
249  },
250  "observedActors": {
251    "rigged": 1,
252    "walking": 0,
253    "stalled": 1,
254    "samples": 8,
255    "matrices": 154
256  },
257  "observedRender": {
258    "instances": 685,
259    "triangles": 75232,
260    "visibleInstances": 573,
261    "shadowInstances": 389,
262    "visibleTriangles": 68776,
263    "shadowTriangles": 58948,
264    "drawCalls": 31,
265    "buffers": 53,
266    "textures": 4,
267    "targetBytes": 24150016,
268    "targetGeneration": 1,
269    "width": 960,
270    "height": 640,
271    "frameMs": 8.699999999953434,
272    "submittedFrames": 6,
273    "completedFrames": 5,
274    "failedFrames": 0,
275    "cancelledFrames": 0,
276    "pendingFrames": 1,
277    "skippedFrames": 10,
278    "completionWaitMs": 9779.299999999988,
279    "maxCompletionWaitMs": 12811,
280    "lastSubmittedAtMs": 56584.899999999965,
281    "lastCompletedAtMs": 56351.899999999965
282  },
283  "limits": [
284    "Room events are observed before the application handler; canonical presentation arrival may differ.",
285    "Earlier rendered target history is absent. This candidate replay cannot establish the complete failure cause.",
286    "Slow-render capture starts after its last submitted frame, so that case cannot be replayed from the retained event ring."
287  ],
288  "nextMeasurement": "Bounded page long-task durations and per-queue submit/completion wall times, alongside device/worker/timer events. Do not interpret notification latency as measured GPU execution time."
289}
290