@feugene/granularity-media
Releases of @feugene/granularity-media from its CHANGELOG: the latest 8 in full, the earlier ones as a list of versions.
v4.0.02026-10-28
Changed
- Дорожка плеера, прицел сканера и направляющая кадра — решение темы.
--gr-video-player-progress,--gr-code-scanner-reticleи--gr-image-crop-guideбыли хуками с запасным значением в коде, теперь это токены видаtheme. Темы каталога несут их с@feugene/granularity-tokens2.5.0 — «Сланец», «Тактильная» и «Чертёж» с прежним видом, «Глина» — слоновой костью на тёплом графите. Своей теме-копии нужны значения (granum doctor,theme-incomplete). - Направляющая прямоугольного кадра
GrImageCrop— ровно рамка кадра: она держит соотношение кадра и затемняет то, что за ней, как круг. При нулевом отступе разница с окном — доля пикселя по одной оси: та полоса, которая и так не попадает в файл. - Peer
@feugene/granularity-tokens—>=2.5.0 <3.0.0: темы со значениями медиа.
Added
- Рамка
GrImageCropвнутри окна —--gr-image-crop-inset: тема отодвигает рамку от края, за ней видна картинка под затемнением, кадр считается от рамки. «Сланец» —0px, «Глина» — 1.5rem. - Прицел
GrCodeScanner— рамка или уголки:--gr-code-scanner-reticle-corner(50%— сплошная рамка),-reticle-width,-reticle-radius. «Глина» — уголки слоновой костью. - Панель плеера:
--gr-video-player-panel-bgи--gr-video-player-ring— подложка и кольцо фокуса поверх видео.
v3.0.02026-10-22
Мажор: значения у темы.
Changed
--gr-image-crop-mask— токен видаtheme: затемнение вне круглого кадраGrImageCropкомпонент читает без запасного значения, значение — в темах@feugene/granularity-tokens2.2.0 (прежнееrgb(0 0 0 / 0.55)). Приложение по-прежнему переопределяет его своим CSS.- Требования:
@feugene/granularity>=3.1.0,@feugene/granum>=3.10.0,@feugene/granularity-tokens>=2.2.0— темы со значением маски. - Своей теме без
extendsнужно значение маски —granum doctorназывает его поимённо (theme-incomplete).
v2.0.22026-10-21
Changed
- Peer
@feugene/granularity—>=2.0.0 <4.0.0: пакет работает и с ядром 3. Значения токенов компонентов ядра переехали в темы пакета токенов, роли и подпути ядра те же;doctor-конфиг пакета называет тему сборки явно — у каталога нет темы по умолчанию.
v2.0.12026-10-21
Fixed
- Манифест объявляет хуки компонентов (
tokens.hooks): на granum 3.7doctorприложения не выдаётtoken-fallback-onlyна точках кастомизации. Хуки берутся изtokens.jsonна сборке (withRegistryHookTokensтест-кита).
v2.0.02026-10-19
Changed
- Peer
@feugene/granum—>=3.0.0 <4.0.0,@feugene/granularity—>=2.0.0 <3.0.0. Ядро 2 — провайдер granum 3 (манифест формата 3, контракт версии 2) с темой из@feugene/granularity-tokens, и спутник объявляет те же мажоры: с ядром 1 на granum 2 он не соберётся.
v1.1.02026-10-16
Changed
- Peer
@feugene/granum—>=2.0.0 <3.0.0. Пакет собран granum 2.0:distне импортирует granum — контракт встроен вdist/granum/contract.js, и SSR-сервер с внешними пакетами, задеплоенный с--omit=dev, больше не падает сERR_MODULE_NOT_FOUND. Приложению —@feugene/granumи@feugene/granum-engine-wind^2.0.0. - Компонент из корня пакета —
ComponentRootImportErrorу приложения на granum 2.0. Компоненты берут из<пакет>/components/<Имя>. - Авто-импорт — один
GranularityResolver()из@feugene/unplugin-granularity1.1: он находит пакет вpackage.jsonприложения сам, порядок резолверов больше не важен. Собственный./resolverостаётся для уже написанных конфигов. - Необязательный peer
@feugene/fint-i18n—>=0.9.0 <1.0.0. Пакет тестируется на 0.9 вместе с ядром; на 0.7 и 0.8 он не проверялся.
v1.0.62026-10-13
Fixed
- Пустая рамка
GrImageCropдержит соотношение кадра. Без картинки рамка стояла на своей минимальной высоте (min-h-48, 192px), аaspect-ratioполучала только вместе с ней: фото, пришедшее после монтирования, растягивало рамку до высоты кадра и сдвигало всё под ней. Теперь соотношение у рамки с самого начала, слот#emptyстоит по её центру, а слишком высокое его содержимое обрезается, а не растягивает рамку. Это заметно меняет раскладку пустого кропа: при умолчательномaspectRatio = 1в широкой колонке пустая рамка теперь квадрат во всю ширину, а не полоса в 192px, иsizeна её высоту больше не влияет — высоту задаёт только соотношение. - Кадр
GrImageCrop— ровно в соотношении рамки. Область считалась от окна, измеренного в дробных CSS-пикселях внутри бордера, и расходилась сaspectRatioна долю пикселя: картинка 1600×1200 в рамке 4:3 без увеличения давалаsh = 1199.4со сдвигомsy = 0.6, аoutput: { width: 1200 }при3 / 4— JPEG 1200×1602. Теперь кадр считается от рамки, доведённой до точного соотношения, и привязан к пикселям исходника: такая картинка уходит в кадр целиком, а вторая сторона результата равнаround(width / aspectRatio).
v1.0.52026-10-07
Fixed
GrVideoPlayerпосле гидрации знает длительность и сбой. Серверный HTML уже несёт<video>сsrc: браузер читает метаданные — или ломается — раньше, чем плеер вешает слушатели вonMounted, иloadedmetadata/errorтерялись. Плеер оставался без длительности, а битый источник — без слоя ошибки. Теперь после монтирования плеер сверяется с элементом:readyStateиerrorпомнят то, что события уже сказали.
Earlier versions
The bodies of these releases are not shown: the full feed weighs more than a page is allowed to. The file in the repository is always complete.
v1.0.42026-10-06v1.0.32026-10-06v1.0.22026-10-06v1.0.12026-09-29v1.0.02026-09-28v0.7.12026-08-27v0.7.02026-08-27v0.6.12026-08-25v0.6.02026-08-24v0.5.02026-08-24v0.4.02026-08-24v0.3.02026-08-23v0.2.22026-08-23v0.2.12026-08-23v0.2.02026-08-23v0.1.02026-08-23