수년간의 개발. 수만 줄의 코드. 수천 번의 사양 변경.
마침내 Dawn과 WebGPU는 길고 어두운 터널의 끝에서 희미한 빛을 보기 시작했다. 이론과 내부 테스트만으로 점철되었던 프로젝트가 드디어 세상 밖으로 나갈 준비를 마친 것이다. 그 첫 번째 관문의 이름은 ‘오리진 트라이얼(Origin Trial)’이었다.
오리진 트라이얼은 정식 출시 전에, 특정 웹사이트(Origin)에 한해 실험적인 기능을 미리 사용해 볼 수 있도록 허용하는 제도다. 이것은 실제 세상의 복잡하고 예측 불가능한 환경에서 API가 어떻게 동작하는지 시험해 볼 수 있는 절호의 기회였다. 실험실의 통제된 환경을 벗어난, 진짜 야생에서의 첫 생존 테스트.
드미트리는 팀 미팅에서 오리진 트라이얼의 시작을 공식적으로 알렸다.
“이제 우리의 아기를 세상에 내놓을 때가 됐습니다. 물론, 아직은 걸음마도 떼지 못한 아기죠. 넘어지고 깨지는 일이 부지기수일 겁니다. 하지만 이 과정을 거치지 않으면, 우리는 결코 제대로 성장할 수 없습니다.”
크롬의 개발자 채널(Canary) 빌드에 WebGPU를 활성화할 수 있는 플래그가 추가되었다. 그리고 몇몇 선구적인 웹 개발사들과 협력하여, 그들의 웹사이트에서 WebGPU를 시험해 볼 수 있는 토큰이 발급되었다.
세상의 반응은 즉각적이었다.
오리진 트라이얼이 시작된 지 며칠도 지나지 않아, 개발자 커뮤니티와 깃허브 이슈 트래커는 폭발적으로 달아올랐다.
“Figma입니다. 저희의 렌더링 엔진 일부를 WebGPU로 포팅해 본 결과, 복잡한 벡터 그래픽의 확대/축소 시 CPU 사용률이 30% 감소했습니다. 이건 게임 체인저입니다!”
유명 디자인 툴인 Figma 팀의 긍정적인 피드백은 Dawn 팀에게 첫 번째 성공의 단맛을 안겨주었다. 그들의 노력이 헛되지 않았음을 증명하는 짜릿한 순간이었다.
웹 기반 3D 모델링 사이트를 운영하는 한 개발자는 놀라움을 감추지 못했다.
“수백만 개의 폴리곤으로 이루어진 모델을 WebGL에서는 상상도 할 수 없는 프레임으로 렌더링하고 있습니다. 믿을 수가 없군요. 몇 가지 버그가 있지만, 가능성은 무한해 보입니다.”
이런 찬사들은 팀에게 큰 동기부여가 되었다. 하지만 빛이 있으면 어둠도 있는 법. 곧이어 온갖 종류의 버그 리포트가 파도처럼 밀려들기 시작했다.
“M1 칩이 탑재된 MacBook Pro에서 컴퓨트 셰이더를 10분 이상 실행하면 브라우저가 크래시됩니다.”
“특정 안드로이드 기기에서 YUV 텍스처 포맷을 사용하면 색상이 완전히 깨져서 나옵니다.”
“API 에러 메시지가 너무 모호해서 디버깅이 어렵습니다. ‘Validation Error’라고만 나오는데, 대체 무엇이 잘못된 건지 알 수가 없어요.”
드미트리와 팀원들은 쏟아지는 피드백을 분류하고 분석하느라 밤낮없이 일했다. 이것은 그들이 내부적으로 테스트했던 수십, 수백 개의 환경과는 비교도 할 수 없는, 전 세계 수천, 수만 개의 각기 다른 하드웨어와 소프트웨어 조합이 만들어내는 혼돈의 교향곡이었다.
특히 ‘디버깅 경험’에 대한 불만이 많았다. WebGL은 수년에 걸쳐 다양한 개발자 도구와 디버깅 확장 프로그램이 만들어졌지만, WebGPU는 아직 황무지나 다름없었다.
사라가 심각한 표정으로 말했다.
“개발자들이 길을 잃고 있습니다. 우리는 강력한 도구를 주었지만, 그 도구를 어떻게 사용해야 하는지, 무엇이 잘못되었는지 알려주는 지도를 주지 않은 셈입니다.”
그녀의 지적에 따라, 팀은 새로운 우선순위를 설정했다. 단순히 API를 안정시키는 것을 넘어, 개발자 경험(Developer Experience, DX)을 개선하는 것. 크롬 개발자 도구(DevTools) 팀과의 협력이 시작되었고, GPU 메모리 사용량을 추적하고, 파이프라인 상태를 검사하며, 셰이더 코드를 디버깅할 수 있는 기능의 프로토타입 개발에 착수했다.
오리진 트라이얼은 WebGPU가 가진 무한한 가능성과 동시에, 아직 가야 할 길이 얼마나 먼지를 명확하게 보여주었다. 그것은 단순한 테스트가 아니었다. 개발자 커뮤니티라는 거대한 거울에 자신들의 창조물을 비춰보고, 그들의 목소리를 통해 API를 함께 다듬어가는 살아있는 과정이었다.
드미트리는 매일 밤, 깃허브 이슈 목록을 훑어보며 잠자리에 들었다. 비판과 버그 리포트가 가득했지만, 그는 그 속에서 희망을 보았다. 사람들은 WebGPU에 불평하고 있었지만, 동시에 열광하고 있었다. 무관심이야말로 프로젝트의 사망 선고와 같다. 이 뜨거운 관심이 계속되는 한, WebGPU는 반드시 성공할 것이라고 그는 믿었다.