Skip to content

v0.6.0

Choose a tag to compare

@markforster markforster released this 31 May 12:03
· 39 commits to main since this release
25e22a1

HeroQuest Card Creator - v0.6.0 Technical Release Notes

Overview

Release 0.6.0 introduces the first full release of the new Decks system and represents one of the largest structural expansions of HeroQuest Card Creator so far.

This release evolves the application from a card editor and library-management workflow into a structured deck authoring and organization platform, introducing grouped deck construction, drag-and-drop set management, entry workflows, quantity controls, deck-aware inspector integrations, export preparation flows, and deep-link navigation support.

A substantial portion of the release focused on rebuilding and stabilizing the Decks interaction model, including a major drag-and-drop architecture overhaul, selection synchronization improvements, integrity safeguards, and broader persistence/service-layer expansion.

In addition to the Decks feature set itself, the release includes:

  • new deck-specific API and persistence layers
  • extensive localization additions
  • improved destructive-action safety flows
  • broader regression coverage
  • UI/UX consistency refinements
  • engineering hygiene and structural cleanup work

This document summarizes both user-visible technical capabilities and the underlying architectural changes introduced in 0.6.0.

Baseline: release/0.5.7Target: release/0.6.0


Breaking / Behavioral Changes & Workflow Evolution

Decks Introduced as a First-Class Workflow

HeroQuest Card Creator now includes a dedicated Decks workspace with:

  • deck grid management
  • focused deck editing
  • grouped set organization
  • entry-level card workflows
  • deck-aware inspector integrations
  • export preparation flows

Decks are now treated as a first-class application domain rather than an extension of pairing or collections.


Structured Deck Organization Model

Decks now operate using a structured hierarchy:

  • Deck
    • Group
      • Set
        • Front-face entries

This introduces a more deterministic organizational model for:

  • grouped card sets
  • playable deck composition
  • future export workflows
  • large collection management

Groups automatically clean up when empty and set behavior is now integrity-aware.


Interaction Model Shift

The Decks workflow is intentionally drag-and-drop driven.

The release introduces:

  • drag-to-create workflows
  • cross-group movement
  • insertion-boundary creation
  • reorder semantics
  • temporary insertion targeting
  • recover-oriented entry workflows

Much of the release focused on stabilizing these interactions to behave consistently under complex edge cases.


Feature Details by Subsystem

Deck Workspace & Navigation

Dedicated Decks Workspace

A new Decks product area has been introduced with:

  • Decks grid view
  • deck detail editor
  • right-side source workflows
  • deck preview fans
  • metadata/details panels
  • contextual deck actions

The application now supports transitioning between:

  • deck overview workflows
  • focused set editing workflows
  • entry-management workflows

without leaving the Decks experience.


Deep-Link Routing

Decks now support deep-link routing for:

  • selected deck
  • selected group
  • selected set
  • selected entry context

This allows direct navigation into specific deck states.

Selection synchronization behavior was hardened to ensure:

  • reliable route hydration
  • stable post-create selection
  • deterministic refresh behavior
  • resilient navigation state restoration

Deck Grid & Deck Management

Deck Grid Features

The Decks grid now supports:

  • create deck
  • duplicate deck
  • rename deck
  • delete deck
  • multi-select deck operations
  • deck search
  • contextual empty states

Search behavior includes matching against:

  • deck titles
  • included card titles
  • related deck content

Deck ordering behavior was stabilized to ensure deterministic rendering and interaction consistency.


Deck Preview Fans

Deck preview fans were introduced and refined throughout the release.

Features include:

  • deterministic card slot ordering
  • balanced preview composition
  • radial fan geometry
  • theme-aware thumbnail fallback rendering
  • image fade-in handling
  • hover/reveal affordances

Fan rendering now behaves more consistently across:

  • deck tiles
  • inspector previews
  • metadata panels
  • toolbar mini-fans

Deck Groups & Set Management

Group and Set Authoring

Decks can now be composed using grouped set structures.

Users can:

  • create groups
  • add sets into groups
  • move sets between groups
  • reorder sets
  • create new groups from insertion boundaries
  • remove sets safely

Additional behavior includes:

  • automatic cleanup of empty groups
  • deterministic insertion positioning
  • stable selected-set persistence after deletion

Group Insertion Boundaries

Insertion boundaries between groups were redesigned several times during the release cycle to improve:

  • insertion predictability
  • hover guidance
  • edge insertion stability
  • temporary-group handling

Final behavior includes:

  • dedicated insert-boundary controls
  • localized hover titles
  • stabilized insertion anchors
  • bootstrap-state guidance behavior

Group Fan Geometry

Deck group presentation was rebuilt using a true radial fan layout.

Changes include:

  • geometry-based card positioning
  • consistent collapsed/expanded transitions
  • dampened spread behavior for low-card fans
  • improved clipping/overflow handling
  • reveal scrolling for selected sets

