СВОБОДА·29 · К2 · живой интерфейс над Composition Engine
·29 · СОСТОЯНИЕ: ПРЕДЛОЖЕНО

Свобода выбора из многообразия

Человек произносит намерение словом. Машина не приказывает — машина собирает варианты среды из примитивов и честно показывает, где среда урезана, где чего не хватает, и что многообразие подсказывает сверх словаря. Жить средой или не жить — решает человек.

Закон комнаты. Каждое состояние машины — «предложено» (СВОД I-01). Недоступный примитив — не тихая подмена, а отметка с причиной (I-04). Память вечной становится только явным выбором человека (I-06). Неизвестное слово — честный отказ, без выдумок (I-09). Новое слово — новый режим человека без правки ядра (закон №13, EMERGENCE).

Шаг 1 · НАМЕРЕНИЕ

Человек произносит слово деятельности

Шаг 2 · МНОГООБРАЗИЕ — что среда умеет и из чего строит

Способности этой среды — включай честно

Реестр примитивов — кирпичи сред

Шаг 3 · ПРЕДЛОЖЕНО — машина собрала, человек смотрит

Эмерджентность · СВОЁ СЛОВО БЕЗ ПРАВКИ ЯДРА

Словарь комнаты расширяется честно: назови слово деятельности, отметь примитивы — и у дома появится режим, которого не было. Ядро движка не тронуто.

Под капот — законы, доступность, расширение

СВОД ЗАКОНОВ ДОМА — как живёт эта комната

ЗаконВ комнате ·29
I-01 ЧЕЛОВЕК РЕШАЕТдвижок возвращает варианты со статусом «предложено»; кнопка «Жить этой средой» — единственный путь из предложения в жизнь; машина не имеет кнопки «включить сама».
I-04 FALLБЭК ВИДЕНвыключишь способность среды — примитив не исчезнет тихо: карта честно покраснеет и назовёт причину «среда урезана: что именно и чего не хватает».
I-06 ПАМЯТЬ — РЕШЕНИЕпо умолчанию память temporary; «вечная» ставится только галочкой человека; сохранение и стирание — явные кнопки, машина ничего не пишет сама.
I-09 БЕЗ СКРЫТОЙ ВЛАСТИнеизвестное слово не выдумывается: движок отвечает «НАМЕРЕНИЕ_НЕИЗВЕСТНО», и комната предлагает объявить слово честно.

Доступность — аудит по WCAG 2.2

Критерий 2.2Как закрыт
2.4.7 Focus Visible / 2.4.11 Focus Not Obscuredфокус — золотая обводка с отступом на всех контролах; шапка не перекрывает фокус (sticky с прозрачным фоном, offset −4px только у капота внутри контейнера).
2.5.8 Target Size (минимум)все интерактивные цели ≥ 24px, основные — 44px: слова-намерения, чекбоксы, кнопки.
2.5.7 Dragging Alternativesперетаскивания нет вовсе: всё собирается выбором, не мышцей.
Нативная семантикаfieldset+legend для намерения, нативные чекбоксы, aria-live для предложений и журнала, сцена aria-hidden с текстовой альтернативой рядом.
2.3.3 Animation from Interactionsорбиты останавливаются при prefers-reduced-motion; стекло уплотняется при prefers-reduced-transparency.

Мировая практика 2026, взятая в дом

View Transitions между дверями дома — нативные @view-transition правила в мосту singulyar-design-v3.css (деградирует тихо: браузер без поддержки просто открывает дверь). Speculation Rules сознательно не взят: сервис-воркер дома и так открывает двери из кэша мгновенно — чужой механизм поверх собственного ядра не нужен.

Расширение многообразия — для инженера

// примитив, который расширяет чужие слова (EMERGENCE, §37 ТЗ):
объявиПримитив({
  имя: 'проектор',
  требует: ['экран'],
  даёт: ['свет', 'сцена'],
  представления: ['холст'],
  транспорты: [],
  расширяет: ['посмотрим']   // машина предложит его к этому слову
});                          // ядро движка не тронуто — такт v1.37.0 доказал 12/12

Честные границы

Комната — прототип слоя композиции (prototype_only по ГОТОВНОСТЬ.manifest): она собирает манифесты сред и показывает их вживую, но не поднимает связь и звонки сама — это двери ·22 и ·23. Мульти-устройство остаётся в known_nonproduction: среда одной личности живёт на устройстве человека.