---
name: prtv-editor-overview
description: Карта облачного конструктора цифровых вывесок PRTV (prtv.pro), где собирают меню-борды, промо-экраны и слайд-шоу для ТВ — как устроены слайд-шоу, слайды и элементы, пространство 1920×1080 и произвольные холсты, адреса, панели, лента слайдов, панель элемента, шрифты, загрузки, лицензии (ТВ-слоты) и водяной знак, чтение состояния редактора из DOM. Загружать первым для любой задачи в prtv.pro — собрать или поправить меню-борд, слайд-шоу, инфоэкран вручную или ИИ-агентом в браузере; остальные скиллы prtv-* на него опираются. Triggers (EN) PRTV editor, prtv.pro, digital signage editor, TV slideshow.
license: CC-BY-4.0
metadata:
  author: PRTV (prtv.pro)
  product: Конструктор цифровых вывесок PRTV (prtv.pro)
  version: "1.1"
  date: "2026-09-27"
  language: ru
  scope: интерфейс редактора + чтение состояния страницы из DOM; без вызовов внутреннего API
---

# Конструктор PRTV — обзор для ИИ-агентов

PRTV — облачный конструктор цифровых вывесок: меню-борды, промо-экраны, информационные каналы на Smart TV, приставках и в браузере. Агент работает в нём как человек — через интерфейс — и может читать состояние страницы через JavaScript. Всё ниже проверено в браузере, а не взято из документации.

## 1. Объекты

**Слайд-шоу → Слайд → Элемент.**

- **Слайд-шоу** — то, что крутит телевизор. Есть название, размер (по умолчанию HORIZONTAL 1920×1080), стили по умолчанию для новых слайдов и элементов, набор активных шрифтов, лицензии (ТВ-слоты).
- **Слайд** — один экран в ротации. Свои настройки: длительность показа в секундах, тип перехода (NONE, FADE и др.), прогресс-бар (цвет, фон, скрыть), фон — цвет / картинка / видео, режим показа картинки (STRETCH), стили по умолчанию для элементов этого слайда (шрифт, размер, цвет текста, фон).
- **Элемент** — объект на слайде. Тип, положение и размер (`top`, `left`, `width`, `height` в пикселях слайда), глубина (z-index), анимация появления, флаг «постоянный» (повторяется на всех слайдах), содержимое по типу.

Типы элементов по разделам левой панели:

| Раздел | Элементы |
|---|---|
| Базовые | Текст, Бегущая строка, HTML, Изображение, Видео, Таблица |
| Информеры | Часы, Погода, Качество воздуха, Курсы валют, Расписание транспорта, Пробки, Ресторанное меню (POS-интеграция) |
| Социальные сети | ВКонтакте, Одноклассники, Telegram, RSS Новости |

Каждая кнопка левой панели добавляет один элемент на **активный** слайд.

## 2. Адреса

| Что | URL |
|---|---|
| Кабинет, список слайд-шоу | `https://prtv.pro/` |
| Редактор | `https://prtv.pro/slideshow/<id-редактора>` — короткий хэш, не совпадает с номером для ТВ |
| Публичный плеер (что видит телевизор) | `https://prtv.pro/<номер>` — семь цифр, например `https://prtv.pro/0012233`; этот же номер вводят на ТВ |
| Настройки аккаунта и интеграций | `https://prtv.pro/settings` |
| Публичные конструкторы информеров | `https://s.prtv.su/informery`, например `/chasy`, `/openweather`, `/qr-infomer`, `/countdown` |
| Загруженные медиа | `https://prtv.pro/download/folder-prtvpro/<hash>` — все загрузки проксируются через домен PRTV, в плеере нет проблем с CORS |

Id редактора и номер для ТВ — разные идентификаторы. Не путать.

## 3. Координатное пространство

Внутренний холст фиксирован: **1920 × 1080 px**. Все координаты элементов и размеры шрифтов живут в этом пространстве и масштабируются пропорционально на любой экран. Абсолютные пиксели, никаких процентов.

В редакторе холст показан уменьшенным (на десктопе примерно ×0,57). Экран = внутренняя координата × масштаб + смещение холста. Масштаб снимается с любого элемента:

```js
const el = document.querySelector('[id^="slide-element-"]');
const r = el.getBoundingClientRect(), st = getComputedStyle(el);
const scale = r.width / parseFloat(st.width);
const ox = r.x - parseFloat(st.left) * scale;
const oy = r.y - parseFloat(st.top) * scale;
// экран = ox + scale * slideX
```

Пересчитывать после любого изменения размера окна. Координаты клика со скриншота на глаз не брать — скриншот отрисован в третьем масштабе, промах выглядит как «редактор не реагирует».

Слои: фон слайда рисуется на глубине 0 и ничего не прячет. Содержимое — глубина ≥ 1; больше глубина — ближе к зрителю. См. prtv-element-layout.

