Skip to content

v0.6.1

Latest

Choose a tag to compare

@markforster markforster released this 13 Jun 16:36
0ed420c

HeroQuest Card Creator — v0.6.1 Technical Release Notes

Overview

Release 0.6.1 is a workflow refinement and usability-focused update that builds upon the foundations introduced in previous releases.

While this release does not introduce a new top-level product area, it delivers significant improvements across the Assets experience, language support infrastructure, typography, inspector workflows, stockpile behaviour, and overall application stability.

Key themes include:

  • substantial Assets workflow and browsing improvements
  • migration to a modern react-i18next internationalisation runtime
  • support for Danish, Norwegian Bokmål, and Russian
  • improved typography through Carter W04 adoption and numeral controls
  • stockpile and thumbnail reliability improvements
  • inspector and modal interaction refinements
  • broader UX polish and stability fixes

This release focuses on making existing workflows faster, clearer, and more reliable while continuing to strengthen long-term maintainability.

Baseline: v0.6.0 → Target: v0.6.1


Assets Workflow Improvements

Improved Asset Browsing Experience

The Assets grid has been substantially refined to better support visual browsing workflows.

Improvements include:

  • larger thumbnail presentation
  • reduced grid density for easier artwork inspection
  • cleaner visual hierarchy
  • display-name cleanup
  • image-extension stripping from visible labels
  • corrected title truncation behavior
  • improved grouped-section presentation
  • consistent thumbnail corner clipping

Asset tiles now prioritise:

  • asset name
  • thumbnail preview
  • category label

while de-emphasising technical metadata better suited to the inspector.


Recently Uploaded Assets

The Assets workflow now highlights the most recent successful upload batch through a temporary Recently Uploaded section.

Features include:

  • session-local upload grouping
  • automatic surfacing of newly uploaded assets
  • automatic scroll-to-group behavior
  • support in both Assets route and picker workflows
  • automatic single-upload selection in picker mode

This significantly improves discoverability immediately after uploads.


Asset Selection Improvements

Multi-selection workflows have been expanded and refined.

New functionality includes:

  • additive Shift-range selection
  • improved multi-select management
  • selection-anchor behavior
  • improved ordered selection handling

Additional fixes include:

  • preservation of active preview position during multi-select navigation
  • correct carousel-state persistence when selection sets are re-emitted
  • replace-image actions now require exactly one selected asset

Asset Inspection Enhancements

The right-hand Assets inspector has been expanded with several new capabilities.

Zoom Preview

Assets can now be previewed in a larger dedicated modal.

Features include:

  • enlarged image inspection
  • shared preview rendering
  • zoom cursor affordance
  • modal-based preview workflow
  • improved escape-key handling

Asset Usage Navigation

Asset usage information is now actionable.

The inspector now supports:

  • viewing cards that reference an asset
  • thumbnail-based usage popovers
  • direct navigation into related cards
  • usage visibility for artwork and icon references

This makes asset management and cleanup workflows significantly easier.


Asset Loading And Feedback Improvements

Loading feedback throughout the Assets workflow has been improved.

Enhancements include:

  • thumbnail loading spinners
  • selected-preview loading indicators
  • buffered spinner timing
  • reduced visual flicker during fast image loads

These improvements make image-loading behavior clearer and more intentional.


Assets Layout & Action Refinement

The Assets layout has been reorganized to better separate browsing from management actions.

Changes include:

  • dedicated footer toolbar
  • relocation of Upload actions
  • relocation of Delete Selected actions
  • unified action positioning across manage and select modes
  • improved panel hierarchy

Browsing controls remain focused on:

  • search
  • filtering
  • resources

while management actions now occupy a dedicated footer region.


Internationalisation & Language Support

Runtime Migration To react-i18next

Release 0.6.1 introduces a substantial internationalisation architecture upgrade.

Changes include:

  • migration to react-i18next
  • JSON-based locale catalogs
  • namespace-based translation organization
  • modernized runtime translation infrastructure
  • expanded translation tooling

The existing application-facing i18n abstraction remains intact, minimizing impact on the wider codebase.


Additional Language Support

The following languages are now available as first-class selectable languages:

  • Danish (da)
  • Norwegian Bokmål (nb)
  • Russian (ru)

Language detection, persistence, and selector integration have all been updated to support these additions.


