v0.5.7
Release Notes — v0.5.7
Summary
This release introduces empty-library onboarding flows for both Assets and Stockpile, along with improvements to the colour picker input behaviour and minor app-shell updates.
The changes are focused on UX clarity and first-run guidance, with no changes to storage, schema, or import/export contracts.
Assets
Empty-library onboarding
When the asset library is truly empty (assets.length === 0):
- Replaces the default empty state with a structured onboarding panel
- Includes:
- artwork pack download link
- step-by-step setup instructions
- GPT resource links
When the library is not empty but filtered/search results are empty:
- Existing
"No assets"message is preserved
Resources menu
- Added a toolbar resources menu in the Assets panel
- Provides persistent access to:
- artwork download
- GPT resource links
- Uses shared resource configuration (
assetsResources.ts)
Stockpile
Empty-library onboarding
When all of the following conditions are met:
filteredCards.length === 0frame === "panel"isPairMode === falseisLibraryEmpty === truehasActiveNarrowing === false
The Stockpile panel renders onboarding content instead of the standard empty state.
Onboarding includes:
- sample
.hqcclibrary download - 4-step import instructions
- direct Import library action
Import integration
- Import button uses existing
LibraryTransferContext(openImport) - Behaviour:
- disabled when
isBusy || isImporting - label reflects importing state
- disabled when
Exclusions
Onboarding is not shown:
- in modal contexts
- when filters/search/narrowing are active
- when library contains cards or recently deleted entries
Colour Picker
Manual input support
- Added reusable manual input field for colour values (hex)
- Available in both inline and popover picker contexts
Behaviour improvements
- Enter commits and normalizes the value
- Escape cancels edit and restores previous value
- Invalid input reverts to last valid value
- Input stays synchronized with picker/swatch changes
Header
- Added YouTube link to header navigation
- Added localized tooltip (
tooltip.socialYoutube)
UI Consistency
- Onboarding actions use standard button classes:
btn btn-primary btn-smbtn btn-outline-secondary btn-sm
- Removed bespoke CTA styling from onboarding components
i18n
- Added keys for Stockpile onboarding content
- Added tooltip key for YouTube link
- All new UI strings integrated into existing locale system
Tests
Added/updated coverage for:
- Assets empty-state onboarding
- Stockpile empty-state onboarding
- Colour picker input behaviour
- Header rendering (YouTube link)
Note:
MainHeadertest suite may fail in some environments due toTransformStreamdependency (non-functional regression)
Compatibility
- No API changes
- No schema changes
- No migration required
- Import/export formats unchanged