From 9a09678deef7e245e5ddbd641e0f62d4b4db938f Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Thu, 20 Aug 2026 23:30:15 +0900 Subject: [PATCH] =?UTF-8?q?feat(site):=20=EB=A6=AC=ED=80=B4=EB=93=9C=20?= =?UTF-8?q?=EA=B8=80=EB=9E=98=EC=8A=A4=20=EA=B5=B4=EC=A0=88=EC=9D=84=20?= =?UTF-8?q?=EC=98=AC=EB=B0=94=EB=A5=B8=20=EB=B3=80=EC=9C=84=20=EC=A7=80?= =?UTF-8?q?=EB=8F=84=EB=A1=9C=20=EB=8B=A4=EC=8B=9C=20=EB=B6=99=EC=9D=B8?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 앞선 커밋에서 "backdrop-filter 체인에서 displacement 가 안 먹는다" 고 적고 데모를 뺐다. 틀렸다. svg-filters.md 에 이미 적혀 있던 두 규칙을 안 지킨 것이다. - 변위 지도는 노이즈가 아니다. feTurbulence 로 만들면 값이 중립(128)으로 수렴해 scale 을 아무리 키워도 곱해지는 값이 0 이다. - feImage 의 크기는 요소 크기와 같아야 한다. 자동으로 안 맞춰준다. 가장자리에서 안쪽으로 미는 그라디언트를 직접 그렸다. linearGradient 한 장으로는 R 과 G 를 따로 못 만들므로 지도를 두 장 놓고 displacement 를 두 번 건다. 쓰지 않는 축에는 128 고정인 B 채널을 물려 이동량을 0 으로 만든다. 실측: 평균 채널차 1.66(난류 지도) → 9.29(그린 지도), 최대 126. 배경에 격자를 깔아 확인했다 — 패널 가장자리에서 격자 셀이 눌린다. svg-filters.md 에 지도 두 장 기법과 확인 방법을 기록했다. --- apps/site/src/components/FilterArt.astro | 51 +++++++++++++++++++++++- apps/site/src/components/Materials.astro | 42 +++++++++++++++++++ apps/site/src/i18n/content.ts | 28 ++++++++++--- packages/skill/references/svg-filters.md | 39 ++++++++++++++++++ 4 files changed, 154 insertions(+), 6 deletions(-) diff --git a/apps/site/src/components/FilterArt.astro b/apps/site/src/components/FilterArt.astro index 6aa600d..d3ff84c 100644 --- a/apps/site/src/components/FilterArt.astro +++ b/apps/site/src/components/FilterArt.astro @@ -1,6 +1,7 @@ --- import { Image } from "astro:assets"; import paper from "../assets/bg/bg-paper.webp"; +import split from "../assets/bg/bg-split.webp"; /** * 필터 데모의 소재. 같은 소재를 두 번 그리고 한쪽에만 필터를 건다. @@ -8,7 +9,7 @@ import paper from "../assets/bg/bg-paper.webp"; * 보이는 차이가 필터 때문인지 소재 때문인지 알 수 없다. */ interface Props { - kind: "scrim" | "cvd" | "goo"; + kind: "scrim" | "cvd" | "goo" | "glass"; on: boolean; } const { kind, on } = Astro.props; @@ -48,6 +49,18 @@ const { kind, on } = Astro.props; ) } +{ + kind === "glass" && ( +
+ + {/* 격자를 함께 깐다. 굴절은 직선이 휘어야 보인다 — + 사진만 놓으면 무엇이 어떻게 밀렸는지 알 수 없다 */} + + 산미 8.5 +
+ ) +} +