Translation Infrastructure Improvements

Additional language-support work includes:

  • locale completeness tooling
  • untranslated-value auditing
  • remediation-report generation
  • language selector improvements
  • localized language hover names
  • improved detected-language presentation

Translation maintenance workflows are now significantly more robust than previous releases.


Typography Improvements

Carter W04 Adoption

Typography rendering has been updated through migration from Carter W01 references to Carter W04.

This improves overall font fidelity while providing a stronger foundation for future typography enhancements.


Numeral Alignment Controls

Support has been added for configurable numeral rendering behavior.

Features include:

  • aligned numeral controls
  • fixed-width numeral controls
  • persisted typography preferences
  • support across titles and statistics

These improvements are particularly valuable for Hero and Monster stat presentation.


Font Attribution

The About area now includes font attribution and related credit information where required.


Card Inspector Improvements

Inspector Mode Tabs

The card inspector mode switcher has been redesigned.

The previous segmented-control approach has been replaced with:

  • icon-based tab navigation
  • improved accessibility
  • visible active-mode titles
  • stronger visual alignment with Decks workflows

Supported modes remain:

  • Properties
  • Pairing
  • Collections
  • Decks

Collections Tab In The Card Inspector

Version 0.6.1 now extends the card inspector with direct collection-membership management.

Previously, collection membership remained a Stockpile-only workflow. While editing or duplicating cards, users could preserve context such as pairing and indirectly deck usage, but if they also wanted to organise those cards into collections they had to leave the editor, return to Stockpile, clear or change filters, find the card again, and manage membership there.

This release closes that workflow gap by adding collection membership to the inspector itself.

The final implementation deliberately avoids showing the full collections tree permanently inside the inspector.

Instead, the main Collections panel is a calmer membership-focused view that:

  • shows only the collections the current saved card is already in
  • preserves Stockpile-style tree grouping for those memberships
  • allows direct removal from those memberships
  • keeps the tree expanded and non-collapsible
  • hides count badges to reduce noise

If the card is unsaved, the panel shows a save-first empty/help state and does not expose membership controls.

If the card is saved but belongs to no collections, the panel shows an empty state plus the add-to-collection action.

This keeps the inspector focused on answering the immediate question:

  • where is this card already filed?

without overwhelming the editor with the full collection-management surface at all times.


Add To Collection Modal

Broader membership editing now happens in a compact modal opened from the Add to collection action in the Collections tab header.

The modal:

  • shows the full unified collections tree
  • shows real collections only
  • hides count badges
  • uses icon-only add and remove actions
  • stages membership edits locally until Confirm
  • discards draft edits on Cancel

This means a user can make several membership adjustments in one pass, review them, and then either commit or abandon those changes safely.

The modal is not a collection CRUD surface. It does not introduce create, rename, edit, or delete flows for collections themselves.


Collections Tree Behaviour

A significant part of the implementation was preserving the existing collections-tree language already established in Stockpile.

The final implementation reuses the existing slash-delimited grouping model and tree-building logic so the inspector collections workflow remains visually and behaviorally aligned with the rest of the app.

Two different tree interaction modes are now used:

Main panel tree

  • filtered to current memberships only
  • always expanded
  • non-collapsible
  • intended as a read/manage view

Modal tree

  • full unified collections tree
  • collapsible
  • initially auto-expands the branches needed to reveal current memberships
  • preserves user-managed expand/collapse state during in-session add/remove edits

That last point matters because early versions of the implementation reset expanded branches whenever membership changed, which made the tree collapse unexpectedly during editing. The final implementation treats membership-derived expansion as session initialization only, then preserves local user-controlled expansion state throughout the rest of that modal session.


Shared Collections UI Consolidation

Although the original requirement was narrowly about adding a collections tab to the inspector, the implementation naturally expanded into broader collections UI consolidation.

This release also introduced:

  • a shared CollectionsMembershipTree for the inspector collections workflow
  • a shared CollectionsFilterSelect extracted from the decks collection filter
  • reuse of that shared collections picker inside the legacy Stockpile add-to-collection modal

That stockpile modal now benefits from:

  • the same polished react-select presentation used elsewhere
  • collections-only mode
  • no count badges in selection-only context
  • a nullable initial state with Select a collection placeholder
  • no auto-selected target on open

