# XWUIGameControllerVisualizer

An in-engine gamepad visualizer that draws an SVG controller outline and lights up pressed `buttons`, moves the analog `axes` thumbs, and fills the `triggers` bars in real time, with a `Connected`/`Disconnected` status line. Use it to debug live controller input: drive it with `updateState(buttons, axes, triggers)` and `setConnected()`, pick a `controllerType` (`dualsense`/`xbox`/`generic`), set the `size`, and toggle the on-glyph labels with `showLabels`.

## Basic Usage

Mounts the visualizer with a connected `xbox` snapshot at `md` size: the A and RB buttons light up, both sticks are pushed, and the LT/RT bars are partly filled.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: A connected Xbox controller with A and RB held, both sticks pushed, and the triggers partly pulled.
```

## Disconnected Controller

A compact, label-free generic pad rendered in its dimmed disconnected idle state with every input at rest.

```example
file: examples/DisconnectedController.ts
html: examples/DisconnectedController.html
title: Disconnected Controller
description: A small generic controller with labels off and connected:false, shown fully idle with a Disconnected status.
```

## Live Input Sweep

A button that calls setConnected() and updateState() to plug in the pad and replay a scripted sweep of button, stick, and trigger states.

```example
file: examples/LiveInputSweep.ts
html: examples/LiveInputSweep.html
title: Live Input Sweep
description: A "Step input" button drives setConnected() then updateState() through a three-frame input sweep on a live DualSense pad.
```

```api
```
