DOCS / публикации

Атмосфера поста: звук и фон

Пост может иметь атмосферу — то, что стоит за текстом: живой фон или последовательность картинок, и, если хотите, звук.

Читатель при этом всегда остаётся главным: с 1.0.8 открытие поста открывает его картинку — в пределах того, что вы выставили для атмосфер (выкл, постер, спокойно, полностью), что разрешает пространство и что говорит системный reduce motion. Звук — единственное, что по-прежнему спрашивает.


пространство Atmospheres: по посту на каждое небо, с рецептом

Из чего она состоит

часть обязательна что это
картинка да, одна из двух либо движущаяся сцена, либо картинки по мере чтения — вместе нельзя
звук нет одна дорожка, играет за постом
слова да что читатель получит, если картинку показать нельзя

Последнее — не формальность. Правило простое: рендерер может деградировать, смысл — нет. Клиент, который не знает вашу сцену, старый телефон, включённый режим «меньше движения» — во всех этих случаях читатель получает вашу фразу, а не пустоту. Редактор пишет её сам («Nebula — a slow moving background»), и её можно заменить своей.


Как добавить

Открыть композер (✍ New post) и найти панель Atmosphere.

1. Звук — первым

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

♫ Add a sound → выбрать файл. Появятся:

  • loop / once — играть по кругу или один раз;
  • volume — громкость.

Звук играет только у того, кто открыл пост со звуком. Мягкое появление и затухание уже настроены.

2. Движущаяся сцена

Под Customize — живой предпросмотр через тот же движок, который увидит читатель (не макет и не скриншот: иначе автор настраивал бы картинку, которой ни у кого не будет).

С 1.0.7 на выбор — четыре сцены, и каждая это фрагментный шейдер: крошечная программа без памяти, без сети и без глаз, измеряемая тем же полом яркости, что бы она ни вычислила:

сцена характер
Nebula облака из собственных цветов поста и несколько seeded-звёзд
Aurora занавеси света над тёмной землёй
Caustics сеть света на дне бассейна
Silk полотна ткани, складывающиеся в медленном воздухе

Прежние шесть (Drift, Tide, Orbit, Dust, Ember, Pulse) ушли на покой, но не удалены: композер их больше не предлагает, а каждый пост, который уже называет одну из них, сохраняет свою картинку на каждом устройстве — id сцены, однажды опубликованный, это обещание.

Ниже — Seed с кнопкой ⚄ Reroll (одна и та же сцена с другим зерном выглядит иначе, и это воспроизводимо) и три ручки, одинаковые везде: drift, density, glow. Смена сцены их сбрасывает — они принадлежат сцене.

Ниже — палитра (из неё же считается затемнение под текстом), слова и происхождение, если атмосфера взята у другого поста.

3. Картинки по мере чтения

Другой режим: фон меняется, пока человек читает.

  1. В панели Atmosphere переключить режим на Pictures as you read.
  2. В списке блоков нажать + 🖼 Background — и выбрать картинку.

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

  • До 12 картинок на пост.
  • Клик по миниатюре — заменить.
  • Порядок всегда приводится к порядку документа: «здесь», а не «третьей».
  • Если блок-якорь удалён, картинка не пропадает молча — редактор покажет, что ей нужен новый якорь.

Сцена и картинки — альтернативы. Переключение режима честно предупредит, что от генеративной половины ничего не останется.

Звук у каждой картинки отдельно в контракте предусмотрен, но не проигрывается и в редакторе не предлагается. Показывать автору поле, которого читатель не услышит, значило бы продавать несуществующее.


Что видит читатель

В ленте — карточка с неподвижным первым кадром (или постером):

◌ Атмосфера Nebula · Со звуком

Живых циклов в ленте нет вообще: один кадр на видимую карточку, и тот пропадает, когда карточка уезжает с экрана.

Клик по карточке открывает пост, а пост открывает свою картинку — полоса читает moving с первого кадра, с Pause и Leave. Со звуком — единственная оставшаяся дверь, и она читается как дверь, а не как тумблер, намекающий, что звук когда-то был включён.

Внутри поста атмосфера — слой позади всей статьи, а не вставка между абзацами. Между ней и текстом лежит затемнение, которое пересчитывается под каждую картинку: яркое фото не съест текст.

Полоска управления после входа:

кнопка что делает
Pause замирает на текущем кадре, а не отматывает к началу
Resume продолжает оттуда же
Mute / Unmute только звук; картинка не трогается
Leave выйти: детерминированный первый кадр и снова двери
Use this atmosphere забрать рецепт себе в новый черновик

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


Безопасность и уважение к читателю

Это не декларация, а то, что заложено в механику:

  • Сцены не умеют мигать. Скорость и амплитуда изменения яркости ограничены на уровне API сцен, а не доверием к автору. Каждая встроенная сцена прогоняется автоматической проверкой по всему диапазону параметров.
  • Сцены не рисуют текст. Сцена, умеющая нарисовать буквы, умеет подделать системное сообщение.
  • «Меньше движения» в системе — фиксированное безопасное затухание вместо авторского, никаких сдвигов.
  • Вкладка в фоне — рисование останавливается.
  • Одна сцена за раз на всё приложение.
  • Звук уступает. Если идёт комната прослушивания, фон поста не начнёт играть поверх неё, а честно скажет почему.
  • Ничего из происходящего у читателя не отправляется обратно: движение и звук — это исполнение рецепта, а не данные.

Если атмосферы не видно

признак причина
пост открылся без движения так сказали ваша настройка атмосфер, разрешение пространства или системный reduce motion — сцена слушается самого тихого
вместо картинки — фраза этот клиент не знает вашу сцену, или включено «меньше движения». Читатель получил смысл
звук не начался другой звук уже играет (например, комната прослушивания) — причина написана в полоске
«A sequence needs at least one picture» выбран режим картинок, но не добавлено ни одной
«Write something first» картинка отмечает место в посте, а блоков ещё нет