# Восприятие и стимулы (_3_perception)

## Назначение

Модуль задаёт **стимулы восприятия** и их отображение в интерфейсе. Стимулы — входы, на которые возможны генетические и условные рефлексы; из активных стимулов формируется конечный образ (FinalImage) и ветка дерева восприятия.

## Виды стимулов

- **StimulMotivarion** — мотивирующие стимулы (Еда, Вода, Тепло, Холод, Поощрение, Наказание, Приятно, Смех, Играть, Учить и др.). Связаны с виталами (`vitalID`, `shift`), при активации могут менять виталы и контексты.

- **StimulPositiv** — позитивные стимулы (Улыбка, Смех, Пение, Ласка и т.д.).

- **StimulNegative** — негативные стимулы (Злоба, Вопль, Стон, Огонь и т.д.).

- **StimulNeutral** — нейтральные стимулы (цвета, формы, объекты).

Активные в данный момент наборы хранятся в **ActiveMotivationStimuls**, **ActivePositivStimuls**, **ActiveNegativeStimuls**, **ActiveNeutralStimuls** (массивы ID).

## Файлы

- **stimuls.js** — объявление массивов стимулов и глобальных массивов активных стимулов.
- **stimuls_ui.js** — кнопки стимулов, переключение активности (toggle), вызов эффектов контекстов и **OrientationReflex_runOnStimulusActivation** после изменения набора стимулов.

При активации/деактивации стимулов вызывается ориентировочный рефлекс (с отложенным запуском на следующий тик), обновляются образы и дерево восприятия.

## Индикатор «готовности к ориентировочному рефлексу»

В `stimuls_ui.js` рядом с кнопками стимулов показывается зрелость семантических структур для запуска ОР.

- Бордер утолщается у кнопок, у которых для их (условного) `FinalImageId` выполняется `samplesCount >= OR_well_known` (поэтому `remainingActivations === 0`).
- Обновление бордера сделано **экономно**:
  - полный пересчёт вызывается из `puls.js` **только на 2-м пульсе после старта** (чтобы учесть `BadNormWell` и `BasicContextsActived`);
  - далее бордер пересчитывается **точечно** для конкретного `finalImageId` после изменения семантики в `semantic_memory.js`.
- `mouseenter` обновляет только `title` (подсказку), чтобы программисты не путали визуальный бордер с hover-логикой.
