Commit Graph
141 Commits
Author SHA1 Message Date
root 3d5fbe45ee feat(ai-assistant-figma): добавил второе демо-видео (WebM+poster) 2026-09-24 23:12:53 +02:00
root 61589176b2 feat(ai-assistant-figma): добавил демо-видео (WebM+poster) в секцию Решение 2026-09-24 22:53:54 +02:00
root 09111a946c fix(ai-assistant-figma): реальный размер картинок (case-media--real вместо wide) 2026-09-24 22:40:58 +02:00
root 57146ec64a fix(ai-assistant-figma): включил data-case-sequential-images (подстановка src) + картинки в en-версию 2026-09-24 22:14:48 +02:00
root 0baf415e13 feat(ai-assistant-figma): добавил 6 скриншотов плагина (WebP) в секцию Решение 2026-09-24 22:06:13 +02:00
root 69c9223401 fix(resume-pdf): не удалять шапку резюме (resume-header) при генерации 2026-09-24 21:57:42 +02:00
root 4b2fe4fe9c fix(resume-pdf): --no-sandbox для запуска под root + regen PDF 2026-09-24 21:53:31 +02:00
root 6d064e53b9 feat(hero): fade-in hero после готовности фона-шэйдера
- .hero стартует скрытым, проявляется при html.mesh-bg-ready
- markMeshReady ставится во всех ветках (успех/ошибка/reduced-motion/нет хоста)
- reduced-motion: hero виден сразу без анимации
2026-09-24 21:42:41 +02:00
root daa623fe73 feat(mesh-bg): fade-in шейдера фона + modulepreload графа
- canvas стартует с opacity:0 и плавно проявляется (0.9s) при .is-ready
- initPageMeshShader ставит is-ready после первого кадра
- modulepreload page-mesh-shader.js для параллельной загрузки с main.js
- пересборка страниц (build:pages)
2026-09-24 21:37:40 +02:00
root b38f1a5332 Merge feature/liquid-glass: Liquid Glass эффект (displacement + матирование)
# Conflicts:
#	Dockerfile
2026-09-24 21:29:53 +02:00
root 11e24da9e2 fix(glass): бордюр удалён полностью (border: none), только внутренняя тень 2026-09-24 21:26:36 +02:00
root 903d222324 style(glass): убран видимый бордер, оставлена только внутренняя тень
- border-color: transparent на glass-блоках (геометрия/радиус сохранены)
- inset-тень в --v12-glass-neutral-shadow даёт эффект 'стеклянного края'
2026-09-24 21:01:49 +02:00
root e410a2975f revert(glass): полностью убрана градиентная обводка
- удалены ::after, isolation, токены -border-grad, transparent border
- возвращён исходный border-color: var(--v12-glass-neutral-border) / var(--line)
2026-09-24 18:42:22 +02:00
root 372ccfbf60 fix(glass): внешняя обводка через ::after + isolation:isolate (z-index:-1)
- inset:-1px выносит рамку наружу, isolation создаёт стек без сдвига layout
- position:relative только на не-fixed блоках; шапка (fixed) без правок
- z-index:-1 => под контентом, не перекрывает; backdrop-filter убран (не рендерился с mask)
2026-09-24 18:36:19 +02:00
root c69fc8f9c0 fix(glass): откат к безопасным background-слоям (без псевдоэлементов/z-index)
- убраны все ::after/position/z-index эксперименты, ломавшие раскладку
- градиентная обводка через 2 background-слоя (padding-box/border-box) — контент поверх, не ломает
- тёмная тема: засвет приглушён (0.4)
2026-09-24 18:14:42 +02:00
root 14b7cd829b fix(glass): внешняя обводка через ::after z-index:-1 без isolation
- z-index:0 на не-fixed родителях создаёт стек, -1 виден снаружи, контент не тронут
- шапка (fixed) без z-index:0, чтобы не опуститься ниже FAB
- убран backdrop-filter на псевдоэлементе (не рендерился с mask)
2026-09-24 18:06:30 +02:00
root 220fb634fc fix(glass): внешняя обводка через ::after с blur края (не перекрывает контент)
- inset:-1px выносит рамку наружу, z-index:-1 + isolation, backdrop-filter blur(3px) на кромке
- тёмная тема: засвет приглушён (0.55->0.4), бордер блюрит край как стекло
- убран background-слой
2026-09-24 17:58:53 +02:00
root df2ef8b7b6 fix(glass): градиентный бордер через background-слои вместо ::before mask
- убран псевдоэлемент, который перекрывал контент (меню/панели исчезали)
- градиент бордера теперь 2 слоя background: padding-box (фон) + border-box (градиент)
- контент снова виден, border-radius сохранён
2026-09-24 17:39:37 +02:00
root 6aeb5a378f feat(glass): градиентный бордер — сверху белый засвет -> снизу прозрачно
- токен --v12-glass-neutral-border-grad (dark/light)
- mask-псевдоэлемент ::before рисует 1px градиентный бордер с сохранением border-radius
- нативный border-color -> transparent у glass-блоков, шапки, nav-more, floating
2026-09-24 16:14:53 +02:00
root 94de132cf0 style(glass): лёгкое матирование поверх искажения
- панели: url(#displacement) blur(3px)
- кнопки: url(#displacement-btn) blur(2px)
- видна волна стекла + мягкое стекло, без глухой матовости
2026-09-24 15:38:37 +02:00
root 15bf0e3293 fix(glass): рябь -> плавные волны — низкочастотная карта смещений
- displacement.png: вместо per-pixel шума — крупные блобы (8px+20px октавы, гаусс), плавные градиенты
- scale снижен 28->14 (панели), 12->6 (кнопки) под крупные пятна
2026-09-24 15:30:00 +02:00
root 449d5ac782 style(glass): убрана матовость — чистое искажение фона (без blur)
- glass-панели: --v12-glass-neutral-filter-lg = url(#liquid-glass-displacement) без blur
- кнопки: отдельный фильтр #liquid-glass-displacement-btn (scale=12), blur убран
- видно само искажение стекла, как просил пользователь
2026-09-24 15:26:29 +02:00
root 2e6451e683 feat(glass): displacement-стекло на кнопках (btn--primary/fab--primary/secondary/ghost)
- primary/fab: полупрозрачный акцентный фон (--btn-primary-bg-lg/-hover-bg-lg, ~82-86%), иначе displacement не виден
- токены --btn-primary-backdrop-lg / -hover-lg = url(#filter) blur()+saturate()
- secondary/ghost: displacement через --v12-glass-neutral-filter-lg
- всё в @supports not (hanging-punctuation:first) — Chromium-only, Safari/Firefox держат чистый blur
2026-09-24 15:20:34 +02:00
root 5fd8324b47 feat(glass): Liquid Glass эффект через SVG displacement-фильтр (по статье Хабра)
- PNG карта мелкого равномерного шума (public/assets/liquid-glass/displacement.png)
- инлайн SVG feDisplacementMap инъецируется во все страницы сборщиком (build-pages.mjs)
- glass-neutral + шапка/панели/FAB/overflow получают url(#filter) blur в Chromium
- Safari/Firefox: детект через @supports not (hanging-punctuation:first), остаётся чистый blur
- токены --v12-glass-neutral-filter-lg / -elevated-lg для обеих тем
2026-09-24 15:14:55 +02:00
root e3acfa072c style(hero): центрирование, уменьшение шрифта, стек кнопок на 360px, приглушённый блик 2026-09-23 15:06:21 +02:00
root 2b7361664e feat(hero): 3D-наклон фото на главной по курсору (parallax + блик) 2026-09-23 13:34:17 +02:00
root b6161c92cd feat(seo): robots.txt, ai.txt, sitemap.xml, canonical/hreflang, OG/Twitter, JSON-LD, og-image, noindex служебных 2026-09-22 11:09:26 +02:00
root 939ce8fcc9 fix(i18n): add 'home' body class to English homepage so section__title margin applies 2026-09-19 17:58:25 +02:00
root 9d78567386 style(skills): set skill-task-card__task font-size to fixed 1rem (drop clamp) 2026-09-19 17:52:08 +02:00
root 1bb50b46fb style(skills): disable uppercase on accordion titles; compact vertical rhythm (category/grid spacing) 2026-09-19 17:47:01 +02:00
root 4dd9c97481 style(skills): match accordion category heading size/weight/tracking to mp-card__title 2026-09-19 17:34:03 +02:00
root 562348cf1e style: apply soft --card-border to images, exp-card, secondary buttons, skill-task/solution cards, soften chat bubbles 2026-09-19 17:04:36 +02:00
root be4cf20a0f style(cards): soften --card-border (alpha 0.2 -> 0.15) 2026-09-19 16:55:28 +02:00
root 7aab957290 style(cards): make --card-border a single base token (muted, inherited by all themes) 2026-09-19 16:47:13 +02:00
root 7bb7fca7ae style(cards): softer visible card border (inline color-mix, text-muted; accent/brand on hover) 2026-09-19 16:22:40 +02:00
root cb24acd3dd style(cards): use softer --card-border instead of --line for card borders 2026-09-19 16:07:25 +02:00
root e325cd9173 style(home): increase section__title bottom margin (0.5rem -> 1.5rem) 2026-09-19 15:59:29 +02:00
root c8ffee1136 style(marquee): tag font-size inherits default text size (not fixed) 2026-09-19 15:49:38 +02:00
root ca7c4c2288 feat(marquee): readable 2s peak hold + cross-fade, keep <=3 bright 2026-09-19 15:46:07 +02:00
root 05b82b08a0 feat(marquee): cross-fade flicker — next tag lights before previous fades out 2026-09-19 15:39:57 +02:00
root e8c27898a7 feat(marquee): dim baseline 20%, scatter flicker order (no adjacent tags lit) 2026-09-19 15:32:30 +02:00
root 66ab7d98be feat(marquee): dim baseline 10%, flicker highlights <=3 tags to full 2026-09-19 15:27:40 +02:00
root a8bc87dff5 feat(marquee): shift flicker so tags fade out by 10% (visible at cycle start) 2026-09-19 15:23:51 +02:00
root 10f94cc306 feat(marquee): flicker animation — fade in/show/fade-out per tag, max 3 visible (scoped to grid) 2026-09-19 15:13:45 +02:00
root d652a63dda style(marquee): center the tag grid 2026-09-19 15:08:15 +02:00
root 971fe6013f style(marquee): more breathing room (gap 1.5rem x 3rem) 2026-09-19 15:03:53 +02:00
root 82e0e0d67a style(marquee): increase spacing between tags (more breathing room) 2026-09-19 15:01:13 +02:00
root b596a0e80a style(marquee): render grid tags as plain text (remove pill chrome) 2026-09-19 14:59:27 +02:00
root 32d5d82db9 style(marquee): apply .section padding + wrap content in .section__inner 2026-09-19 14:00:15 +02:00
root 45d5b18916 style(marquee): chips fill container width and wrap (flex-wrap, auto-width cells) 2026-09-19 13:54:23 +02:00