wasi:webgpu는 공식 WASI 사양으로 유지되는 반면, wasi:surface와 wasi:frame-buffer를 포함한 나머지 wasi-gfx는 더 빠른 반복과 유연한 발전을 위해 독자적인 네임스페이스와 거버넌스로 이전됩니다.
지난 몇 년 동안, 우리는 wasi:webgpu, wasi:surface, wasi:frame-buffer, wasi:graphics-context를 통해 WebAssembly에 그래픽스를 도입하기 위해 작업해 왔습니다.
이 과정을 거치며, 핵심 WASI 하위 그룹의 장기 안정성 목표와 UI 인터페이스의 빠른 반복이 필요한 우리의 요구가 서로 양립할 수 없다는 점이 분명해졌습니다. WASI는 10년에 걸친 아키텍처 안정성을 목표로 합니다. 반면 wasi:surface와 같은 인터페이스는 여전히 상당한 발전이 필요합니다.
Wasm Component Model이 성숙해짐에 따라, 공식 WASI 네임스페이스 밖에서 각기 다른 생태계를 구축하는 프로젝트들로 건강한 전환이 이루어지고 있다고 보고 있습니다. 예를 들어 CNCF wasmCloud가 개발한 클라우드 네이티브 wasmcloud:secrets, wasmcloud:messaging, wasmcloud:postgres 인터페이스가 있습니다. WASI를 운영체제의 표준 라이브러리로 생각해 보세요. 이는 시간과 파일시스템 같은 저수준 기본 기능을 다루는 반면, 그래픽스나 데이터베이스 드라이버 같은 특화된 영역은 사용자 공간 라이브러리에 속합니다.
WebGPU가 W3C Candidate Recommendation으로 안정화 단계에 도달한 만큼, wasi:webgpu는 저수준 산업 표준으로서 계속 wasi 네임스페이스에 남아 있어야 합니다. 나머지 wasi-gfx는 자체 네임스페이스와 거버넌스로 분리되어, 이 기반 위에 구축되는 상호보완적인 고수준 제안 집합으로 계속 발전하게 될 것입니다.
두 생태계가 모두 번성할 수 있도록 앞으로의 경로를 어떻게 나누는지 아래에서 설명합니다.
wasi:webgpu를 위한 계획wasi:webgpu는 근본적으로 WebGPU 웹 표준에 매핑되므로, 그 기반은 본질적으로 안정적입니다. 이 인터페이스는 공식 WASI 사양으로 남게 됩니다.
이 아키텍처 분리에 대한 맥락은 core WebGPU와 윈도잉 surface를 분리하려는 추진이 시작된 wasi-gfx GitHub discussion에서 확인할 수 있습니다.
wasi:graphics-context 지원 중단이전에는 wasi:graphics-context가 WebGPU, 프레임 버퍼, surface 사이를 연결하는 지점 역할을 했습니다. 그러나 우리는 GitHub Issue #55에 설명된 훨씬 더 깔끔한 설계를 발견했습니다. 이제 이것 없이도 같은 목표를 달성할 수 있으므로, wasi:graphics-context를 공식적으로 지원 중단합니다.
wasi-gfx 네임스페이스의 탄생그렇다면 wasi:surface와 wasi:frame-buffer는 어떻게 될까요? 사라지는 것은 아닙니다. 단지 새 보금자리를 얻게 되는 것입니다.
우리는 이 인터페이스들을 핵심 WASI 표준 밖으로 옮겨, 전용 네임스페이스인 wasi-gfx로 이전하고 있습니다. 즉 wasi-gfx:surface, wasi-gfx:frame-buffer가 됩니다. 우리는 Wasm Component Model과 더 넓은 WebAssembly 생태계 위에 구축하겠다는 확고한 의지를 반영하기 위해 이 이름을 선택했습니다.
이 전환은 우리에게 놀라운 이점을 제공합니다.
wasi-gfx-runtime과 wasi-gfx-shim을 포함한 우리의 구현 도구는 앞으로도 wasi:webgpu와 새로운 wasi-gfx 네임스페이스를 나란히 완전히 지원할 것입니다. 이에 대한 작업은 앞으로 몇 주 안에 본격적으로 반영되기 시작할 것으로 예상합니다.
우리는 wasi-gfx의 완전히 새로운 로고를 공개하게 되어 매우 기쁩니다! 자체 네임스페이스와 정체성을 확립하는 이 시점은, 프로젝트를 대표할 새로운 시각적 상징을 선보이기에 딱 맞는 때라고 느껴졌습니다.
Abe Massry에게 로고의 디자인과 일러스트 작업을 맡아 주신 것에 감사드립니다. 결과물이 정말 마음에 듭니다!
최근 Renderlet Discord server는 이 작업에 열정을 가진 몇몇 엔지니어들의 사실상 모임 장소로 자연스럽게 자리 잡았습니다. 이제 이를 공식화합니다. Renderlet Discord는 이제 공식 wasi-gfx server입니다. Wasm 그래픽스에 대해 이야기하거나 기여를 돕고 싶다면, 함께해 주세요!