The fan rendering system is now shared more consistently across Decks workflows.


Drag-and-Drop Architecture

Drag-and-Drop Platform Rebuild

A major portion of 0.6.0 focused on rebuilding the Decks drag-and-drop platform.

The implementation evolved into a controller-driven architecture built around:

  • DeckBoardsCore
  • board controllers
  • shared runtime board models
  • centralized drag orchestration
  • useDecksDragController

This replaced earlier legacy interaction patterns with a more deterministic interaction model.


Drag Stabilization Work

Significant stabilization work was completed around:

  • placeholder flicker
  • drag projection instability
  • optimistic reorder artifacts
  • invalid drop commits
  • snap-back behavior
  • empty-slot targeting
  • insertion-index drift
  • layout jitter during drop
  • cross-group reorder persistence

The final interaction model separates:

  • temporary drag-state behavior
  • committed persisted state
  • selection-state transitions

to reduce visual instability during interaction.


Drag Guards and Route Validation

Additional drag safety behavior now includes:

  • face-type drag guards
  • blocked-route prevention
  • source-board non-droppable policies
  • false commit prevention
  • temporary target cleanup
  • invalid-drop suppression

These protections improve integrity when working across:

  • source panel
  • groups
  • entries
  • temporary insertion targets

Card Entry Management

Front-Face Entry Workflows

Selected sets now support:

  • adding front-face entries
  • entry reorder
  • drag insertion
  • entry multi-select
  • bulk remove-from-set actions
  • paired-card recovery workflows

Entry interaction behavior was stabilized to improve:

  • reorder persistence
  • empty-set drop targeting
  • insertion consistency
  • placeholder behavior
  • active selection continuity

Quantity Controls

Per-entry quantity controls were added for cards within sets.

Behavior includes:

  • persisted quantity values
  • bounded count ranges
  • hover-revealed controls
  • legacy fallback handling
  • dedicated update endpoints
  • service-level validation

Quantity controls are integrated into:

  • entry cards
  • export preparation flows
  • deck counts
  • deck metadata updates

Recover-Oriented Workflows

The release shifts several workflows away from destructive terminology and toward recover-oriented interactions.

Examples include:

  • remove-from-set behavior instead of delete semantics
  • paired-card recovery flows
  • safer unpair handling
  • contextual risk guidance
  • localized destructive-action messaging

Inspector & Cross-Deck Awareness

Deck Membership Context

The Card Inspector now exposes deck membership awareness.

New functionality includes:

  • deck membership counts
  • deck usage panels
  • reusable deck fan previews
  • jump-to-deck actions
  • cross-deck visibility

Cards can now surface where they are currently used throughout Decks.


Shared Inspector Entity Rows

Inspector relationship rows were refactored into shared rendering primitives to improve consistency between:

  • pairing relationships
  • deck relationships
  • membership summaries

Right Panel & Source Workflows

Face Mode Switching

The right-side source panel now supports:

  • front-face mode
  • back-face mode
  • contextual filtering behavior

This improves deck-building workflows when switching between:

  • set authoring
  • entry authoring
  • recovery flows

Source Filtering and Search

The previous collection-tree implementation was replaced with a custom filtering workflow built around react-select.

Enhancements include:

  • collection-aware searching
  • improved filtering UX
  • larger visual previews
  • clearer active-state handling
  • better used-vs-available differentiation

Persisted Panel State

Deck right-panel behavior now persists:

  • panel collapse state
  • selected tab state
  • source visibility preferences

This improves continuity between editing sessions.


Export & Safety Workflows

Deck Export Flow

Deck export flows are now accessible from:

  • deck grid view
  • deck detail view

The export flow introduces:

  • confirmation modals
  • localized messaging
  • unique-count wording
  • safer export affordances

This release intentionally lays groundwork for future PDF and print workflows planned for later releases.


Destructive Action Safety

Multiple destructive workflows were hardened throughout the release.

Safety additions include:

  • mandatory confirmation dialogs
  • contextual warning styling
  • hover-risk signaling
  • remove-state focus modes
  • clearer destructive-action wording

Additional cleanup behavior now ensures:

  • orphan prevention
  • safer unpair cascades
  • deck integrity preservation
  • backup-aware delete handling

Localization & Terminology

Decks Localization Expansion

Decks-specific workflows were localized across all supported locales.

Localization coverage includes:

  • Decks UI
  • metadata/details panels
  • export confirmations
  • insert-boundary hints
  • empty states
  • remove/recover flows
  • hover titles
  • destructive-action messaging

Terminology Refinement

Several wording changes were made to improve workflow clarity.

Examples include:

  • “Metadata” renamed to “Details”
  • remove/recover wording improvements
  • safer deck-action terminology
  • clearer contextual labels

