3.3 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | ordinal | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-131 | Make default overlay fullscreen and AniSkip end-jump keybindings easier to reach | Done |
|
2026-03-09 00:00 | 2026-03-16 05:13 |
|
42500 |
Description
Make two default keyboard actions easier to hit during playback: add f as the built-in overlay fullscreen toggle, and make AniSkip's default intro-end jump use Tab.
Acceptance Criteria
- #1 Default overlay keybindings include
KeyFmapped to mpv fullscreen toggle. - #2 Default AniSkip hint/button key defaults to
Taband the plugin registers that binding. - #3 Automated regression coverage exists for both default bindings.
Implementation Plan
- Add a failing TypeScript regression proving default overlay keybindings include fullscreen on
KeyF. - Add a failing Lua/plugin regression proving AniSkip defaults to
Tab, updates the OSD hint text, and registers the expected keybinding. - Patch the default keybinding/config values with minimal behavior changes and keep fallback binding behavior intentional.
- Run focused tests plus touched verification commands, then record results and a short changelog fragment.
Implementation Notes
Added KeyF -> ['cycle', 'fullscreen'] to the built-in overlay keybindings in src/config/definitions/shared.ts.
Changed the mpv plugin AniSkip default button key from y-k to TAB in both the runtime default options and the shipped plugin/subminer.conf. The AniSkip OSD hint now also falls back to TAB when no explicit key is configured.
Adjusted plugin/subminer/ui.lua fallback registration so the legacy y-k binding is only added for custom non-default AniSkip bindings, instead of always shadowing the new default.
Extended regression coverage:
src/config/definitions/domain-registry.test.tsnow asserts the default fullscreen binding onKeyF.scripts/test-plugin-start-gate.luanow isolates plugin runs correctly, records keybinding/observer registration, and asserts the default AniSkip keybinding/prompt behavior forTAB.
Verification:
bun test src/config/definitions/domain-registry.test.tsbun run test:config:srclua scripts/test-plugin-start-gate.luabun run changelog:lintbun run typecheck
Known unrelated verification gap:
bun run test:plugin:srcstill fails inscripts/test-plugin-binary-windows.luaon this Linux host (windows env override should resolve .exe suffix), outside the keybinding changes in this task.
Final Summary
Default overlay playback now has an easier fullscreen toggle on f, and AniSkip's default intro-end jump now uses Tab. The mpv plugin hint text and registration logic were updated to match the new default, while keeping legacy y-k fallback behavior limited to custom non-default bindings.
Regression coverage was added for both defaults, and the plugin test harness now resets plugin bootstrap state between scenarios so keybinding assertions can run reliably.