Silurus/ooxml: 웹 브라우저에서 픽셀 단위까지 원본 그대로 렌더링되는 MS 오피스 문서

Silurus/ooxml은 인간의 개입 없이 앤트로픽(Anthropic)의 AI 어시스턴트 '클로드(Claude)'의 반복적인 프롬프팅만으로 전체 코드베이스가 구축된 혁신적인 웹 브라우저용 MS 오피스 문서 뷰어입니다. Rust 파서와 WebAssembly 기술, TypeScript 기반 Canvas 2D API를 활용해 .docx, .xlsx, .pptx 문서를 픽셀 단위까지 원본 그대로 렌더링하며, 수학 공식 렌더링을 위한 약 3MB 크기의 MathJax+STIX Two Math 엔진을 선택적 모듈로 구성해 효율적인 트리 쉐이킹(Tree-shaking)을 지원합니다.

AI 요약

인간 개발자가 단 한 줄의 애플리케이션 코드를 작성하지 않고, 오직 앤트로픽(Anthropic)의 AI 모델인 클로드(Claude)와의 반복적인 프롬프트 주고받기만을 통해 구현된 놀라운 오픈소스 프로젝트 'Silurus/ooxml(office-open-xml-viewer)'이 주목받고 있습니다. 이 라이브러리는 웹 브라우저 환경에서 Microsoft Office Open XML 형식의 문서들(.docx, .xlsx, .pptx)을 HTML Canvas 2D API를 이용해 정밀하게 렌더링합니다. 성능을 극대화하기 위해 핵심 분석 파서는 Rust로 작성하고 이를 WebAssembly(Wasm)로 컴파일하였으며, 뷰어 렌더러는 TypeScript로 작성하여 강력한 동작 성능을 구현했습니다. 특히, 기성 뷰어 UI에 종속되지 않도록 헤드리스 엔진 구조를 제공하여 개발자가 스크롤 뷰나 섬네일 그리드 등의 자체 사용자 인터페이스(UI)를 구성할 수 있도록 지원합니다. 또한 수식 표현을 위한 대용량 수학 엔진을 완전히 선택적으로 분리(Tree-shaking)할 수 있도록 설계하여, 단순 웹 문서 뷰어 탑재 시 발생할 수 있는 용량 부담을 최소화한 것이 특징입니다.

핵심 인사이트

  • 100% AI 작성 코드베이스: 프로젝트에 포함된 Rust 파서, TypeScript 렌더러, 테스트 코드, 툴링 설정까지 모든 코드가 인간의 수작업 없이 앤트로픽의 클로드(Claude)를 통해서만 작성되었습니다.
  • Rust와 Wasm의 결합: 브라우저에서의 성능 최적화를 위해 무거운 XML 파싱 영역은 Rust 언어로 고안되었으며, 최종적으로 WebAssembly로 컴파일되어 브라우저 내에서 가동됩니다.
  • 효율적인 트리 쉐이킹(Tree-shaking): 수식(OMML) 렌더링을 위한 MathJax 및 STIX Two Math 엔진 모듈(약 3MB)을 @silurus/ooxml/math 패키지로 완전히 분리하여 수식을 사용하지 않는 환경에서는 리소스 낭비 없이 경량화할 수 있습니다.
  • 완전 무중단 로컬 구동: 네트워크 요청이나 크로스 오리진(Cross-origin) 요청 없이 브라우저 단독으로 완전히 구동(Self-contained)되는 강력한 보안성과 사용성을 자랑합니다.

주요 디테일

  • 패키지는 npm install @silurus/ooxml 또는 pnpm add @silurus/ooxml을 통해 즉시 도입할 수 있으며, ESM 전용 확장자(.mjs) 포맷으로 배포됩니다.
  • WebAssembly 연동을 위해 번들링 빌드 툴인 Vite 환경에서는 vite-plugin-wasm 플러그인을 요구하며, Webpack에서는 experiments.asyncWebAssembly 설정을 별도로 명시해야 합니다.
  • 헤드리스 엔진 클래스인 DocxDocument, XlsxWorkbook, PptxPresentation을 노출하여, 뷰어 인터페이스를 개발자가 자체 컴포넌트로 완전히 맞춤 설정할 수 있도록 돕습니다.
  • 기본 렌더링 과정에서 .docx 및 .pptx에 포함된 수식 기호(m:oMath, m:oMathPara)는 라이브러리에 math 모듈을 명시적으로 전달해야 활성화되며, 미사용 시에는 해당 용량 전체가 최종 빌드 번들에서 자동 생략됩니다.

향후 전망

  • AI 코딩 비서가 복잡한 시스템 아키텍처(Rust + WebAssembly + TypeScript 연동 및 모듈 독립 설계)까지 오류 없이 단독으로 구축할 수 있음을 증명하여, 차세대 엔지니어링 패러다임 전환이 더욱 빠르게 다가올 것입니다.
  • 오피스 문서를 보기 위한 별도의 고비용 상용 컴포넌트나 백엔드 변환 서버가 필요 없어짐에 따라, 경량 웹 메일 서비스 및 문서 협업 도구 시장에서 도입 속도가 빨라질 것으로 기대됩니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...