You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added reusable engine pointer drag support in `src/engine/input/PointerDragState.js` and bridged it through `InputService`.
5
+
- Input Mapping V2 now surfaces engine pointer drag descriptors as mappable mouse-compatible bindings without changing the Input Mapping V2 schema.
6
+
- Gamepad mapping tiles now display `Game Controller` plus the input detail on separate lines, with standard button names when `gamepad.mapping === "standard"` and `Button <number>` fallback otherwise.
7
+
- Capture UI now includes pointer drag gesture buttons, an `<hr>` separator before bottom `Refresh Gamepads`, and second-click cancel for active keyboard, mouse, and gamepad capture.
8
+
- Mapping tiles increased from 225x175 to 275x225 while preserving selected tile indication, combo display, delete behavior, fullscreen layout, and auto gamepad polling.
9
+
10
+
## Notes
11
+
-`docs/pr/BUILD_PR.md` currently describes an unrelated Level 18 runtime hardening rebase. The inline PR_26140_095 request was used as the source of truth.
12
+
- No schemas were changed.
13
+
- Sample JSON was not touched.
14
+
- Workspace V2 launch behavior was preserved.
15
+
16
+
## Playwright Impact
17
+
Yes. This PR changes runtime input behavior and Input Mapping V2 UI interactions.
18
+
19
+
Coverage added/updated:
20
+
- pointer drag descriptors are surfaced in Engine Input Sources and Capture.
21
+
- mouse drag release and rectangle gestures can be mapped.
22
+
- gamepad tiles display `Game Controller` plus input detail on separate lines.
23
+
- standard gamepad button names display for standard-mapped controllers.
24
+
- unknown gamepad buttons fall back to `Button <number>`.
25
+
-`<hr>` appears immediately before bottom `Refresh Gamepads`.
26
+
- clicking an active Capture button cancels capture.
27
+
- capture timeout still cancels capture.
28
+
- mapping tile width and height are each increased by 50px.
29
+
30
+
## Validation
31
+
- PASS: targeted JS syntax validation for changed engine input and Input Mapping V2 files.
32
+
- PASS: engine import validation for `PointerDragState` and `InputService`.
- PASS: `npm run test:workspace-v2` final run, 61 tests passed.
36
+
- PASS: `git diff --check` with line-ending warnings only.
37
+
- PASS: Playwright V8 coverage generated at `docs/dev/reports/playwright_v8_coverage_report.txt`; changed runtime JS coverage guardrail reports no warnings.
38
+
39
+
## Manual Validation
40
+
1. Open `tools/input-mapping-v2/index.html`.
41
+
2. Confirm Capture shows keyboard, mouse, pointer drag gesture buttons, detected gamepad buttons when available, an `<hr>`, and `Refresh Gamepads` at the bottom.
42
+
3. Click `Capture Keyboard`, click it again, and confirm capture cancels and highlight clears.
43
+
4. Create a mapping tile, click `Mouse Primary Drag Rectangle`, and confirm the tile shows `Mouse` / `Primary Drag Rectangle`.
44
+
5. With a standard mapped controller, capture a known button and confirm the tile shows `Game Controller` plus the standard button name.
45
+
6. Confirm no sample JSON validation or full samples smoke test is required for this PR.
46
+
47
+
## Full Samples Smoke
48
+
Skipped per PR instructions. This change is scoped to engine input support and Input Mapping V2/Workspace V2 validation.
0 commit comments