Repository navigation
Brix 0.1.5-beta
Pre-releaseEnglish · Русский
What's new
One list of scene widgets instead of two. "Overlays" and "Browser widgets" were
separate screens, and which one a thing belonged to was our internal distinction, not
a meaningful one: one browser-based donation widget went into the first list, another
into the second. There is now a single list, and you pick a type when you add a widget:
donation alert, web page, image, or text.
Image and text widgets do not start a browser at all. Until now, putting a picture
over the video cost a whole WebView — measured at 9–10% of one CPU core per widget,
with a snapshot loop running every 200 ms. The new native types cost essentially
nothing: an image is read once, and a text line is redrawn only when it actually
changes. Text supports {time}, {battery} and {bitrate}.
Your existing overlays and browser widgets are migrated automatically, including which
scenes they belong to.
Donation alerts are laid out as one block. The picture and the caption used to be
two independent overlays with separate geometry, so they drifted apart, shifted near
the frame edge, and the text stretched when the window was resized. They are now glued
into a single image: the picture on top, then the donor's name and amount, then the
message — and the whole block scales together with its window. The caption is also
rendered at the frame's own resolution, so the text no longer blurs on a large window.
Fixed: the placement frame lied about the size by 2.75×. Its box was computed in
pixels but applied as density-independent units, so on a phone with 2.75 density the
frame on screen was nearly three times larger than the share of the frame it saved. A
window dragged out to "half the screen" was stored as 16% of the width, and the alert
came out tiny. The same bug affected the chat panel and browser widgets.
Fixed: no more white flash at startup. The system splash screen took its colour
from a light theme and showed the icon on white before the app's own dark interface
appeared.
An intro animation on launch — a rain of mascot glyphs, drawn by code rather than
played from a file, so it adds nothing to the download size. It plays in landscape:
launching in portrait turned out to need real work in the camera layer (the preview
came out as a narrow, rotated strip), and that is deferred to the first-run wizard,
where portrait is needed anyway.
Snapshot button. Saves the current frame to the gallery — the frame as viewers see
it, with overlays and effects, not a separate camera photo. No permissions needed.
HUD: the cellular link shows the carrier name instead of the word CELLULAR, and the
typography was brought to one system — one style for labels, one for numbers (with
fixed-width digits, so a changing bitrate no longer nudges its neighbours), one for
link names. Icons are one size instead of three.
Also: dialogs are compact instead of the material default that took half the screen
in landscape; a deletion dialog now names what is being deleted and colours the
dangerous button; the mascot's blink no longer looks like a stray open eye.
Still a beta
Everything we know about this app's behaviour still comes from a single Samsung S21.
There are no external device reports yet — Settings → About → Device passport collects
one and is the main way to lift that limit.
Not verified on a device in this release: the image and text widget types on air, and
the settings migration on someone else's configuration. The camera preview was verified
after this release's final change.
Installing
Android 10 or newer. The APK is signed with the same key as previous releases, so it
installs over them.
sha256: 68d7d30db2bde8a393372163f471e9fb0755fa76629312b73878a6bbef1fcf85
Русский · English
Что нового
Один список виджетов сцены вместо двух. «Оверлеи» и «Браузерные виджеты» были
разными экранами, и разница между ними была нашей внутренней, а не смысловой: один
браузерный виджет доната клался в первый список, другой во второй. Теперь список один,
а при добавлении выбирается тип: донат-алерт, веб-страница, картинка или текст.
Картинка и текст не заводят браузер вовсе. До сих пор «повесить картинку поверх
видео» стоило целого WebView — замерено 9–10% одного ядра на виджет плюс пересъёмка
каждые 200 мс. Новые нативные типы не стоят почти ничего: картинка читается один раз, а
строка текста перерисовывается только когда действительно изменилась. В тексте работают
подстановки {time}, {battery} и {bitrate}.
Ваши оверлеи и браузерные виджеты переедут сами, вместе с тем, в каких они сценах.
Донат собран в один блок. Картинка и подпись были двумя независимыми оверлеями со
своей геометрией, поэтому расходились, сдвигались у края кадра, а текст растягивался
при изменении размера окна. Теперь они склеиваются в одно изображение: картинка сверху,
под ней ник и сумма, под ними сообщение, — и весь блок масштабируется вместе с окном.
Подпись при этом рисуется сразу в разрешении кадра, поэтому на большом окне текст
больше не мылится.
Исправлено: рамка размещения врала о размере в 2.75 раза. Она считалась в пикселях,
а применялась как аппаратно-независимые единицы, и на телефоне с плотностью 2.75 рамка
на экране была почти втрое больше той доли кадра, которую сохраняла. Окно, растянутое
«на пол-экрана», уезжало в настройки как 16% ширины, и донат в эфире выходил крошечным.
Та же ошибка была у панели чата и браузерных виджетов.
Исправлено: белый экран при запуске. Системная заставка брала цвет из светлой темы
и показывала иконку на белом, прежде чем появлялся наш тёмный интерфейс.
Заставка при запуске — дождь из символов маскота. Рисуется кодом, а не
проигрывается файлом, поэтому ничего не добавляет к размеру загрузки. Играет в
альбомной ориентации: запуск в портрете упёрся в поворот камеры (превью выходило
узкой повёрнутой полосой) и отложен к мастеру первого запуска, где портрет нужен
всё равно.
Кнопка «Снимок». Сохраняет текущий кадр в галерею — тот, что видит зритель, с
оверлеями и эффектами, а не отдельное фото с камеры. Разрешений не требует.
В HUD у соты показывается имя оператора вместо слова CELLULAR, а типографика
приведена к одной системе: один стиль для подписей, другой для чисел (с цифрами
одинаковой ширины, поэтому меняющийся битрейт больше не дёргает соседей), третий для
имён каналов. Размер значков один вместо трёх.
Ещё: диалоги стали компактными вместо материальных, занимавших пол-экрана в
альбомной ориентации; диалог удаления называет, что именно удаляется, и красит опасную
кнопку; моргание маскота больше не выглядит как посторонний круглый глаз.
По-прежнему бета
Всё, что мы знаем о поведении приложения, по-прежнему получено с одного Samsung S21.
Внешних отчётов пока нет — «Настройки → О приложении → Паспорт устройства» собирает
такой отчёт, и это главный способ снять ограничение.
Не проверено на устройстве в этом релизе: типы виджетов «картинка» и «текст» в эфире и
миграция настроек на чужой конфигурации. Превью камеры проверено после последней правки
этого релиза.
Установка
Android 10 и новее. APK подписан тем же ключом, что и прошлые релизы, поэтому ставится
поверх них.
sha256: 68d7d30db2bde8a393372163f471e9fb0755fa76629312b73878a6bbef1fcf85