Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 2.74 KB

File metadata and controls

53 lines (41 loc) · 2.74 KB

0028. 비공개 WebGL 시각화를 제거하고 선택적 상호작용만 도입한다

Date: 2026-07-18 Status: Accepted

배경

ADR 0021은 알고리즘 시각화가 필요한 글만 Three.js 관련 모듈을 지연 로딩하도록 했다. 하지만 여섯 개의 WebGL 시각화는 비공개 글 한 편에서만 사용되고, 공개할 계획도 없다. 공개 사이트의 읽기 경험과 무관한 직접 의존성, 클라이언트 모듈, 테스트 경계를 계속 유지할 이유가 없다.

앞으로는 테마 전환, drawer, modal처럼 공개 경로에 실제로 필요한 상호작용을 우선한다. 이때 많은 컴포넌트를 한꺼번에 추가하면 사이트의 의존성 예산과 모션 언어가 다시 흐려질 수 있다.

결정

  • three, @react-three/fiber, @react-three/drei, @types/three와 여섯 개의 알고리즘 시각화 구현을 제거한다.
  • 비공개 알고리즘 글은 설명 콘텐츠로 남기되, 삭제한 시각화를 참조하지 않는다.
  • 테마 selector처럼 현재 의존성으로 충분한 상호작용은 framer-motion과 기존 motion mode 정책으로 구현한다.
  • overlay-kit은 실제 drawer 또는 modal을 이관하는 변경에서만 추가한다. 단순한 시각 효과와 theme wash에는 사용하지 않는다.
  • React Bits는 패키지 전체를 도입하지 않고, 필요한 컴포넌트를 코드 단위로 선택해 가져온다. 새 런타임 의존성은 해당 컴포넌트에 필수일 때만 추가한다.

결과

  • 공개 기능과 무관한 WebGL 의존성 및 코드 경계가 사라진다.
  • 비공개 콘텐츠의 텍스트는 유지하면서 빌드와 유지보수 대상은 줄어든다.
  • 상호작용은 이미 설치된 Motion을 우선 재사용하므로, 테마 전환 같은 작은 실험에 라이브러리 비용을 추가하지 않는다.
  • overlay를 사용하는 첫 리팩터링에서는 공통 focus, dismiss, layer 정책을 검토할 명확한 시점이 생긴다.

검토한 대안

  • ADR 0021의 지연 로딩 경계를 유지한다: 일반 글의 초기 비용은 낮지만, 사용하지 않는 WebGL 구현과 의존성을 계속 관리해야 한다.
  • 모든 React Bits 컴포넌트와 의존성을 즉시 도입한다: 실험 속도는 빠르지만, 현재 필요한 범위를 넘는 코드와 런타임 비용을 추가한다.
  • overlay-kit을 즉시 추가한다: 미래 사용 가능성은 생기지만, 현재 테마 selector에는 overlay가 필요 없어 미사용 의존성이 된다.

Related History

  • ADR 0021: 이 결정으로 대체되는 글 단위 WebGL 지연 로딩 전략
  • ADR 0006: 시각화 경계의 기존 원칙