Skip to content

FE-48: SVG Vector Piece Set Switcher with Smooth Morphing Transitions #1046

Description

@chinweobtagaz

Context & Description

Chess enthusiasts prefer specific piece aesthetics. We need support for multiple vector piece sets (Standard Neo, Staunton Classic, Alpha, Medieval Knight, Cyberpunk Glow) rendered as crisp SVG vectors with smooth piece movement animations.
Location: frontend/components/AppearanceSettings.tsx

Requirements

  1. Include high-quality SVG piece sets: Neo, Staunton, Alpha, Medieval, Cyberpunk.
  2. Provide piece set selector dropdown in AppearanceSettings.tsx with live piece preview.
  3. Ensure pieces scale crisply to any board resolution without pixelation on Retina/4K displays.
  4. Support smooth CSS transition transforms during piece drags and automated replay moves.

Acceptance Criteria

  • Selected piece set applies immediately across all boards.
  • Zero raster pixelation on high-DPI displays.
  • Piece choice persists in localStorage.
  • Component tests test piece set switching.

What to be done

  1. Add SVG piece assets to frontend/public/pieces/.
  2. Update piece renderer component in frontend/components/chess/.
  3. Add piece set option in AppearanceSettings.tsx.
  4. Write Vitest component tests.

What NOT to be done

  • Do NOT use low-resolution PNG/JPG raster images for chess pieces.
  • Do NOT cause piece flickering or layout reflows when dragging.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions