Пульт управления Beast — руководство для оператора

Документ описывает интерфейс «Существо Beast, пульт связи» в index.html: назначение зон экрана, индикацию состояния, вывод сообщений и все элементы управления стимулами. Поведение привязано к коду в beast/ (см. также manuals/Mad_programmer_manual.md).


Введение: что такое Beast и как он «живёт»

Beast — браузерная модель существа с дискретным временем пульса (≈1 с): каждый пульс обновляются виталы (- жизненные параметры гомеостаза, см. теорию: fornit.ru/71218), базовые контексты поведения, дерево восприятия, диспетчер циклов осмысления (ФО), эпизодическая и семантическая память, рефлексы и автоматизмы.

Пульт — это канал связи оператора с моделью: вы задаёте стимулы и режимы, читаете виталы, контексты, инфокартину и логи циклов, сохраняете и загружаете память.


1. Назначение и возможности пульта

Назначение

В режиме сна кликабельны только заранее некоторые ("сторожевые") стимулы (см. раздел про сон).


2. Как индицируется состояние и другие показатели

2.1. Верхняя строка

Элемент Смысл
Зелёный кружок + число Пульс жизни: мигающий круг (pulseCircle) и счётчик pulseCounter = число пульсов.
Синяя точка у «Сохранить» (saveIndicator) Идёт запись в IndexedDB и/или на диск; кратковременное отображение (не менее ~300 ms).
Сохранить / Загрузить Экспорт/импорт памяти в выбранную папку (File System Access API).

2.2. Жизненные параметры (виталы)

Имена виталов (Id 1–10): Раны, Удушье, Жажда, Жара, Холод, Голод, Стресс, Гон, Общение, Интерес (см. beast/_1_Genetic_vitals/vitals.js).

2.3. Базовые контексты поведения

2.4. Полоса ожидания ответа

Тонкая синяя полоса (epWaitingProgressFill в epWaitingProgressWrap) появляется как прогресс периода ожидания ответа оператора после эпизодического кадра (response_waiting_period). Подсказка у обёртки в title.

2.5. Блок активной ветки дерева восприятия

2.6. Активность Beast

Серый блок с текстом текущей активности (многострочный). Справа: 📋 (копировать), Ух (сброс всех условных рефлексов), Sx (сброс всей семантической памяти). Рамка блока согласована с Плохо/Хорошо у строки контекстов.

2.7. Информационная картина (расширенная строка)

Под заголовком «Информационная картина»:

2.8. Таблица ячеек инфокартины

Ячейки с подписью; жёлтый фон (info-cell-active) — значимое/активное значение. Щелчок открывает детализацию (Info_showDetail(...)): режим, тема, ситуация, сюжет фантазма, проблема, шаг, стимул, Base, эмоция, активность, а также детекторы (критический витал, важная проблема, реагирование по правилу, шок, резкое ухудшение, игра, обучение, негативные эффекты автоматизмов, «плохо», стимул с пульта, поиск, учитель, игнор оператора, неудовлетворённость, непонимание, сомнение, защита, страх, агрессия, важный объект, настроение, новизна, семантика, трудная проблема, эффекты действий, ожидание ответа, серии без эффекта, полезность автоматизма, найденный автоматизм и т.д.).

См. структуру InfoPicture в beast/_9_Conscience/informing.js.


3. Как выводятся сообщения

3.1. Статические (в интерфейсе страницы)

3.2. Всплывающие (модальные диалоги)

Модуль beast/sys/alerts/alerts.js:

Функция Назначение
show_alert(message, timeShow, options) HTML-сообщение; timeShow > 0 — авто закрытие через N ms; timeShow === 0 — кнопка «Закрыть».
show_confirm(message, callback) Да / Нет → callback('OK' | 'NO').
show_prompt(message, callback) Ввод текста → callback(value).
close_alert() Закрыть активный диалог.

Особый тип dialogType: 'cyclelog' — окно лога главного цикла (последние строки debugLog), обновляется по мере записи; закрытие пользователем помечает лог как подавленный для этого цикла. Не перекрывает другие модалки произвольного типа.

Дополнительные примеры содержимого алертов:


4. Все види кнопок и стимулов

Ниже — поведение по коду (stimuls.js, stimuls_ui.js, genetic_reflexes.js, genetic_reflexes_engine.js, sleep_mode.js).

4.1. Общие правила строк стимулов

4.2. Глобальные идентификаторы стимулов

Чтобы не путать одинаковые номера в разных массивах, в памяти используются глобальные Id: type * 1000 + localId, где type: 1 — мотивация, 2 — позитив, 3 — негатив, 4 — нейтраль (stimulus_global_id.js).

4.3. Мотивирующие стимулы (stimulsRow)

Поле bg в данных: 1 — розовый базовый фон, 2 — белый/нейтральный, 3 — светло-зелёный. Каждая запись связана с vitalID и величиной shift в данных (для длительного воздействия через движок рефлексов — см. genetic_reflexes_engine.js).

