Skip to content

Wire UI border styles into live game progression and persistence #364

Description

@stphung

Summary

The new UI border pipeline is implemented and previewable via debug menu, but border selection is currently a debug-only path. We need to wire this into the live game so players can unlock/select borders and have that choice persist normally.

Current state

  • Border styles are selectable through debug menu actions.
  • In --debug mode, saves are intentionally disabled, so border changes are not persisted through normal gameplay flows.
  • Border rendering pipeline is already centralized and applied broadly across panels.

Goal

Ship border styles as a real player-facing system (not debug-only), with persistence and a clear UX for selecting styles.

Scope

  • Add a non-debug player-facing entry point to view/select unlocked border styles.
  • Define unlock source(s) (achievement rewards and/or progression milestones).
  • Persist selected style through normal save/load flows.
  • Ensure selected style applies consistently across all panel surfaces.
  • Preserve backward compatibility for legacy stored style ids.

Implementation tasks

  1. Add live UI surface for border selection (e.g., Achievements browser, Haven, or dedicated cosmetic panel).
  2. Define unlock metadata per border style and integrate into achievement/progression logic.
  3. Gate selection to unlocked styles only in live mode.
  4. Save/load selected style using existing account-level achievements persistence.
  5. Add migration/fallback behavior for removed or unknown style ids.
  6. Add tests for:
    • unlock gating,
    • persistence roundtrip,
    • legacy fallback mapping,
    • style option ordering consistency.
  7. Verify visual application on representative screens (combat, fishing, achievements, haven, stormglass, character select).

Acceptance criteria

  • Player can select border style without debug mode.
  • Selection persists after restart.
  • Locked styles cannot be selected.
  • Previously saved removed/unknown styles safely map to fallback style.
  • No regressions in existing panel rendering and debug preview.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew game content, systems, or mechanics

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions