You are using staging server - a separate instance of the ESP Component Registry that allows you to try distribution tools and processes without affecting the real registry.

showcase

Example of the component espressif2022/esp-gsp v0.2.10
# ESP-GSP Experience Showcase

This example is the polished application demo for ESP-GSP. It is deliberately
different from `hello_world` (smallest integration) and `benchmark`
(machine-readable stress workload): the showcase presents the same features as
a coherent smart-space product UI.

The presentation has three user-controlled scenes:

- **Command** — retained vectors, images, gradients, clock, range controls,
  chart, spinner, typed property animation and a gesture-aware Drawer.
- **Gallery** — a scene-owned media wall whose six visible tiles are compiled
  as direct raw resources, avoiding first-use decode or runtime scaling.
- **Lab** — PageFlow, StackView, list-backed Wheel, controls, a static Canvas
  surface, TabView, Dropdown, Table, Keyboard and modal MsgBox.

The checked-in default never navigates or animates content by itself. Images
and Canvas content remain static until the user interacts; only the functional
clock advances once per second. This keeps the product demo focused on GSP's
compiled static UI without presenting a stopped clock as live data.

## Resolution strategy

The example provides two full-size layouts, not every `common` profile:

| Scene size | Target path | Pixel formats |
| --- | --- | --- |
| 1024x600 | ESP32-P4 MIPI-DSI | RGB565, RGB888-capable pipeline |
| 800x480 | ESP32-S31 RGB | RGB565 and native RGB888 |

The 240x240, 320x240 and 360x360 SPI/QSPI boards need a compact information
architecture rather than a mechanically scaled desktop layout. They are not
silently mapped to this example.

## Simulate

Compile all three 800x480 scenes into one interactive browser preview:

```sh
export GSPC_EXECUTABLE=/absolute/path/to/gspc
./preview_wasm.sh
```

Swipe horizontally inside the display to move between scenes. Set
`GSP_WASM_PREVIEW_NO_OPEN=1` for AI or headless environments; the command still
prints the local URL. A Component Registry copy of this example may need
`idf.py reconfigure` once to install ESP-GSP before previewing.

Render and interact with an individual scene without hardware:

```sh
../../tools/sim/run_scene.sh scene/showcase_command_800.json -- \
  --frames 30 --headless --dump /tmp/showcase-command.ppm
```

The host renderer validates authored layout, direct resources, controls,
component gestures and named fixed authored list items. The Showcase firmware
still owns its clock, dynamic data binding and application callbacks; use
hardware for those device/application paths.

## Build profiles

Run these commands from this directory after exporting ESP-IDF.

ESP32-P4 MIPI-DSI, 1024x600 RGB565:

```sh
idf.py -B build_esp32p4 \
  -D SDKCONFIG=build_esp32p4/sdkconfig \
  -D SDKCONFIG_DEFAULTS=sdkconfig.defaults \
  set-target esp32p4 build
```

ESP32-S31 RGB, 800x480 RGB565:

```sh
idf.py --preview -B build_esp32s31_rgb565 \
  -D SDKCONFIG=build_esp32s31_rgb565/sdkconfig \
  -D SDKCONFIG_DEFAULTS=sdkconfig.defaults \
  set-target esp32s31 build
```

ESP32-S31 24-bit RGB, 800x480 native RGB888:

```sh
idf.py --preview -B build_esp32s31_rgb888 \
  -D SDKCONFIG=build_esp32s31_rgb888/sdkconfig \
  -D 'SDKCONFIG_DEFAULTS=sdkconfig.defaults;sdkconfig.defaults.esp32s31_rgb888' \
  -D GSP_SHOWCASE_RGB888=ON \
  set-target esp32s31 build
```

ESP-IDF automatically applies `sdkconfig.defaults.<target>` after the base
file. The RGB888 command adds a product variant on top. See the
[Kconfig guide](../../docs/kconfig.md) for the loading and precedence rules.

To create a project from this example, run:

idf.py create-project-from-example "espressif2022/esp-gsp=0.2.10:showcase"

or download archive (~1.42 MB)