Skip to content

Catalog System

Gregory Cabral De Los Santos edited this page Feb 18, 2026 · 2 revisions

The Catalog System is the foundation of content discovery in Yamata Launcher.

It allows the application to display platforms and their games in a structured way, while remaining fully extensible through external sources.

The goal of the system is flexibility: Yamata includes built-in catalogs by default, but users and providers can extend or override them to fit any use case.


Overview

A catalog is a collection of games associated with one or more platforms.

Catalogs can:

  • Add games to an existing platform
  • Introduce entirely new platforms
  • Extend or enrich existing content
  • Be loaded from built-in data or external sources

All catalogs are merged internally to create the final content visible in the application.


Built-in Catalogs

Yamata Launcher includes built-in catalogs for multiple platforms and ecosystems.

These catalogs provide:

  • Platform definitions (console, system, or environment)
  • Default game lists
  • Basic metadata for discovery

Built-in catalogs ensure the application works out of the box without requiring any configuration.


External Catalogs

Users can extend the catalog system by adding external catalog sources.

External catalogs allow:

  • Adding games to an existing platform (e.g., adding more PlayStation titles)
  • Creating custom platforms (e.g., Homebrew, Custom Collections, Indie Packs)
  • Organizing private or curated collections
  • Integrating third-party content providers

External catalogs follow the JSON structure described in the External Sources documentation.


Platform Resolution

When a catalog is loaded:

  1. The platform identifier is checked.
  2. If the platform already exists:
    • Games are merged into the existing platform.
  3. If the platform does not exist:
    • A new platform is created.
    • The platform becomes available in the Explore section.

This allows multiple catalogs to contribute content to the same platform.


Content Merging Behavior

The final content shown in the application is the result of merging:

  • Built-in catalogs
  • External catalog sources
  • User-added content (when applicable)

Key principles:

  • Platforms are grouped by their identifier.
  • Games are added without removing existing entries.
  • Multiple sources can contribute to the same platform.
  • The system does not assume a single source of truth.

Explore Tab Behavior

The Explore tab displays catalog content in two levels:

Platform View

Platforms appear as categories representing:

  • Consoles (NES, PlayStation, etc.)
  • Systems (Windows, Android, Linux)
  • Custom platforms added by external catalogs

Each platform represents the merged result of all catalogs contributing to it.

image

Game View

When selecting a platform:

  • All games associated with that platform are displayed.
  • Games from built-in and external catalogs appear together.
  • Metadata such as title, images, and description are used for display.

The Explore tab is designed to present a unified experience regardless of the content source.

image

Flexibility Goals

The Catalog System is designed to support a wide range of scenarios:

  • Default console libraries
  • Community-maintained catalogs
  • Personal curated collections
  • Private or local content sources
  • Homebrew or unofficial platforms
  • Specialized environments (arcade, kiosk, custom builds)

There are no restrictions on the number of catalogs or platforms that can be added.

Clone this wiki locally