This work is adjacent to the card-inspector feature, but it improves consistency across collections-related workflows and reduces divergence between different collection-selection surfaces.


Collections Workflow UI Polish

A fair amount of polish work was required to make the feature feel native to the rest of the application rather than bolted on.

This included:

  • matching the Collections tab header layout more closely to the pairing panel pattern
  • aligning tree folder-row spacing with the Stockpile tree
  • switching row actions to icon-only affordances where appropriate
  • introducing consistent green positive add styling
  • introducing consistent red destructive styling
  • fixing square icon-button sizing so add/remove state changes do not subtly change row height

That last detail was particularly important in the modal, where switching between add and remove states could otherwise make collection rows jump vertically.


Split Stat Format Popover

The split-stat format chooser has been rebuilt using a portal-based floating popover.

Benefits include:

  • correct positioning
  • avoidance of inspector clipping
  • improved scroll-container compatibility
  • more reliable interaction behavior

Stockpile Improvements

Loading-State Improvements

Stockpile no longer flashes empty-library onboarding content during initial card loading.

Instead:

  • loading state is surfaced correctly
  • empty-state rendering waits until data resolution
  • users see a more stable browsing experience

Collapsible Filters Panel

The Stockpile filters panel can now be collapsed and re-expanded.

Features include:

  • persisted open/closed state
  • default-open behavior
  • reclaimed browsing space
  • visible reopen affordance

Thumbnail Reliability

The shared thumbnail system has been strengthened through:

  • increased cache capacity
  • mounted-consumer retention
  • improved eviction protection
  • thumbnail lifecycle improvements

These changes reduce intermittent thumbnail disappearance in larger libraries.


Modal & Escape Handling Improvements

Escape Stack Hardening

Shared Escape handling has been improved to ensure topmost modals fully consume handled escape events.

Benefits include:

  • correct modal priority
  • prevention of route-level fallthrough
  • more predictable modal behavior
  • improved interaction consistency

This improvement benefits all consumers of the shared modal infrastructure.


Decks Improvements

Groups Board Stability

A visual stability issue affecting the Deck Groups board has been resolved.

Changes include:

  • removal of unnecessary vertical overflow
  • improved padding behavior
  • elimination of vertical scrollbar wobble

No Decks interaction behavior was changed.


Footer & Compatibility Improvements

Desktop-Optimised Notice

The application now provides a non-blocking compatibility notice for users on likely non-desktop devices or narrow viewports.

Features include:

  • footer-based notice
  • informational modal
  • expectation-setting guidance
  • no access restrictions

This helps communicate the current desktop-focused nature of the application while remaining non-blocking.


UI Polish & Refinement

Additional visual and interaction refinements include:

  • sticky asset-group header cleanup
  • language-selector improvements
  • improved title truncation behavior
  • thumbnail presentation consistency
  • hover-state refinement
  • popover positioning improvements
  • inspector consistency improvements

Testing & Regression Coverage

Release 0.6.1 includes expanded coverage around:

  • Assets workflows
  • thumbnail loading behavior
  • asset preview modals
  • asset usage popovers
  • multi-select preview persistence
  • stockpile loading states
  • card thumbnail cache behavior
  • language selector behavior
  • i18n provider functionality
  • typography settings
  • escape-stack modal priority
  • split-stat popover positioning

Coverage spans:

  • UI tests
  • provider tests
  • hook tests
  • cache lifecycle tests
  • infrastructure tests

Breaking Changes & Migrations

Internationalisation Runtime Migration

The application now uses a react-i18next runtime with JSON-backed locale catalogs.

This change is internal and requires no user migration, but represents a significant architectural evolution of the language-support system.


Typography Settings

New persisted typography preferences are introduced for title and statistic numeral rendering.

Existing users automatically receive the new defaults without manual configuration.


Summary

Release 0.6.1 focuses on making HeroQuest Card Creator more refined, more reliable, and easier to use.

The release delivers:

  • major Assets workflow improvements
  • modernized internationalisation infrastructure
  • additional language support
  • improved typography and numeral rendering
  • stronger stockpile reliability
  • better inspector workflows
  • improved modal behavior
  • broad UI and stability refinements

While smaller in scope than 0.6.0, this release significantly improves the day-to-day experience of working with larger libraries, assets, and multilingual workflows.

What's Changed

Full Changelog: v0.6.0...v0.6.1