# XWUIGameCraftingGrid

A recipe crafting interface that lays out a row of input material slots, an arrow, and an output result slot, followed by a Craft button and a progress bar. The number of slots comes from `inputSlots` (default 3) and `outputSlots` (default 1); the Craft button stays disabled until `recipeValid` is true, and an optional hint line (`showRecipeHint`) reads "Place materials in the input slots." or "Recipe found! Ready to craft." Use `setInputItem`, `setOutput(item, valid)`, `setCraftProgress`, and `onCraft` to drive it from your crafting logic.

## Basic Usage

Shows input material slots, an output slot, a Craft button, and a recipe hint.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: A crafting grid with input/output slots, a disabled-until-valid Craft button, and progress bar.
```

## Empty Station

A fresh bench that starts with empty inputs and a disabled Craft button, then fills via `setInputItem()` / `setOutput()`.

```example
file: examples/EmptyStation.ts
html: examples/EmptyStation.html
title: Empty Station
description: An empty crafting bench whose Add Materials button fills the slots and enables Craft.
```

## Craft With Progress

A valid recipe whose Craft button runs a timed forge, advancing the progress bar from 0 to 100%.

```example
file: examples/CraftWithProgress.ts
html: examples/CraftWithProgress.html
title: Craft With Progress
description: A ready recipe that animates the craft progress bar via setCraftProgress() on Craft.
```

```api
```
