# Welcome to Exaplay 3

**Exaplay 3** is a professional media playback and composition system designed for stage productions, live events, and projection-mapping environments. It combines a high-performance C++ rendering engine with a modern browser-based interface and a real-time effects server.

![Exaplay 3 Main Interface](/files/SdEIhJ7VNOGiqcr4EyGB)

## What Exaplay 3 Does

Exaplay 3 lets you:

* **Play and compose** video, image, and live-input content across multiple screens simultaneously
* **Map projections** with geometric warping and edge blending (VIOSO integration)
* **Sync to timecode** — ArtNet, LTC, OSC — for frame-accurate cue execution
* **Trigger cues remotely** from the Operator or User control pages
* **Add real-time GPU effects** (color keying, luminance, custom shaders) without render freezes
* **Run unattended** with the Auto-Heal watchdog that resumes playback after crashes

## Three Components Working Together

```
┌─────────────────────────────────────────────────────┐
│                    Exaplay 3                        │
│                                                     │
│  ┌──────────────┐   HTTP / WS  ┌────────────────┐  │
│  │  Vue 3 SPA   │◄────────────►│  C++ Engine    │  │
│  │  (Frontend)  │              │  (Backend)     │  │
│  └──────┬───────┘              └───────┬────────┘  │
│         │ HTTP / WS                    │            │
│         ▼                              ▼            │
│  ┌──────────────┐              ┌────────────────┐  │
│  │ Effects      │              │  Watchdog      │  │
│  │ Server (JS)  │              │  Service       │  │
│  └──────────────┘              └────────────────┘  │
└─────────────────────────────────────────────────────┘
```

| Component            | Technology                  | Role                         |
| -------------------- | --------------------------- | ---------------------------- |
| **C++ Engine**       | C++17, Win32, OpenGL 4+     | Rendering, decoding, output  |
| **Vue 3 Frontend**   | Vue 3, Vite, Pinia          | Editing, operator & user UIs |
| **Effects Server**   | Node.js, Express, WebSocket | Real-time shader uniforms    |
| **Watchdog Service** | Windows Service             | Crash recovery, auto-heal    |

## Where to Start

| Goal                      | Go to                                                    |
| ------------------------- | -------------------------------------------------------- |
| Install Exaplay 3         | [Installation](/v3/getting-started/installation.md)      |
| Play your first video     | [Quick Start](/v3/getting-started/quick-start.md)        |
| Understand the interface  | [Interface Overview](/v3/user-interface/index.md)        |
| Configure outputs         | [Output Setup](/v3/configuration/outputs.md)             |
| Set up projection mapping | [Projection Mapping](/v3/features/projection-mapping.md) |
| Learn a specific workflow | [Workflows](/v3/workflows/index.md)                      |
| Fix a problem             | [Troubleshooting](/v3/troubleshooting/index.md)          |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.exaplay.one/v3/introduction/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
