← К списку демонстраций
Режим сна: класс `sleep-mode` на странице, в базовых контекстах — только «Сон» (`SleepMode_CONTEXT_ID`).
Вход в сон
Ручной: кнопка «Сон» → `SleepMode_toggle` / `enter(false)`. Авто: при `ConsciousnessFinCyclesTotal > 100` вызывается `SleepMode_tryAutoAfterFinCycles` → `SleepMode_enterAuto` → `enter(true)` (подсказка на кнопке отмечает авто-вход). После входа — обновление виталов, контекстов, стимулов и `SleepDreams_onSleepEntered`.
Ограничение стимулов
`SleepMode_refreshStimulusButtonVisuals` на каждом пульсе и при входе/выходе: неразрешённые кнопки полупрозрачны и без клика. Разрешены только пары из белого списка (в коде — мотивация «Наказание»; негатив: Вопль, Сирена, Рычание, Огонь). Клик по разрешённому стимулу может вызвать выход из сна.
Макет кнопок:
Пустые кадры ЭП
`EpisodicMemory_isEmptyFrameForSleep`: есть стимул и ОД, нет ответного стимула (`responseStimulusImageId`) и нет числового `effect`. Индексы таких кадров собираются `EpisodicMemory_collectEmptyFrameIndicesNewestFirst` — очередь для сновидений (новые → старые).
Пульс и порядок шагов
В `puls.js` машина снов `SleepDreams_onPulse` вызывается до `dispetchConsciousnessThinking`, чтобы в том же пульсе после onPulse отработал соновой пассивный главный цикл и шаги `info_fantasizming`.
Пассивный главный цикл и info_fantasizming
`sleep_dream_process`: для кадра из очереди старый главный уходит в стек прерываний, создаётся новый цикл с `thinkingMode: 'passive'`, контекст `sleepDream`. У пассивного цикла уровни 3–4 не выполняются — только `info_fantasizming` (ассоциативная цепочка по ЭП, `fantasizmArr`, `fantazmingPlot`; главный дописывает сюжет в инфокартину). После лимита пульсов на кадр — реконструкция кадра в `Episodes`; после лимита кадров за сессию — `SleepMode_exit(true)` и снятие фоновых циклов ФО.
Очередь индексов пустых кадров (условная полоса UI) — в ядре заполняется из ЭП и обрабатывается `SleepDreams_onPulse`.

Подробности порогов: `MAX_DREAM_FRAMES`, `MAX_PULSES_PER_FANTASY` в `sleep_dream_process.js`. Пока идёт фантазия сна, флаг `SleepDreams_paleActivityBeast` бледно подсвечивает блок «Активность Beast».