본문으로 건너뛰기
V.055 · OPAT · KINETIC OP-ART SHOWCASESVG · CSS · CANVAS · 60FPS TARGETSTAGE 1 / 4 · TC 00:00:14 · FRAME #P-STRIPE-001
PATTERN · STRIPE → MOIRÉ
STAGE 1 / 4 · TC 00:00:14 · FRAME #P-STRIPE-001
V.055 · 키네틱 옵아트 쇼케이스

눈이
떨립니다.

한 색이 진동을 베어냅니다. SVG 키네틱 옵아트가 스크롤과 입력에 따라 형태를 바꿉니다. 흑백 binary 동등 weight, 단 한 점의 vermillion 만 anchor.

SCROLL TO MORPH · 0%

* SVG 패턴 실시간 렌더링 · 실제 SVG attribute · transform · opacity 업데이트 · 4-stage 시퀀스는 §시퀀스 · reduced-motion / 정적 모드 시 정적 프레임 fallback (§ethics #4) · 광민감성 trigger 보호 mandatory (§ethics #1)

§ SEQUENCE · STRIPE → MOIRÉ → WAVE → RADIAL

한 패턴, 네 가지 진동

스크롤이 진행될 때마다 같은 geometric primitive 가 다른 패턴으로 변형됩니다. 4 stage 모두 동일한 흑백 binary 와 동일한 vermillion focal: 변하는 것은 패턴 함수 하나뿐입니다.

01

STRIPE (스트라이프)

--pattern-stage = 0.0
stripe(x) = sin(x · freq) > 0 ? 흑 : 백

초기 안정 패턴. 평행 스트라이프가 위상 시프트로 미세하게 휘며 진동합니다. vermillion focal 이 mid-crest 를 따라 trace 합니다.

스크롤 0~25% 구간 · 60fps
02

MOIRÉ (무아레)

--pattern-stage = 0.33
moire(x,y) = grid(x,y,0) XOR grid(x,y,12°)

두 격자가 겹치며 간섭 beat 가 발생합니다. 11도 회전 overlay 가 무아레 진동을 만들고, vermillion 이 간섭 node 정점에서 catch 됩니다.

스크롤 25~50% 구간 · 60fps
03

WAVE (웨이브)

--pattern-stage = 0.66
wave(r) = sin(r · freq + uTime) > 0 ? 흑 : 백

방사 진동. 동심원 주파수가 epicenter 에서 외곽으로 expand 하며 3D bulge 착시를 유발합니다. vermillion 이 epicenter dot 으로 anchor 됩니다.

스크롤 50~75% 구간 · 60fps
04

RADIAL (방사)

--pattern-stage = 1.0
radial(θ) = mod(θ, π/12) > π/24 ? 흑 : 백

방사 spokes 의 pinwheel 회전. θ 각도 기준으로 spokes 가 분할되고, 다수의 spoke 중 단 하나만 vermillion wedge 로 표시됩니다. 시퀀스의 마지막 프레임.

스크롤 75~100% 구간 · 60fps

* 4 stage · 실제 패턴은 SVG attribute update · reduced-motion 시 정적 프레임 swap (§ethics #4) · flash 0 · transition 1.5초 이상 점진 잠금 (§ethics #1) · 스크롤 구간 사용자 swap

§ ANATOMY · 6-LAYER PHASE DECOMPOSE

패턴 분해도 6 layer

키네틱 옵아트 한 프레임이 만들어지는 6 layer 분해입니다. 베이스 그리드 · 위상 · 주파수 · 진폭 · 간섭 · 단일 vermillion 포인트. 모두 SVG 한 render pass 에서 합산됩니다.

6 layer 분해 (stage 2 무아레 프레임)TC 00:00:14 · #P-MOIRE-001
01 · COMPOSITE · final frame
6 layer 합산 결과 · 1 SVG render pass
02 · BASE GRID · primary geometry
parallel stripe 기준 geometry · 40px tile · pure ink stroke
03 · PHASE SHIFT · 위상
phase = sin(time + position · freq) · 위상이 시간·위치 따라 시프트
04 · FREQUENCY · 주파수
tile size modulation · narrow ↔ wide · 스크롤 따라 변조
05 · INTERFERENCE · 간섭
two-grid XOR · 12° rotation · 무아레 beat (stage 2 only)
06 · VERMILLION FOCAL · 단일 포인트
6 layer composite → final frame · 1 SVG render pass60fps target
01

Composite · 최종 합산

6 layer 를 한 SVG render pass 에서 합산합니다. base · phase · frequency · amplitude · interference · vermillion 을 더한 뒤 화면 buffer 로 출력합니다. 60fps target.

02

Base Grid · 베이스 그리드

평행 스트라이프 또는 격자의 기준 geometry 입니다. pure ink stroke · 40px 타일이 패턴의 기준 단위가 됩니다.

03

Phase Shift · 위상 시프트

sin 함수가 stripe position 마다 위상을 시프트합니다. 위상이 시간·위치에 따라 변하면서 stripe 가 휘어진 듯한 광학 착시를 만듭니다.

04

Frequency · 주파수 모듈

stripe 간격(타일 크기)의 주파수 변조입니다. 좌측 wide → 우측 narrow. 스크롤에 따라 점진적으로 변조되며 1.5초 점진 잠금을 지킵니다 (§ethics #1).

05

Interference · 간섭 패턴

두 격자가 겹치고 한쪽이 12도 회전합니다. XOR 간섭으로 무아레 beat 가 발생하며, 무아레 stage 에서만 활성화됩니다.

06

Vermillion Focal · 단일 포인트

단일 warm vermillion focal · oklch L 0.55 C 0.19 통제 · 화면 area 1% 미만. 흑백 binary 위 유일한 vivid warm anchor 로, no-neon 룰의 stage focal 분기를 정당화합니다.

* 6 layer mock · 실제 패턴은 SVG 1 pass · attribute source 부분 공개 (§FAQ) · 라이선스에 따라 full source 제공 (Pro / Enterprise) · layer 4 주파수 변조는 1.5초 점진 잠금

§ INTERACTION · MOUSE · SCROLL · TOUCH · PHOTOSENSITIVITY

상호작용 명세

마우스 · 스크롤 · 터치 입력이 SVG attribute 로 변환됩니다. 입력 device 별 fallback 과 광민감성 보호까지 모두 명시합니다.

마우스

위치 phase shift

마우스 위치를 SVG attribute --phase-shift offset 으로 변환합니다. 즉시 반응 · easing 없음 · 60fps update.

--phase-shift = mouseX / innerWidth
stripe(x) = sin(x · freq + phase · 2π)
응답 지연 1 frame (16ms) · 60fps
스크롤

패턴 변환

스크롤 진행을 --pattern-stage attribute 에 비례 매핑합니다 (0..1). 4 stage 로 분기하며 SVG 패턴을 변환합니다.

--pattern-stage = clamp(scrollY / pageH, 0, 1)
pattern = blend(stage[i], stage[i+1], 1.5s ease)
4 stage · 60fps · 1.5초 점진 잠금
터치

터치 fallback

터치 디바이스 · 저사양 GPU · SVG 미지원 시 자동 fallback. 4 stage 정적 이미지 swap, 터치 스와이프로 stage 전환. reduced-motion 과 동일 동작.

if (!svg || reducedMotion || lowGPU) {
  swapImages(stage1..stage4)
4-frame 정적 swap · 디바이스 자동 감지
보호

광민감성 lock

FLASH 0
TRANSITION 1.5s+
INVERT GRADUAL
STATIC MODE

page-blocking 경고 dialog 동의 후 활성. flash 0 mandatory · transition 1.5초 이상 점진 · invert 점진 · 사용자 manual mute 가능 (§ethics #1).

if (acknowledged && !staticMode) {
  enablePatterns({ flash: 0, transition: 1500 })
flash 0 · transition 1.5초 이상 · 점진

* 4 인터랙션 mock · SVG attribute 명세 · 터치 fallback 디바이스 자동 감지 (§ethics #2) · 광민감성 보호 카드 4 (§ethics #1) · GPU 성능 정직 (§ethics #9)

§ TRUST · 5 RULES · 진동 STAMP

패턴의 신뢰 5 룰

쇼케이스 art-piece 의 product-trust 는 정량 지표가 아니라 신뢰 룰 그 자체입니다. 60fps · 접근성 · 디바이스 · reduced-motion · 광민감성 5축.

V.055 · TRUST STAMPTC 00:00:14
진동
055 · KINETIC OP-ART · 6-LAYER PHASE
쇼케이스 신뢰 인장oklch-controlled focal
01

60fps 보장

패턴은 60fps target · requestAnimationFrame 기준입니다. 디바이스가 60fps 미달 시 자동 fallback (정적 프레임 swap). 가짜 60fps 주장은 하지 않습니다.

target 60 / actual 표시
02

접근성 alt 텍스트

SVG 패턴에 aria-label 을 명시하고 4 stage 별 프레임 description alt 텍스트를 제공합니다. 스크린리더 친화 · 키보드 fallback.

4 stage × frame alt
03

디바이스 fallback

SVG 미지원 · 저사양 GPU · 저전력 모드를 자동 감지한 뒤 정적 프레임으로 swap 합니다. 디바이스 성능을 정직하게 안내합니다 (§ethics #2·#9).

자동 감지 · 정적 fallback
04

reduced-motion 대응

prefers-reduced-motion 활성 시 패턴을 정지하고 정적 프레임으로 swap 합니다. 전정 장애 사용자 친화 (§ethics #4).

prefers-reduced-motion 자동
05

광민감성 보호

페이지 진입 시 경고 dialog · flash 0 mandatory · transition 1.5초 이상 점진 · invert 점진 · 사용자 manual mute. 도전자 sample 의 일반 trust 와 다른 graphic-pattern 카테고리 특수 룰입니다 (§ethics #1).

flash 0 · transition 1.5s+ · dialog mandatory

* 5 신뢰 룰 · 도전자 sample 의 정량 trust 와 다른 카테고리 · 쇼케이스 graphic art-piece 의 신뢰는 신뢰 룰 자체가 trust signal · 룰 5 광민감성 보호는 graphic-pattern 카테고리 특수 강화

§ PLAN · LICENSE + EMBED · 3-TIER

도입 플랜

쇼케이스 라이선스 3 단계 · 단일 페이지 임베드 · 5 페이지 + 커스텀 · 풀 패턴 라이선스. 약정 없음.

Embed

₩190,000
* 1회 라이선스 · 약정 없음
단일 페이지 임베드 · 기본 4 stage · 흑백 binary 고정
  • 단일 페이지 임베드 권한
  • 4 stage 시퀀스 기본 (stripe·moiré·wave·radial)
  • 흑백 binary + vermillion 1 색 고정
  • 광민감성 dialog 기본 패키지
예: 브랜드 시즌 캠페인 · 음악 비주얼 · 컨퍼런스 인트로
도입 문의

Enterprise

별도 협의
* 라이선스 형태 · 사용 범위 · 유지보수 협의
풀 패턴 라이선스 · SVG source · 무제한 사용
  • Pro 전부
  • 풀 SVG pattern source 제공
  • 무제한 페이지 · 도메인
  • 패턴 attribute 전체 노출
  • 커스텀 stage 추가 (5+)
  • 전담 유지보수 · 우선 지원 (24h)
예: 게임 엔진 통합 · 인터랙티브 설치 미술 · 브랜드 풀 패턴 자산
문의

* 가격 mock · 사용자 swap · 라이선스 옵션 §ethics #7 명시 · 약정 없음 · 환불 정책은 푸터 정책 링크

§ MAKER & USE CASES

만든 사람과 사용처

만든 사람의 한 마디와 4 가지 사용 사례 (mock).

만든 사람

우리는 그래픽이 얼마나 진동할 수 있는지 보여주려고 이 패턴을 만들었습니다. 화려한 효과보다 정확한 기하와 단 한 점의 색을 믿습니다. 옵아트는 눈을 즐겁게 하는 만큼 부담도 줄 수 있어서, 진입 경고와 정적 모드를 먼저 만들고 나서 패턴을 만들었습니다. 보는 사람의 선택권이 패턴보다 앞섭니다.

— 오팟 패턴 팀 ___ · ___-___-___ · 옵아트 ___년차
캠페인

브랜드 시즌 캠페인

SS 컬렉션 키비주얼 · 시즌 런칭 키네틱 인트로 · 옴니채널 송출. mock 사례이며 실제 브랜드명은 표기하지 않습니다 (§ethics #6).

데모 · Pro 플랜 · 단일 도메인
전시

갤러리 인스톨

인터랙티브 설치 미술 · 관객 마우스·터치 입력에 반응하는 패턴 · 멀티 디스플레이. mock 사례이며 실제 갤러리·작가명은 표기하지 않습니다 (§ethics #6).

데모 · Enterprise 플랜 · 풀 패턴
비주얼

음악 비주얼

라이브 공연 백 비주얼 · BPM 동기화 패턴 · 무대 LED 송출. mock 사례이며 실제 아티스트·곡명은 표기하지 않습니다 (§ethics #6).

데모 · Pro 플랜 · 5 페이지
룩북

패션 룩북

디지털 룩북 배경 패턴 · 실루엣과 패턴 vibration 결합 · 웹·SNS 송출. mock 사례이며 실제 패션 브랜드·모델명은 표기하지 않습니다 (§ethics #6).

데모 · Pro 플랜 · 5 페이지

* 4 사용처 mock · 실제 도입 사례는 도입 문의 후 별도 공유 · 실명·실 작품 표기 없음 · 합성 사례 없음 (§ethics #6)

§ OPERATING PRINCIPLES · 5 CELL

운영 원칙

접근성 · 광민감성 · 라이선스 · 재사용 · 디바이스 fallback 5 cell. 쇼케이스 graphic art-piece 의 운영 책임.

01

접근성

SVG 패턴 aria-label 명시 · 4 stage 별 프레임 alt 텍스트 · 스크린리더 친화 · 키보드 fallback (스페이스바 stage 전환).

4 stage × frame alt
02

광민감성 보호

페이지 진입 시 경고 dialog · flash 0 · transition 1.5초 점진 · invert 점진 · 사용자 manual mute. graphic-pattern 카테고리 특수 강화.

dialog mandatory · flash 0
03

라이선스

Embed · Pro · Enterprise 3 단계 · 사용 범위 명시 · SVG source 공유는 Enterprise 만. 재배포·2차 가공은 별도 협의.

3 단계 · 사용 범위 명시
04

재사용 가이드

다른 프로젝트 재사용은 Pro 이상. 재배포 금지 · 2차 가공은 Enterprise 협의 · 클로닝·역공학 금지.

재배포 금지 · 협의
05

디바이스 fallback

SVG 미지원 · 저사양 GPU 자동 감지 후 정적 프레임 swap. 디바이스 성능 정직: 가짜 60fps 주장 없음.

자동 감지 · 정적 fallback

* 5 cell · §ethics 11 항목 중 핵심 5 운영 cell · cell 2 광민감성 보호가 저전력 모드 자리를 대체 (graphic-pattern 카테고리 특수) · 자세한 약관은 푸터 정책 링크

§ FAQ

자주 묻는 질문

페이지 진입 시 경고 dialog 가 mandatory 로 노출됩니다. '정적 이미지로 보기' 를 선택하면 모든 패턴이 정지하고 정적 프레임만 노출됩니다. 광민감성 보유자는 정적 모드 사용을 권장합니다 (§ethics #1).
target 은 60fps 이며 requestAnimationFrame 기준입니다. 디바이스 성능에 따라 framerate 는 변동할 수 있습니다. 60fps 미달 시 자동 fallback (정적 swap) 으로 전환합니다. 가짜 60fps 주장은 하지 않습니다 (§ethics #9).
SVG 미지원 · 저사양 GPU 를 자동 감지한 뒤 정적 프레임으로 swap 합니다. 모든 디바이스에서 최소 정적 fallback 을 보장합니다 (§ethics #2).
SVG 패턴에 aria-label 을 명시하고 4 stage 별 프레임 alt 텍스트를 제공합니다. 스크린리더 친화 · 키보드 fallback (스페이스바 stage 전환) 을 지원합니다 (§ethics #1).
3 단계입니다: Embed (단일 페이지) · Pro (5 페이지) · Enterprise (풀 SVG source). 플랜 카드를 참고해 주세요. 약정 없음 · 환불 정책은 푸터에 명시합니다.
Enterprise 플랜에서만 제공합니다. Pro 는 attribute 3 개를 노출하며, 패턴 source 전체는 Enterprise 만 제공됩니다. 재배포 금지 · 2차 가공은 협의입니다 (§ethics #7).

* 6 FAQ mock · 추가 문의는 아래 도입 문의

§ CONTACT · INLINE FORM

도입 문의

사용 목적 · 디바이스 · 예산 · 라이선스 옵션 · 추가 메모. 영업일 1일 내 응답.

도입 문의 후 진행

  1. 영업일 1일 내 응답 (이메일 또는 카톡)
  2. 사용 사례 파악 · 라이선스 협의
  3. 패턴 커스터마이즈 (Pro 이상) · 영업일 3-5일
  4. 임베드 가이드 + 패턴 자산 전달

* 모든 단계 사용자 문의 후 1:1 진행 · 패턴 자산은 라이선스 옵션에 따라 분기 · 광민감성 dialog 커스텀은 Pro 이상