No debug data yet
Open the main window, import a library, and spin a recommendation.
{#if isDebugWindow}
Debug mode Last update: {debugSnapshot?.generatedAt ?? 'waiting for main window'} Open the main window, import a library, and spin a recommendation. {debugSnapshot.selected.game.fit} No recommendation has been spun yet. Recommendation {selectedRecommendation.fit}
{isLoadingSettings
? 'Reading local SQLite settings'
: isImportingLibrary
? 'Steam Web API import in progress'
: setupComplete
? `${candidateGames.length} eligible games loaded`
: 'Profile and API key required'}
{isLoadingSettings
? 'Loading settings'
: isImportingLibrary
? 'Importing library'
: setupComplete
? 'Ready'
: 'Setup required'}
{selectedRecommendation
? selectedRecommendation.reason
: isImportingLibrary
? 'Importing owned games. Metadata enrichment will run as a separate cached step.'
: setupComplete
? `Configured for ${defaultSessionLength}. The wheel contains ${candidateGames.length} eligible games from ${importedLibrary.length} imported Steam games.`
: 'The first run setup enables Steam import, metadata enrichment, review signals, and time-to-beat matching.'}
Shortlist Complete setup to import your Steam games and build the shortlist.
{game.reason}
{#if game.score}
Weighted score: {game.score}.
{/if}
{modalView === 'about'
? 'About'
: modalView === 'setup'
? `First Run · Step ${Math.min(setupStep + 1, setupSteps.length)} of ${setupSteps.length}`
: 'Settings'}
{step.label} Configure {step.instruction} {step.helper} Review
Setup will save these local settings, then the app can import your Steam
library and enrich it for recommendations.
Recommendation Diagnostics
No debug data yet
Current Pick
{#if debugSnapshot.selected}
{debugSnapshot.selected.game.title}
{:else}
{#each debugSnapshot.selected.debug.contributions as contribution}
Weight
Value
Reason
{/each}
{contribution.label}
{contribution.value > 0 ? `+${contribution.value}` : contribution.value}
{contribution.detail}
Active Rules
Game Weighting
{entry.game.title}
{#each entry.debug.restrictions as restriction}
{/if}
Session Picker
{selectedRecommendation
? selectedRecommendation.title
: isImportingLibrary
? 'Fetching your Steam library.'
: setupComplete
? 'Spin for a recommendation.'
: 'Import your library to spin a recommendation.'}
Top candidate games
No imported library yet
{game.title}
{modalView === 'about'
? 'Steam Backlog Helper'
: modalView === 'setup'
? 'Setup Wizard'
: 'Settings'}
{#each setupSteps as step, index}
{#if setupStep < setupSteps.length}
{@const step = setupSteps[setupStep]}
{step.title}
Ready to import