Commit Graph
100 Commits
Author SHA1 Message Date
root 93afa3814f style: стеклянный слой на .mp-card в #portfolio (токены меню) 2026-09-29 20:45:51 +02:00
root 8637ee6024 style: portfolio-card glass-слой на токенах меню (.glass-neutral) 2026-09-29 20:05:17 +02:00
root 5b43d486c0 style: добавить стеклянный слой поверх portfolio-card 2026-09-29 19:58:54 +02:00
root ac8b60049a content: применить правки кейса Card Columns 2026-09-29 18:29:44 +02:00
root 908d5b259d Merge remote-tracking branch 'origin/main' into dev 2026-09-29 16:49:20 +02:00
root 6325186f52 edit: вычитай кейс Card Columns 2026-09-29 16:47:05 +02:00
root eb90714012 feat: добавь скринкасты Card Columns и примени обрезку 2026-09-29 15:04:27 +02:00
root 8b50c821a7 feat: перепиши кейс Card Columns без черновиков 2026-09-29 14:48:53 +02:00
root d25c2e2185 feat: добавь ссылку и скриншоты Card Columns в кейс 2026-09-29 14:06:18 +02:00
root 0f8277dd0a content(site-portfolio): rewrite for readability and flow 2026-09-28 20:37:13 +02:00
root 052b5c4829 content(site-portfolio): apply queued deployment edits 2026-09-28 20:17:25 +02:00
root d41059d720 content(site-portfolio): document deployment workflow 2026-09-28 19:23:31 +02:00
root f702423445 Merge branch 'dev' into main (mesh-shader bfcache fix) 2026-09-28 15:50:51 +02:00
root 8a63190f5a fix(mesh-shader): re-init shader after bfcache restore (back/forward nav) 2026-09-28 15:47:21 +02:00
root cd118c534f Merge remote-tracking branch 'origin/dev' into deploy/site-portfolio-main 2026-09-28 15:35:41 +02:00
root adf0f4b052 content(site-portfolio): refine headings and callouts 2026-09-28 15:25:47 +02:00
root 02f05c0598 content(site-portfolio): draft personal LLM workflow case 2026-09-28 15:17:47 +02:00
root a9957e739f content(site-portfolio): add current status 2026-09-28 15:07:12 +02:00
root 3a4537209b content: rename site case to site-portfolio 2026-09-28 14:18:20 +02:00
root fd8e524dba Merge branch 'dev' 2026-09-28 13:07:38 +02:00
root 457fff314b fix(nav): place activity after portfolio 2026-09-28 13:07:19 +02:00
root 799878c891 Merge branch 'dev' 2026-09-28 12:51:07 +02:00
root c8a9c82bfa content(ai-assistant-figma): сократил местоимения 2026-09-26 21:35:52 +02:00
root 03a8e73ea6 content(ai-assistant-figma): callout и распределение медиа 2026-09-26 19:48:39 +02:00
root a77033e71f content(ai-assistant-figma): дополнил кейс 2026-09-26 19:20:05 +02:00
root 3388268697 feat(home): секция Активность под Портфолио + активные кейсы впереди 2026-09-26 11:17:37 +02:00
root 9608e24ae8 style(nav): увеличил размер шрифта главного меню 2026-09-26 11:08:59 +02:00
root 2267a35698 style(nav): обычный шрифт (400) и крупнее в главном меню 2026-09-26 11:07:50 +02:00
root 9f617c581a chore: add domain verification file b5f15001666297c4700dec311e28ef6269bf8b67.txt 2026-09-25 17:29:08 +02:00
root a692278267 chore: add domain verification file b5f15001666297c4700dec311e28ef6269bf8b67.txt 2026-09-25 17:26:36 +02:00
root 62c0a8f044 feat(ai-assistant-figma): добавил третье видео (запись экрана, WebM+poster) 2026-09-25 12:02:39 +02:00
root 8c34d3fa97 fix(video): поддержка Range на dev-сервере + Cues в начале webm (seek в плеере) 2026-09-25 00:25:34 +02:00
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
root 7e75d728a2 content(home): add Product-Market Fit & ARPU/ARPPU tags to marquee grid 2026-09-19 13:49:32 +02:00
root f9c8029849 content(home): marquee tags — drop a11y, CJM→CJM/UJM, add JTBD & IA (ru/en) 2026-09-19 13:48:04 +02:00
root 06f65953aa content(home): add 6 product-designer skill tags to marquee grid (ru/en) 2026-09-19 13:44:44 +02:00
root 9e62a1ea53 feat(marquee): alternative static flex-grid of chips (replaces scrolling marquee) 2026-09-19 13:11:13 +02:00
root e60d791934 style(home): section titles use hero__eyebrow label style (homepage only) 2026-09-19 12:59:44 +02:00
root 7d2a213491 Резюме: раздел «О себе» перенесён перед «Опыт работы» 2026-09-18 15:22:45 +02:00
root 5ce455d81b Резюме: формат работы «удалённо, гибрид» 2026-09-18 15:17:21 +02:00
root 2d67a5be5a feat(contact-card): hover glow uses card brand color (not global accent) 2026-09-18 14:04:50 +02:00
root 32fecdb3e4 feat(contact-card): hover lift + soft accent glow (match mp-card) 2026-09-18 14:02:10 +02:00
root 15c7bbc741 fix(mp-card): prevent grid from clipping hover glow; soften accent shadow 2026-09-18 13:27:01 +02:00
root 6b4e20c502 feat(mp-card): hover lift + soft accent glow on linked cards 2026-09-18 13:12:46 +02:00
root f947305a09 content(activity): drop trailing periods from card descriptions 2026-09-18 13:02:25 +02:00
root 8caeb3147c content(activity): apply user-edited compact-card descriptions (ru/en) 2026-09-18 12:57:08 +02:00
root b9d98a72df content(activity): rephrase compact-card descriptions to avoid repeating tag words 2026-09-18 12:30:55 +02:00
root b935640268 style(mp-card): move tags to bottom in activity compact cards 2026-09-18 12:24:45 +02:00
root 5bb8dc8ad2 feat(mp-card): deterministic pastel tag colors (distinct per content), padding 0.35rem 0.7rem, dark-theme aware 2026-09-18 11:14:46 +02:00
root 6d66e4cf12 feat(mp-card): color portfolio card tags with deterministic pastel palette (constant per content) 2026-09-17 22:37:22 +02:00
root 5f07f925f2 style(mp-card): restyle mp-card__tag to filled chips; sync design-system portfolio-card specimen to real homepage card 2026-09-17 21:52:50 +02:00