## 4. DOM-конвенции (для чтения состояния)

- Узел элемента: `id="slide-element-<id>"`.
- Узел слайда: `id="slide-<id>"`.
- Холст: `#slide-factory`.
- Рамка выделенного элемента: `.moveable-control-box`.
- Левая панель: `.lefmenu` (высотой около 1500 px — до нижних полей нужен скролл: `document.querySelector('.lefmenu').scrollTop = 1e6`).
- Лента слайдов внизу: `.bottom-layer`, 160 px. Миниатюры — полные уменьшенные копии слайдов с теми же id элементов: инвентаризировать все слайды можно по ленте, не переключая их. Исключение: информеры в миниатюрах не рендерятся (заглушка «iframe заблокирован»).
- Редактор текста при правке текстового элемента: `[contenteditable="true"]` (TinyMCE).
- Публичный плеер: класс body `active-slide-<id>` — какой слайд сейчас на экране; `IMG[alt="watermark"]` есть только без привязанного ТВ-слота.

Клиент хранит локальную копию данных; чтение из неё — надёжный способ инвентаризации слайда (id, типы, позиции, глубина) без скриншотов:

```js
const map = Meteor.connection._stores['slide-elements']._getCollection()._docs._map;
const list = Object.values(map).map(e => ({ id: e._id, slide: e.slideId, type: e.type, z: e.zIndex, ...e.styles }));
```

Только чтение. Писать через это не пытаться — редактор такие правки не сохранит, а публичные методы записи в этот набор скиллов не входят.

Вывод, содержащий URL с параметрами, может блокироваться инструментами агента — вырезать URL перед возвратом текста.

## 5. Верхняя панель редактора (7 кнопок, без подсказок)

| # | Иконка | Открывает |
|---|---|---|
| 0 | шестерёнка | Настройки слайд-шоу: название, обложка, размер холста, дополнительные шрифты, оффлайн |
| 1 | кисть | Значения по умолчанию: стили нового слайда и новых элементов; «Применить для всех» раскатывает на все слайды. ПКМ по холсту открывает то же |
| 2 | сетка | Настройки холста: сетка, привязка, направляющие |
| 3 | глаз | Предпросмотр — эталон для проверки ротации |
| 4 | картинка | Список элементов слайда по глубине (иконка сбивает с толку) |
| — | undo | Ctrl+Z, только в пределах сессии страницы |
| — | redo | Ctrl+Shift+Z |

Истории версий нет. После перезагрузки отмена недоступна.

## 6. Лента слайдов и настройки слайда

У миниатюры четыре кнопки, видны **только при реальном наведении мыши** (синтетический `mouseenter` их не показывает): настройки слайда, сохранить как шаблон (это не обычное сохранение), дублировать, удалить.

Настройки слайда открываются в левой панели: длительность, переход, прогресс-бар, фон (цвет / файл или URL картинки / видео), стили элементов по умолчанию.

Переключение слайда — клик по миниатюре. Клик часто срабатывает со второго раза — проверять по DOM, не глазами. Не кликать рядом с лентой «на всякий случай»: там кнопка удаления. Не тянуть миниатюру, если не нужно менять порядок: незавершённый драг оставляет её смещённой.

ПКМ по холсту — значения по умолчанию слайд-шоу, **не** активный слайд.

## 7. Панель элемента («Оформление элемента»)

Общее для всех типов: поворот (0–360° + шаг), непрозрачность, границы (толщина + цвет), отступ, цвет фона (RGBA-пикер; альфа 0 = прозрачный, хранится как `#ffffff00`), фоновое изображение (cover / contain / stretch), режим показа (STRETCH / TILE / FILL), анимация (тип из 57 пресетов + задержка + длительность + количество повторов, 0 = бесконечно + «скрыть до начала»), сохранять пропорции (картинки), постоянный элемент (на всех слайдах), **глубина** (z-index), действия (поведение по клику).

Числовых полей X/Y/W/H нет. Положение и размер — драгом и ресайзом рамки. Тянуть **невыделенный** элемент; драг по выделенному текстовому открывает правку текста. Ресайз за маркеры рамки; самый надёжный — средний правый.

Кнопки «Выбрать» у фоновых изображений скрыты до наведения и открывают системный выбор файла. Встроенной галереи нет: либо выбор файла, либо картинка, уже стоящая на слайде.

ПКМ по элементу — контекстное меню: сделать кликабельным, настройки стиля, настройки анимации, сбор статистики, рекламный элемент, режим перспективы, режим масштабирования.

## 8. Шрифты

26 встроенных шрифтов Google с кириллицей: Arial (по умолчанию), Bad Script, Comfortaa, El Messiri, Fira Code, Forum, Jura, Kelly Slab, Kurale, Lobster, Marck Script, Neucha, Open Sans, Oswald, Pacifico, Pangolin, Play, Poiret One, Press Start 2P, Roboto, Rubik Mono One, Ruslan Display, Russo One, Seymour One, Stalinist One, Underdog.

