REPOSITORY SOURCE

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