# XWUIGameEngineSelector

A card-based picker for choosing a 3D rendering engine, defaulting to three built-in cards (Three.js, Babylon.js, PlayCanvas) each with an icon, description, and `features` list. Use it in a dev/setup screen to pick and load an engine: clicking a card calls `selectEngine()` and fires `onSelect()`, while `setLoading()` / `setEngineStatus()` drive the per-card spinner and error states from the `loadingEngine`/`engineStatus` data. Supply a custom `engines` array (or `'default'`), and set grid `columns` and the `showFeatures` flag via config.

## Basic Usage

Mounts the selector with no data, so it renders the three default engine cards with their feature lists and no card selected.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: The default three-engine card grid (Three.js, Babylon.js, PlayCanvas) with feature lists and no selection.
```

## Custom Engines

A custom engines array (Godot, Unity WebGL) rendered in a two-column grid, overriding the built-in defaults.

```example
file: examples/CustomEngines.ts
html: examples/CustomEngines.html
title: Custom Engines
description: A two-column grid of custom engines (Godot, Unity WebGL) supplied via the engines config with Godot selected.
```

## Loading States

The default cards driven by an engineStatus map (ready / loading / error) with a setEngineStatus() call resolving a card live.

```example
file: examples/LoadingStates.ts
html: examples/LoadingStates.html
title: Loading States
description: The default engine cards with per-engine ready/loading/error status, then setEngineStatus() flips the loading card to ready.
```

```api
```
