Reconnecting wireless controllers without restarting Shadowrun
Both Shadowrun players gain a Check controller control and connection recovery. The original Matchbox guide and native game version stay unchanged, and reconnecting does not restart gameplay or replace saves.
What changed
- Added a shared Check controller control to the original-game and native-playtest pages. Wake the controller and press a button, then check again without reloading the game.
- The original-game adapter handles a controller returning at a different browser index, restarts a stopped input polling loop safely, and releases stale held inputs. Existing mapping preferences and four controller slots are retained.
- Controller status remains available near the game and moves into the fullscreen container while fullscreen is active. The native player keeps its existing ControllerHub input system.
- Added HTML-only cache revalidation so a revisited player page can receive current controls. Large ROM, media and runtime asset caching is unchanged.
- The Matchbox guide remains version1.1.0 and the incomplete native reconstruction remains version0.13.0. The ROM, guide behavior, native engine/assets, original snapshots and native save formats are unchanged.
Verification
- 62 shared-adapter checks execute the retained EmulatorJS4.2.3 GamepadHandler, emulator callback and GameManager input interface in a Node VM. They reproduce the sparse-index failure, recover reconnect polling, release held inputs, preserve mapping/preferences and controller slots, and check one polling timer.
- Minimal DOM fixtures check the manual Check controller action and fullscreen move/restore behavior. These are source/contract checks, not browser visual tests.
- 49 wrapper-release checks verify dependency hashes, the declared native HTML-only exception, immutable guide1.1.0 metadata/article, protected hosting configuration, generator retention and default refusal to write global discovery files.
- The release gate verifies all unchanged native inventory files and all original guide dependencies against their earlier records. The existing publication checker also verifies the unchanged native preservation ZIP.
Current limits
- Actual browser layout and physical wireless-controller sleep/reconnect testing remain unverified because automated browser control was unavailable.
- The browser cannot power on or reconnect a controller at the operating-system level. A controller must be awake, connected to the computer and exposed by the browser, usually after a button press.
- This wrapper update does not advance the incomplete native reconstruction beyond0.13.0 or change the optional guide beyond1.1.0. A complete native campaign remains unfinished.
The original-game Matchbox guide remains1.1.0. The separate unfinished native reconstruction remains0.13.0. This update changes browser hosting and controller recovery; original ROM, guide behavior, native engine and save formats are unchanged.