
WGSL Linter는 .wgsl 파일과 JavaScript·TypeScript에 삽입된 WGSL 템플릿을 검사하는 VS Code 확장, 명령줄 도구, 의존성 없는 분석 라이브러리다. Chrome과 같은 방식으로 셰이더를 검증하고 오류를 한꺼번에 보고한다.
확장은 상수 평가, 균일성 분석, 메모리 레이아웃, 진입점 입출력 진단을 제공한다. 타입과 값 표시, 자동 완성, 시그니처 도움말, 타입 추론 인레이 힌트, 정의·참조 찾기, 이름 바꾸기, 포맷팅과 의미 강조 기능도 지원한다. 의미 강조를 제외한 기능은 wgsl 태그가 붙은 JS·TS 템플릿에서도 작동한다. 템플릿 변수 ${} 치환에 따라 달라지는 진단은 표시하지 않으며, 템플릿은 “Format WGSL template” 코드 동작으로 포맷팅한다.
명령줄 도구는 .wgsl 파일과 --tag 옵션으로 지정한 JS·TS 템플릿을 검사하며, 오류가 있으면 종료 코드 1을 반환한다.
wgsl-lint [--tag <name>]... [--prelude <file>] <file or directory>...
라이브러리는 다음과 같이 진단과 호버 정보를 가져올 수 있다. 위치는 UTF-16 오프셋을 사용한다.
import { Document, hover, lint } from "wgsl-linter";
const diagnostics = lint(source);
const info = hover(new Document(source), offset);
VS Code 확장과 npm 패키지로 이용할 수 있다. 확장에 라이브러리를 삽입할 때는 템플릿 태그와 셰이더 공통 선언을 설정할 수 있으며, 대상 환경의 확장 기능과 언어 기능도 지정할 수 있다. 기본 설정은 Chrome을 대상으로 한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요