feedBack/static
Byron Gamatos 4dc5936712
feat(player): global autoplay & auto-exit option (songs + lessons) (#558)
* fix(v3): pedal click opens the plugin's screen, not its settings

The v3 Pedalboard's settingsTarget() resolved settings-first, so a
plugin that ships both a screen and a settings panel (notably the
bundled Audio Engine) could only ever reach its settings from the
pedalboard — its actual page was unreachable.

Flip to screen-first (stompbox metaphor: step on the pedal, see the
pedal), falling back to settings when there is no screen. Keep a
settings fallback in openPluginSettings() when a declared screen
isn't mounted yet (installing/failed) so settings-bearing plugins are
never stranded on a toast. Drive the pedal aria-label off the same
target so it never promises the wrong surface. Update the unit test
contract to screen > settings > none.

Fixes #555

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(player): global autoplay & auto-exit option (songs + lessons)

Single Settings toggle (autoplayExit, default ON) that auto-starts a song
once it's ready and returns to the launching menu when it ends. Auto-exit
defers while a results/score overlay is on top (heuristic + holdAutoExit()
contract) so a scoring plugin's screen drives the exit. Player origin is now
context-aware (lessons return to the lessons screen via setReturnScreen()),
fixing lesson completion bouncing to the library.

Core-only; songs and lessons share the playSong -> highway path. Adds a
read-only window.slopsmith.autoplayExit getter + holdAutoExit()/setReturnScreen()
for plugins. Unit tests for the pure helpers (_autoplayExitEnabled,
_resolvePlayerOrigin, _resultsOverlayVisible).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:04:03 +02:00
..
assets/venue/themes/small-club Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities feat(onboarding): first-run home tour (spotlight coach marks) (#528) 2026-06-19 16:32:33 +02:00
lottie Clean release snapshot 2026-06-16 18:47:13 +02:00
svg Clean release snapshot 2026-06-16 18:47:13 +02:00
v3 feat(player): global autoplay & auto-exit option (songs + lessons) (#558) 2026-06-22 11:04:03 +02:00
vendor Clean release snapshot 2026-06-16 18:47:13 +02:00
_tailwind.src.css Clean release snapshot 2026-06-16 18:47:13 +02:00
app.js feat(player): global autoplay & auto-exit option (songs + lessons) (#558) 2026-06-22 11:04:03 +02:00
audio-mixer.js Clean release snapshot 2026-06-16 18:47:13 +02:00
capabilities.js feat(onboarding): first-run home tour (spotlight coach marks) (#528) 2026-06-19 16:32:33 +02:00
diagnostics.js Clean release snapshot 2026-06-16 18:47:13 +02:00
highway.js feat(highway): render caged + guideTones teaching labels (§6.6) (#545) 2026-06-21 11:58:00 +02:00
index.html feat(player): global autoplay & auto-exit option (songs + lessons) (#558) 2026-06-22 11:04:03 +02:00
lottie-api.js Clean release snapshot 2026-06-16 18:47:13 +02:00
style.css Repoint dead slopsmith URLs -> got-feedback 2026-06-17 11:02:04 +02:00
tailwind.min.css Clean release snapshot 2026-06-16 18:47:13 +02:00
tour-engine.css feat(onboarding): first-run home tour (spotlight coach marks) (#528) 2026-06-19 16:32:33 +02:00
tour-engine.js feat(onboarding): first-run home tour (spotlight coach marks) (#528) 2026-06-19 16:32:33 +02:00