locomotion-acceptance.json
docs/evidence/locomotion-acceptance.json
1{
2 "sourceBase": "90e406617f40c0056e9c870d4ebab789f89ad342",
3 "sourceSha256": {
4 "packages/schema/locomotion.ts": "7febc27c7fdabfa0a0ff87dcf127294fbba9f827d6631004906d360309d44a39",
5 "packages/schema/actors.ts": "f07eb512ac5a6b92c4c93aa495e5ed5ca776da3f8180d9af1896e58d9cd7263a",
6 "packages/net/protocol.ts": "b5463850183dae358dfafb7a219022d65b9caa545d87da30dbb80ea059b12f2d",
7 "services/relay/server.ts": "eb35ee8280d774e116b8c3a2209f7473cbe6ee57a3bd4c8d9c0abcaf0e435210",
8 "apps/player/simulation.worker.ts": "ea2ee4aa9dc092ed53ec2f0c86c489eea73674b6ff33b70ffcdb7aa6ecf28a53",
9 "packages/render/actor-motion.ts": "6a7b8a2293c7d6c5e083b1c6048474b3c7a38fd6068a62f9cf4096276053d9b4",
10 "packages/render/actor-rig.ts": "d3ae4c48eb2aa1de327d6806a2f95c46499750a6101913142a3a6a7c869e5c1a",
11 "packages/render/presentation.ts": "c08f7157837abeff7d7d45ac7548813dc986f1908bb93287657aaf095c94df94",
12 "tools/art/traveler.ts": "ca7ca15f91f712c4edc2d70450ddebbc11ddf49ee78f19b2c36190d5cbe87734"
13 },
14 "headless": {
15 "fullSuitePassed": 352,
16 "fullSuiteFailed": 0,
17 "subsequentRemoteActorMigrationFilePassed": 7,
18 "newTestsInFollowup": 1
19 },
20 "check": {
21 "typescript": "passed",
22 "importBoundaries": 76,
23 "serverBuild": "passed in /tmp/dw-locomotion-server"
24 },
25 "ferryBrowser": {
26 "startTime": "2026-10-25T04:38:52.125Z",
27 "duration": 61504.081999999995,
28 "expected": 2,
29 "skipped": 0,
30 "unexpected": 0,
31 "flaky": 0
32 },
33 "observed": {
34 "ferry-carried-idle.json": {
35 "position": [
36 3.099952459335327,
37 1.1159999370574951,
38 1.8537274599075317
39 ],
40 "paused": false,
41 "time": 6.30557195602384,
42 "velocity": [
43 0,
44 0,
45 0
46 ],
47 "room": {
48 "self": "84199b3c-a771-43fe-8270-b3c2d84a5e71",
49 "host": "84199b3c-a771-43fe-8270-b3c2d84a5e71",
50 "epoch": "1"
51 },
52 "actors": {
53 "rigged": 1,
54 "walking": 0,
55 "airborne": 0,
56 "stalled": 0,
57 "samples": 8,
58 "matrices": 154
59 },
60 "renderedHistory": {
61 "samples": 128,
62 "maxWalking": 1,
63 "maxAirborne": 0,
64 "last": {
65 "rigged": 1,
66 "walking": 0,
67 "airborne": 0,
68 "stalled": 0,
69 "samples": 8,
70 "matrices": 154
71 }
72 }
73 },
74 "traveler-locomotion.json": {
75 "position": [
76 0.49999937415122986,
77 0.784916877746582,
78 6.500000476837158
79 ],
80 "paused": false,
81 "time": 27.944468897994035,
82 "velocity": [
83 0,
84 0,
85 0
86 ],
87 "room": {
88 "self": "faf03e1d-eb07-4d42-8f19-0aee59de38da",
89 "host": "faf03e1d-eb07-4d42-8f19-0aee59de38da",
90 "epoch": "6"
91 },
92 "actors": {
93 "rigged": 1,
94 "walking": 0,
95 "airborne": 0,
96 "stalled": 0,
97 "samples": 8,
98 "matrices": 154
99 },
100 "renderedHistory": {
101 "samples": 10,
102 "maxWalking": 0,
103 "maxAirborne": 1,
104 "last": {
105 "rigged": 1,
106 "walking": 0,
107 "airborne": 0,
108 "stalled": 0,
109 "samples": 8,
110 "matrices": 154
111 }
112 }
113 },
114 "traveler-after-landing.json": {
115 "engine": "0.1.0",
116 "world": "darkwind-garden-ferry",
117 "release": "garden-ferry.1",
118 "time": "2026-10-25T04:39:50.681Z",
119 "browser": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/141.0.7390.37 Safari/537.36",
120 "webgpu": true,
121 "quality": "high",
122 "startupStages": {
123 "started": 79.59999999403954,
124 "admission": 207.5,
125 "graphics": 1383.9000000059605,
126 "simulation": 731.8000000119209,
127 "presentation": 1384.300000011921,
128 "room": 739.0999999940395,
129 "ready": 1384.300000011921,
130 "failed": null
131 },
132 "graphicsLifecycle": [
133 {
134 "stage": "probe",
135 "generation": 0,
136 "at": 80.80000001192093
137 },
138 {
139 "stage": "device",
140 "generation": 1,
141 "at": 353.20009765028954
142 },
143 {
144 "stage": "adapter-request",
145 "generation": 1,
146 "at": 353.30009764432907
147 },
148 {
149 "stage": "device-request",
150 "generation": 1,
151 "at": 353.50009766221046
152 },
153 {
154 "stage": "resources",
155 "generation": 1,
156 "at": 354.30009764432907
157 },
158 {
159 "stage": "shader-modules",
160 "generation": 1,
161 "at": 360.80009764432907
162 },
163 {
164 "stage": "shader-validation",
165 "generation": 1,
166 "at": 360.90009766817093
167 },
168 {
169 "stage": "shader-pipelines",
170 "generation": 1,
171 "at": 371.70009765028954
172 },
173 {
174 "stage": "shader-identity",
175 "generation": 1,
176 "at": 487.40009766817093
177 },
178 {
179 "stage": "initial-upload",
180 "generation": 1,
181 "at": 487.80009764432907
182 },
183 {
184 "stage": "catalog",
185 "generation": 1,
186 "at": 488.00009766221046
187 },
188 {
189 "stage": "model-prepare",
190 "generation": 1,
191 "at": 488.40009766817093
192 },
193 {
194 "stage": "model-allocate",
195 "generation": 1,
196 "at": 996.9000976681709
197 },
198 {
199 "stage": "model-upload",
200 "generation": 1,
201 "at": 1003.8000976443291
202 },
203 {
204 "stage": "model-install",
205 "generation": 1,
206 "at": 1004.2000976502895
207 },
208 {
209 "stage": "actors",
210 "generation": 1,
211 "at": 1004.5000976622105
212 },
213 {
214 "stage": "ready",
215 "generation": 1,
216 "at": 1383.5000976622105
217 }
218 ],
219 "renderPlacement": "worker",
220 "viewport": [
221 960,
222 640,
223 1
224 ],
225 "place": "garden",
226 "tick": "372",
227 "position": [
228 0.49999937415122986,
229 0.784916877746582,
230 6.500000476837158
231 ],
232 "frameInterval": {
233 "p50": 183.29999999999973,
234 "p95": 416.5999999999999
235 },
236 "tickMs": 2.9000000059604645,
237 "renderObservedAtMs": 9871.800000011921,
238 "render": {
239 "instances": 434,
240 "triangles": 79672,
241 "visibleInstances": 277,
242 "shadowInstances": 434,
243 "visibleTriangles": 62332,
244 "shadowTriangles": 79672,
245 "drawCalls": 31,
246 "buffers": 53,
247 "textures": 4,
248 "targetBytes": 24150016,
249 "targetGeneration": 1,
250 "width": 960,
251 "height": 640,
252 "frameMs": 6,
253 "submittedFrames": 28,
254 "completedFrames": 27,
255 "failedFrames": 0,
256 "cancelledFrames": 0,
257 "pendingFrames": 1,
258 "skippedFrames": 495,
259 "completionWaitMs": 383.59999999403954,
260 "maxCompletionWaitMs": 681.5999999940395,
261 "lastSubmittedAtMs": 9746.20009765029,
262 "lastCompletedAtMs": 9731.50009766221
263 },
264 "actors": {
265 "rigged": 1,
266 "walking": 0,
267 "airborne": 0,
268 "stalled": 0,
269 "samples": 8,
270 "matrices": 154
271 },
272 "presentationTransport": {
273 "route": "direct",
274 "received": 302,
275 "returned": 302,
276 "capacity": 4194304
277 },
278 "renderGraph": {
279 "plan": {
280 "textures": [
281 {
282 "name": "depth",
283 "format": "depth24plus",
284 "extent": {
285 "kind": "viewport"
286 },
287 "external": false,
288 "sampled": false,
289 "attachment": true,
290 "firstUse": 1,
291 "lastUse": 1,
292 "writer": "scene"
293 },
294 {
295 "name": "hdr",
296 "format": "rgba16float",
297 "extent": {
298 "kind": "viewport"
299 },
300 "external": false,
301 "sampled": true,
302 "attachment": true,
303 "firstUse": 1,
304 "lastUse": 2,
305 "writer": "scene"
306 },
307 {
308 "name": "output",
309 "format": "bgra8unorm",
310 "extent": {
311 "kind": "viewport"
312 },
313 "external": true,
314 "sampled": false,
315 "attachment": true,
316 "firstUse": 2,
317 "lastUse": 2,
318 "writer": "post"
319 },
320 {
321 "name": "shadow",
322 "format": "depth32float",
323 "extent": {
324 "kind": "fixed",
325 "width": 2048,
326 "height": 2048
327 },
328 "external": false,
329 "sampled": true,
330 "attachment": true,
331 "firstUse": 0,
332 "lastUse": 1,
333 "writer": "shadow"
334 }
335 ],
336 "passes": [
337 {
338 "name": "shadow",
339 "after": [],
340 "reads": [],
341 "colors": [],
342 "depth": {
343 "resource": "shadow",
344 "load": "clear",
345 "store": "store"
346 }
347 },
348 {
349 "name": "scene",
350 "after": [],
351 "reads": [
352 "shadow"
353 ],
354 "colors": [
355 {
356 "resource": "hdr",
357 "load": "clear",
358 "store": "store"
359 }
360 ],
361 "depth": {
362 "resource": "depth",
363 "load": "clear",
364 "store": "discard"
365 }
366 },
367 {
368 "name": "post",
369 "after": [],
370 "reads": [
371 "hdr"
372 ],
373 "colors": [
374 {
375 "resource": "output",
376 "load": "clear",
377 "store": "store"
378 }
379 ]
380 }
381 ]
382 },
383 "census": {
384 "generation": 1,
385 "textures": 3,
386 "estimatedBytes": 24150016,
387 "width": 960,
388 "height": 640
389 }
390 },
391 "shaders": {
392 "requestedRevision": "1",
393 "activeRevision": "1",
394 "hash": "039684b97282110739cbee452249807ac2ff2e2cbcefe32a87cf2da1454a8297",
395 "compilingRevision": null,
396 "pendingRevision": null,
397 "retainedSourceBytes": 0,
398 "disposed": false,
399 "last": {
400 "revision": "1",
401 "status": "applied",
402 "diagnostics": []
403 }
404 },
405 "graphicsRecovery": {
406 "status": "idle",
407 "attempts": 0,
408 "limit": 2,
409 "timeoutMs": 20000,
410 "inFlight": false
411 },
412 "graphicsIncidents": [],
413 "canonicalEntities": 1327,
414 "save": "local",
415 "room": {
416 "status": "connected",
417 "players": 2,
418 "epoch": "6",
419 "revision": "0"
420 },
421 "knownLimits": [
422 "Trusted cooperative beta",
423 "Single relay process",
424 "Original traveler rig; environment uses procedural geometry",
425 "Desktop WebGPU only"
426 ]
427 }
428 },
429 "art": {
430 "traveler": {
431 "hash": "fa873ebfcbf9152ec9646d68a949a20085226cdf98c3b4cd4484a36363b029f7",
432 "unchanged": {
433 "meshes": true,
434 "materials": true,
435 "skins": true,
436 "nodes": true,
437 "bounds": true,
438 "collision": true,
439 "census": true
440 },
441 "existingClipsUnchanged": true
442 },
443 "traveler-base": {
444 "hash": "a982880db4c55bfc26fc522d5885ddd11ec6658a6279b9fe95de27955a792d0a",
445 "unchanged": {
446 "meshes": true,
447 "materials": true,
448 "skins": true,
449 "nodes": true,
450 "bounds": true,
451 "collision": true,
452 "census": true
453 },
454 "existingClipsUnchanged": true
455 }
456 },
457 "limits": [
458 "Cooperative client-reported locomotion, not trusted server character simulation",
459 "No character geometry redesign; final polish remains open",
460 "Network shaping and physical-device acceptance remain open"
461 ],
462 "recoveryAndRendererBrowser": {
463 "startTime": "2026-10-25T04:40:25.185Z",
464 "duration": 93984.543,
465 "expected": 3,
466 "skipped": 0,
467 "unexpected": 0,
468 "flaky": 0
469 },
470 "renderedClipEvidence": {
471 "hash": "fa873ebfcbf9152ec9646d68a949a20085226cdf98c3b4cd4484a36363b029f7",
472 "joints": 14,
473 "clips": [
474 "Hearth idle",
475 "Traveler walk",
476 "Traveler airborne"
477 ],
478 "changedPixels": 29759,
479 "airbornePixels": 29218,
480 "restoredFrame": true
481 },
482 "preview": {
483 "url": "http://localhost:5180",
484 "relayReady": true,
485 "protocol": 3,
486 "retainedOriginalBeta": true
487 }
488}
489