UI / UX Refinement

Decks Visual Polish

Extensive UI refinement work was completed across the Decks experience.

Areas refined include:

  • toolbar alignment
  • hover/focus behavior
  • border consistency
  • panel seams
  • placeholder consistency
  • empty-state layouts
  • active-state visibility
  • drag affordances
  • guidance messaging

Theme Consistency

Additional refinement work improved parity between:

  • light theme
  • dark theme
  • hover states
  • toolbar chrome
  • card overlays
  • fan presentation

Empty-State Guidance

Decks now includes clearer bootstrap-state guidance and contextual empty states for:

  • empty decks
  • empty groups
  • empty entries
  • no-results searches

Guidance behavior was refined to avoid visual clutter once active deck-building begins.


Persistence, APIs & Service Layer

New Decks API Surface

Release 0.6.0 introduces a substantial expansion of the typed API layer.

New deck-specific areas include:

  • deck CRUD operations
  • group management
  • set management
  • reorder endpoints
  • entry quantity updates
  • membership queries

This expands the application's abstraction layer around deck persistence and interaction flows.


Deck Service Layer

A dedicated deck service layer was introduced and expanded.

Key responsibilities include:

  • deck mutation orchestration
  • integrity enforcement
  • cascade cleanup
  • metadata freshness
  • reorder persistence
  • quantity validation
  • membership lookups

Deck Metadata Freshness

Deck metadata now updates reactively after:

  • set mutations
  • entry mutations
  • reorder operations
  • cascade operations

This ensures deck previews and metadata remain synchronized with deck content changes.


Backup & Cascade Handling

Deck-related cleanup behavior was hardened to ensure safer behavior during:

  • delete operations
  • unpair operations
  • cascade cleanup
  • backup/restore flows

This reduces the risk of orphaned deck references after destructive actions.


Testing & Regression Coverage

Expanded Regression Coverage

Release 0.6.0 introduces extensive new Decks-focused regression coverage.

Coverage areas include:

  • drag/drop behavior
  • reorder persistence
  • insertion targeting
  • export confirmation flows
  • quantity updates
  • deck membership queries
  • deep-link synchronization
  • delete/unpair cascades
  • placeholder behavior
  • invalid-drop handling
  • board-controller logic
  • fan geometry calculations

Test Types Added

Coverage spans:

  • UI tests
  • hook tests
  • selector tests
  • service-layer tests
  • DnD controller tests
  • cascade integrity tests

The release includes significant new coverage specifically around Decks edge cases and interaction stability.


Engineering Hygiene & Structural Cleanup

Fallow Integration

The release introduces fallow tooling for codebase hygiene checks.

Additions include:

  • project configuration
  • GitHub workflow integration
  • documented hygiene commands
  • ignore-pattern tuning

Component Cleanup & Refactors

Additional cleanup work includes:

  • removal of superseded legacy components
  • controller/view decomposition
  • board-model separation
  • CSS cleanup
  • dependency cleanup
  • structural reorganization of Decks workflows

Known Limitations & Out-of-Scope

  • PDF export is not included in 0.6.0
  • Deck export currently focuses on image/export preparation workflows
  • Some advanced drag affordance refinements may continue evolving in later releases
  • Decks interaction behavior may continue receiving polish as broader workflows mature
  • Export manifest generation is not included in this release
  • Full print-layout workflows remain planned for future releases

Breaking Changes & Migrations

New Deck Persistence Structures

The application now includes dedicated persistence structures for:

  • decks
  • groups
  • sets
  • entries
  • quantity metadata

No manual migration is required for existing libraries.


New API Surface

The typed API layer now includes deck-specific request flows and service integrations.

This expands the application's internal persistence contract significantly compared to previous releases.


Testing & Verification Summary

Validated areas include:

  • deck creation and deletion
  • grouped set organization
  • drag-and-drop reorder behavior
  • cross-group movement
  • insertion-boundary creation
  • empty-slot targeting
  • export confirmation workflows
  • entry quantity persistence
  • deep-link synchronization
  • deck membership rendering
  • recover/remove workflows
  • localization coverage
  • panel persistence behavior
  • fan rendering and geometry stability
  • destructive-action safeguards
  • cascade cleanup behavior

Summary

Release 0.6.0 transforms HeroQuest Card Creator from a card-centric workflow into a structured deck-authoring platform.

The release introduces:

  • first-class Decks workflows
  • grouped set organization
  • drag-and-drop deck construction
  • deck-aware inspector integrations
  • export preparation flows
  • extensive interaction stabilization
  • expanded persistence and service infrastructure

while also laying important groundwork for future:

  • PDF export
  • print workflows
  • larger-scale deck management
  • synchronization possibilities
  • continued workflow refinement

This release represents one of the largest architectural and workflow expansions in the project so far.