# Remote UI browser runtime

This directory contains the preferred source form of the browser runtime used by the Unfolded.Tools Remote Simulator.

The runtime is a source-driven browser port of the official Unfolded Circle `remote-ui` application, based on the supplied current main snapshot whose changelog ends at v0.73.5. The original application is implemented in Qt 5/QML and cannot run directly inside a normal web page. This port preserves the remote runtime's information architecture, interaction patterns, entity-specific controls, status bar, page navigation, detail surfaces, overlays, settings hierarchy, typography, icon set, color system, and Remote 3 hardware navigation while communicating with UC Virtual Remote through the session-scoped Core-compatible API.

Implemented runtime surfaces include:

- Profile pages, page indicator, group expansion, and group control
- Activity UI pages and hardware button mappings
- Media player, light, cover, climate, switch, button, macro, select, sensor, remote, activity, and group views
- Media browser, source selection, sound-mode selection, and playback controls
- Profile, settings, integrations, notifications, charging, volume, voice, sleep, restart, and power overlays
- Remote 3 directional, home, back, menu, power, voice, volume, media, and touch-slider interactions
- Live updates from the simulator event stream

The public simulator intentionally keeps hardware-only and management operations unavailable. Wi-Fi and Bluetooth are represented as disabled Remote UI settings.

## Source relationship

Visual and behavioral decisions are derived exclusively from the QML source under the official `remote-ui` project—not repository screenshots, documentation screenshots, product photography, or marketing artwork—including including `MainContainer.qml`, `StatusBar.qml`, `SettingsNew.qml`, the entity device-class views, activity UI grids, profile switching, notifications, power, voice, volume, and touch-slider components.

The browser port source is distributed under GPL-3.0-or-later. The license and third-party notices are included beside the deployed assets.

The supplied upstream `remote-ui` tree is included unchanged at `remote-simulator/remote-ui-upstream-source/` for source comparison and GPL compliance.

## Stable overlay lifecycle

Detail and section surfaces preserve their outer DOM node across commands, SSE events, and periodic polling. This mirrors a loaded QML second container and prevents interaction or refresh events from replaying the open transition.

See `QML_SOURCE_MAP.md` for the component-by-component source mapping.
