diff --git a/apps/site/design.md b/apps/site/design.md index 27f855f..b513a46 100644 --- a/apps/site/design.md +++ b/apps/site/design.md @@ -286,6 +286,28 @@ conic 은 중심에서 각도로 도는데, 1180×54 처럼 납작한 형태에 유리가 차갑게만 보이지 않게 하는 정도이고, 밝은 밴드에서는 흰빛 대신 그림자로 뒤집는다(`--glass-rim`·`--glass-bloom` 을 `.band-inverse` 에서 재정의). +### 테두리 광을 회전시켰다 + +정지한 헤어라인 위에 **도는 빛**을 얹었다. `conic` 의 각도를 `@property` 로 돌리면 +매 프레임 배경을 다시 칠하므로(하드 게이트 #8), **정사각형 원뿔 레이어를 마스크 안에서 +`rotate` 시킨다.** 움직이는 것은 transform 뿐이다. + +`aspect-ratio: 1` 로 정사각형을 유지해야 회전 중 밝기가 일정하고, +`width: 200%` 로 크게 잡아야 1178×52 짜리 헤더에서도 모서리까지 닿는다. 주기 11초. + +### three.js 모바일 대응 + +**세로 화면에서 게이트가 통째로 안 보이고 있었다.** 수직 시야는 화면 비율과 무관하지만 +수평 시야는 aspect 에 비례한다 — 데스크톱(2.5:1)에서 정한 판 폭 15 가 +세로 화면(0.45:1)의 수평 시야 2.5 에 비하면 **여섯 배**라, 첫 판이 화면을 완전히 덮었다. + +`fit()` 에서 `camera.aspect` 를 갱신할 때 판의 `scale.x` 도 같이 잡는다. + +그리고 저사양 판정을 고쳤다. `hardwareConcurrency <= 4` 만 보면 **요즘 폰이 전부 +고사양으로 잡힌다**(8코어가 흔하다). `innerWidth < 760` 을 함께 본다 — +좁은 화면은 대개 배터리로 돌고 열이 더 난다. DPR 도 1.5 → **1.25**, +캔버스 불투명도도 0.7 → **0.45**(세로에서는 화면 전체를 덮으므로). + ### three.js 씬 셋은 서로 다른 것이어야 한다 게이트 씬을 파이프라인으로 옮기면서 히어로에도 그대로 남겨뒀더니 diff --git a/apps/site/src/components/Materials.astro b/apps/site/src/components/Materials.astro index f8a631e..2dfd10b 100644 --- a/apps/site/src/components/Materials.astro +++ b/apps/site/src/components/Materials.astro @@ -17,6 +17,7 @@ const { c } = Astro.props;

{c.lead}

+ {/* GPU 가 만드는 재질. WebGL 이 없으면 위 그라디언트가 그대로 결과물이다 */} diff --git a/apps/site/src/components/Pipeline.astro b/apps/site/src/components/Pipeline.astro index 4360c71..239c2ce 100644 --- a/apps/site/src/components/Pipeline.astro +++ b/apps/site/src/components/Pipeline.astro @@ -91,6 +91,10 @@ const { c } = Astro.props; } .gate-canvas { opacity: 0; transition: opacity 1s var(--ease-soft); } .gate-canvas.is-live { opacity: 0.7; } + /* 세로 화면에서는 캔버스가 화면 전체를 덮는다. 같은 밝기면 본문이 묻힌다 */ + @media (max-width: 760px) { + .gate-canvas.is-live { opacity: 0.45; } + } /* 통과한 단계가 켜진다. 3D 와 텍스트를 잇는 유일한 연결이다 */ .stop { transition: opacity var(--dur-quick) var(--ease-out); } diff --git a/apps/site/src/layouts/Base.astro b/apps/site/src/layouts/Base.astro index 2049791..5176b0c 100644 --- a/apps/site/src/layouts/Base.astro +++ b/apps/site/src/layouts/Base.astro @@ -87,6 +87,7 @@ const FAVICON =