controller-acceptance.json
docs/evidence/controller-acceptance.json
1{
2 "sourceBase": "19ea69d9ed455ee047b0b380c4eb1f8979d798d7",
3 "sourceSha256": {
4 "packages/input/gamepad.ts": "a85e5f151466f3cde0c5d180e346125caa5234a2c643b224aef0d5cf3fe05b6b",
5 "games/darkwind/gamepad.ts": "4d21d7edc98c06c75334666191486b0ea736e69f41b84bf723df06023cecf477",
6 "apps/player/gamepad.ts": "743d12520a70e925fdc19026d5b872074dbc641959589333a2a0f74b821a9085",
7 "apps/player/main.ts": "ffad1416379de2df97d2460ae25c813d76e390d6888aff69c04684eea588d61e",
8 "apps/player/style.css": "4fbed1d274cacc1b916976eebe2e8284e016a54a2094185e960f97900dd6f71b",
9 "tests/gamepad.test.ts": "2e5892f28f86416ca472c704aa02d0454d98b33933e27892c7fc828001286185",
10 "tests/browser/gamepad.spec.ts": "6735883f0e1c40b451400298b796be2e461fa155ac401266f004e5203ca3a5c7"
11 },
12 "preview": "garden-ferry.4 (unchanged)",
13 "headless": {
14 "passed": 385,
15 "failed": 0
16 },
17 "checks": {
18 "typescript": "passed",
19 "importBoundaries": 82,
20 "productionClientBuild": "passed in isolated browser server"
21 },
22 "browser": {
23 "combined": {
24 "stats": {
25 "startTime": "2026-10-25T05:44:59.564Z",
26 "duration": 49574.533,
27 "expected": 3,
28 "skipped": 0,
29 "unexpected": 1,
30 "flaky": 0
31 },
32 "cases": [
33 {
34 "title": "rebound controls move and jump, reject conflicts, update hints and survive reload",
35 "status": "expected",
36 "results": [
37 "passed"
38 ]
39 },
40 {
41 "title": "rebound interaction and chat remain playable while focus and reconnect release held keys",
42 "status": "expected",
43 "results": [
44 "passed"
45 ]
46 },
47 {
48 "title": "invalid and unwritable control storage keep defaults and session rebinding usable",
49 "status": "expected",
50 "results": [
51 "passed"
52 ]
53 },
54 {
55 "title": "controller drives real simulation, menus and safe neutral rearming through disconnect and focus loss",
56 "status": "unexpected",
57 "results": [
58 "failed"
59 ]
60 }
61 ]
62 },
63 "finalController": {
64 "stats": {
65 "startTime": "2026-10-25T05:46:38.450Z",
66 "duration": 14320.116,
67 "expected": 1,
68 "skipped": 0,
69 "unexpected": 0,
70 "flaky": 0
71 },
72 "cases": [
73 {
74 "title": "controller drives real simulation, menus and safe neutral rearming through disconnect and focus loss",
75 "status": "expected",
76 "results": [
77 "passed"
78 ]
79 }
80 ]
81 },
82 "distinctJourneysAccepted": 4
83 },
84 "corrections": [
85 "Analog unit assertion uses a numerical tolerance for floating-point rescaling.",
86 "The controller browser test now asserts the existing Your satchel. heading.",
87 "Final controller pass also verifies the explicit focus outline and D-pad slider adjustment."
88 ],
89 "visualReview": "Controller guide inspected at 1280 x 1000; full guide, status, mapping and return button visible.",
90 "limits": [
91 "Controller snapshots are simulated in browser acceptance; physical USB/Bluetooth Xbox/PlayStation hardware remains unverified.",
92 "Standard mapping only; controller remapping, deadzone preferences, vibration and touch remain open.",
93 "Keyboard remains necessary for text and keyboard rebinding; audio activation may require a native mouse/keyboard gesture.",
94 "No world/save/network protocol changes or deployment."
95 ]
96}
97