Свои шрифты: настройки слайд-шоу → «Дополнительные шрифты» → «Добавить шрифт» (TTF/WOFF). Используются только начертания 400/700; вариативные шрифты усекаются. К тексту шрифт применяется через тулбар TinyMCE — см. prtv-text-element.

## 9. Загрузки

Картинки и видео загружаются через выбор файла в соответствующем поле. Файлы хранятся под доменом PRTV и отдаются без проблем с CORS. Большие картинки уменьшаются примерно на четверть (1920×1080 → около 1456×819); для логотипов и QR держать запас. Индикатора загрузки нет; URL появляется в DOM через несколько секунд.

## 10. Фон слайда — три способа

1. **Значения по умолчанию** (кисть): цвет, картинка или видео для всех новых слайдов; «Применить для всех».
2. **Настройки слайда** (миниатюра → настройки): цвет, картинка (файл или URL) или видео только для этого слайда.
3. **Элемент «Изображение»** 1920×1080 на глубине 0 — когда поверх фона нужны слои или эффекты.

Нативного градиента нет — загружать заранее отрисованную картинку с градиентом.

## 11. ТВ-слоты, водяной знак, публичный адрес

Любое слайд-шоу сразу доступно по номеру для ТВ, **с водяным знаком**. Привязка ТВ-слота (лицензии) знак убирает. У нового аккаунта один свободный ТВ-слот. Слоты привязываются и снимаются счётчиком −/+ на карточке слайд-шоу в кабинете; слот можно перенести между слайд-шоу. При отсутствии свободных слотов «+» молча ничего не делает.

## 12. Проверка результата

Скриншот не показывает ни ротацию, ни анимацию. Смотреть в предпросмотре (глаз), дождавшись как минимум одной полной длительности слайда. Публичная страница в десктопном браузере может долго «стоять» на первом слайде при корректных данных — эталон предпросмотр, публичный адрес — вторая проверка.

Сохранение автоматическое. Кнопки «Сохранить» нет; после правки появляется «Сохранено». Проверка — перезагрузка страницы: что пережило перезагрузку, то сохранено.

## 13. Типичные ошибки агентов

- Координаты клика со скриншота.
- Правка DOM напрямую в расчёте, что она сохранится.
- Id редактора вместо номера для ТВ и наоборот.
- Серии двойных кликов вслепую — лишний клик утаскивает элемент за слайд.
- Оценка информеров по миниатюрам (там они пустые) или погоды по превью редактора (фиксированная вёрстка режет иконки; публичная страница адаптивна).
- Ожидание отдельной «бесплатной лицензии»: бесплатный уровень — один ТВ-слот; без него слайд-шоу крутится с водяным знаком.

## 14. Приёмы из инструкций PRTV

- Горячие клавиши: стрелки двигают выделенный элемент, Shift+стрелка — быстрее; Del — удалить; Esc — снять выделение; Ctrl+Z, Ctrl+C / Ctrl+V работают и в русской раскладке; Shift+клик — несколько элементов.
- Полотно двигается зажатым колесом мыши, масштаб — Ctrl + колесо. Элементы и фон можно выносить за край полотна — так делают анимацию «выезд из-за экрана».
- Кнопка **списка элементов слайда** выбирает нужный элемент на многослойном слайде, когда клик попадает в фон или соседнюю картинку.
- Слайд сохраняется как **макет** (значок дискеты на превью) и вставляется в другие слайд-шоу кнопкой «Слайд из макета» — удобно для сетей с фирменным стилем.
- **Постоянный элемент** (логотип, часы, радио, карта) показывается на всех слайдах — не копировать его на каждый слайд.
- Тормозит редактор — отключить превью слайдов и «липкие края».
- Изменения сохраняются сразу, отмена работает только до выхода из редактора: готовое слайд-шоу от дизайнера сначала продублировать и править копию.
- Одно слайд-шоу могут править несколько человек под одним аккаунтом; ролей нет.
- **Мобильная версия**: новое слайд-шоу и элемент — через «три точки» вверху, перетаскивание долгим нажатием, свойства — в «Настройках элемента» внизу; удобно менять цены с телефона.
- Эффект снегопада — GIF https://s.prtv.su/wp-content/uploads/snezhinki.gif через «Фото» поверх слоёв; коллекция картинок — «Фото → Выбрать → Из коллекции».
- Бесплатные фоны: https://s.prtv.su/wp-content/uploads/shablony/city/city_N.jpg (1–32), …/textures/textureN.jpg (1–29), …/flowers/flowersN.jpg (1–18).

## Связанные скиллы

prtv-slide-settings · prtv-element-layout · prtv-text-element · prtv-html-block-animation · prtv-video · prtv-widgets · prtv-agent-rules