Id Имя vitalID shift (в таблице) Примечание
1 Еда 6 0 Эффекты при активации: стресс −20, SetWellForHolding; сброс кэша автоматизмов по веткам при активации с Едой/Водой.
2 Вода 3 0 Аналогично Еде.
3 Тепло 4 −1
4 Холод 5 −1
5 Воздух 2 −2
6 Лечение 1 −0.5
7 Поощрение 7 0 Сильное снижение стресса + удержание Хорошо.
8 Наказание 7 0 Рост стресса + удержание Плохо.
9 Приятно 7 0 Стресс −30 + в таблице эффектов также указан vitalID 17 (если витал не существует в массиве, дельта может не применяться).
10 Неприятно 7 0 Стресс +30.
11 Успокоить 7 0
12 Понятно 7 0
13 Непонятно 7 0
14 Простить 7 0
15 Смех 7 0
16 Радость 7 0
17 Краш 8 2
18 Игнорировать 7 0
19 Играть 11 0 Не через ActiveMotivationStimuls: переключает isGameMode, взаимоисключает Учить; при включении — эффект 103.
20 Учить 12 0 isAuthoritarianEducation, взаимоисключает Играть; эффект 104.

При активации мотивирующего стимула (кроме переключения Играть/Учить) вызываются разовые эффекты из StimulMotivarion_EffectsToBContexts (дельты виталов 1–10, коды 101–104: удержание Хорошо/Плохо, игровой/учебный режим).

4.4. Позитивные стимулы (stimulsRowPositiv)

Фон: светло-зелёный; активные — усиленное зелёное свечение. При активации подмешиваются контексты по StimulPositiv_EffectsToBContexts (числа 1–20 — id базовых контекстов на период удержания; 101–104 — как у мотивации).

Id Имя
1 Улыбка
2 Ребенок
3 Щенок
4 Цветок
5 Солнце
6 Бабочка
7 Ягода
8 Колокольчик
9 Смех
10 Пение
11 Мелодия
12 Шелест
13 Мурлыкание
14 Сладость
15 Аромат
16 Тепло
17 Ветерок
18 Прохлада
19 Прикосновение
20 Ласка

4.5. Негативные стимулы (stimulsRowNegative)

Фон: розовый; активные — усиленное розовое свечение. Контексты: StimulNegative_EffectsToBContexts (в т.ч. 102 = SetBadForHolding для отдельных кнопок).

Id Имя
1 Злоба
2 Кровь
3 Разруха
4 Паук
5 Змея
6 Гриб
7 Гниль
8 Вопль
9 Стон
10 Сирена
11 Писк
12 Скрип
13 Рычание
14 Осколки
15 Молния
16 Кинжал
17 Горечь
18 Кислятина
19 Вонь
20 Огонь

Кнопка «Тест» (красная, после ряда): вызывает runTestNegativeInterrupt() — жёсткий тест прерывания цикла осмысления максимально негативной значимостью; в сне не работает.

4.6. Нейтральные стимулы (stimulsRowNeutral)

Серый фон; при активации не вызывают StimulPositiv/Negative_EffectsToBContexts (только накопление активного набора в ActiveNeutralStimuls для образа и ОР).

Id Имя
1–9 Коричневое … Белое (цвета)
10–18 Круг … Треугольник (формы)
19–23 звуковые
24–31 остальные

4.7. Значок «i» на стимулах

Маленькая i в углу кнопки: открывает диалог с моделью понимания стимула (семантические кадры, z, число эпизодов); клик по числам z открывает детализацию кадра.

4.8. Прочие кнопки интерфейса (не строки стимулов)

Кнопка Действие
Сон Переключение SleepMode_toggle; фон страницы серый; контекст только «Сон» (id 15); авто-вход возможен при большом числе «финовых» циклов (ConsciousnessFinCyclesTotal > 100).
B SetBadForHolding — удержание Плохо; перевод инфокартины в целевой режим и вспышка «лампочки» мысли.
W SetWellForHolding — удержание Хорошо.
diff getDiffImportance() и показ разниц в алерте.
Сохранить / Загрузить См. §2.1.

5. Как развитие отражается на интерфейсе


6. Как развивать Beast: последовательность и внимание

Рекомендуемый порядок для оператора-исследователя (без правки кода):

  1. Понять пульс и виталы — задайте сценарии Плохо/Хорошо, понаблюдайте контексты и DiffZnacher.
  2. Освоить стимулы — начните с мотивации и нейтрали, затем позитив/негатив; смотрите готовность к ОР и модель понимания (i).
  3. Следить за деревом и инфокартиной — как связаны Base, эмоция, активность, шаг, стимул.
  4. Эпизодическая память — используйте т для тестов, смотрите полосу ожидания, закрывайте кадры ответами; изучайте about_episodic_memory*.md.
  5. Сон — используйте осознанно для сценариев сновидений; помните про ограниченный набор стимулов.
  6. Сохранения — регулярно сохраняйте память в файл перед экспериментами; Sx и Ух необратимы в рамках сессии без загрузки.

Для разработчика кода:


Документ соответствует состоянию кода проекта BEAST; при расхождении UI и поведения приоритет у реализации в репозитории.