스튜디오씨드코리아 (Studio XID Korea / ProtoPie)
Engine & Player 팀 소프트웨어 엔지니어
- 기간
- 2024.09 ~ 현재
iOS, Android, Web에서 동작하는 Kotlin Multiplatform 런타임 기반의 고정밀 프로토타이핑 플랫폼입니다. Engine & Player 팀에서 코어 엔진과 Rust/wgpu 기반 Web 렌더러, iOS·Android·HarmonyOS Player 앱을 개발합니다.
New Renderer — Rust/wgpu 렌더링 파이프라인
2025.11 ~ 현재
기존 DOM 방식의 Web 렌더러를 대체하는 Rust/wgpu 렌더러에서 벡터 path, 스크롤, 클리핑·마스크, SVG 래스터화 기능을 개발했습니다. 도입 목표와 마일스톤을 수립하고 엔진·SDK·렌더러 간 연동도 주도했습니다.
- Star/Polygon 도형을 기존 vector path와 tessellation 경로로 렌더링하도록 지원
- 스크롤 오프셋이 컨테이너의 자식 레이어에 적용되도록 scene graph와 render graph 처리 구현
- 둥근 모서리 sublayer clipping을 위한 stencil scope, 참조값 전파·복원, batch 분할, depth/stencil attachment와 WASM pass encoder 구현
- 기하 마스크 소스를 기존 path 렌더링 경로로 래스터화하고 중첩된 clip·mask 합성 구현
- 독립적인 SVG rasterizer 모듈 개발
- SVG 통합을 순수 래스터화 단계와 렌더러 리소스 파이프라인 연동 단계로 분리하고, 남은 설계 쟁점을 팀 논의 안건으로 문서화
- WebGL2 fallback의 적용 방향과 플랫폼 제약을 검토해 팀의 진행 방향을 제시
- 담당 기능 외에 테스트 인프라, GPU 백엔드, tessellation 파이프라인 등 렌더러 전반의 변경을 리뷰
기술 · Rust, wgpu, WASM
New Renderer 연동 — KMM 명령 계약과 SDK 브리지
2026.02 ~ 현재
KMM 코어 엔진이 만드는 렌더 명령을 Rust/WASM 렌더러가 이해하는 형태로 번역하는 브리지 SDK를 초기 구조부터 개발했습니다. 도형의 기하 계산은 엔진에, 래스터화는 렌더러에 두고 SDK는 명령 번역만 담당하는 얇은 층으로 유지하도록 세 저장소의 책임 경계를 정했습니다.
- KMM 코어 엔진에서 Star/Polygon 벡터 도형의 path 데이터를 계산하고, SDK용 Stroke 명령과 mask 관계 명령 구현
- KMM/JS 엔진 명령을 Rust/WASM 렌더러 명령으로 변환하는 브리지 SDK 설계·개발
- JSON reference path와 binary fast path 두 전송 경로의 결과를 비교하는 parity 검증 체계 구축
기술 · Kotlin Multiplatform (Kotlin/JS), TypeScript, Rust, WASM
KMM Core Engine — 런타임 로직·Web Preview·엔진 통합
2024.12 ~ 현재
Kotlin Multiplatform 코어 엔진의 런타임 로직을 수정하고 Web Preview 기능을 개발했습니다. 팀의 엔진 변경을 검수하고 릴리스로 통합하는 역할도 맡았습니다.
- 변수 네임스페이스 처리와 트리거·응답 실행 로직 수정
- 레이어 불투명도 변경 시 자식 레이어의 터치 가능 여부를 전파하는 규칙 정리
- Pie 모델 파일 파싱의 허용 버전 범위 확장과 씬 전환 통지 콜백 추가
- User Testing을 위한 Web Preview 카메라 지원과 녹화·방송 동시 실행 기능 개발
- iOS WebView 연동을 위한 JS 메시지 전달과 키보드 동작 보완
- 요구사항을 개발 계획과 마일스톤으로 구체화하고 핵심 기능의 코드 리뷰, 통합, 릴리스 관리
기술 · Kotlin Multiplatform, Android, iOS
Web Engine PoC — PixiJS
2024.09 ~ 2025.01
ProtoPie 프로토타입을 웹에서 렌더링하기 위한 실험용 엔진 PoC입니다. 이미 진행 중이던 프로젝트에 입사 직후 합류해 렌더링 레이어와 에셋 처리를 맡았습니다.
- Jira, 마일스톤 관리와 체크하며 일정과 결과 조율
- Primitive Layer(Line, Triangle, Polygon)와 Text Box 개발
- Asset Manager 단독 설계·개발
기술 · TypeScript, PixiJS, React, Zustand, Zod
AI Agent Extension PoC
2026.04
AI 에이전트가 프로토타입을 직접 생성하고 수정하는 방식을 제안하고, 아키텍처와 단계별 로드맵 수립부터 구현까지 주도하였습니다.
- VS Code Extension (webview wrapper, CSP 적용, 패널) 개발
- MCP 서버 개발로 Claude Code, Codex 등 복수 에이전트가 WASM 렌더러를 제어하도록 연동
- 렌더러를 수정하지 않고 명령만 전달하도록 경계 분리. 같은 구조를 ChatGPT 앱(OpenAI Apps SDK)으로 이식
기술 · TypeScript, VS Code Extension, MCP, WASM, OpenAI Apps SDK
HarmonyOS Player 앱
2026.06 ~ 현재
ArkTS/ArkUI 기반 Player를 신규 개발해 공식 앱스토어에 출시했습니다. 앱 셸과 화면, 렌더러, 기기 입출력까지 저장소 전반을 맡았고, Core Engine 엔진을 Rust로 포팅해서 제품에 처음 적용된 사례입니다.
- Rust Engine 포팅 PoC를 제품 코드에 적용하고 UI와 엔진을 연결하는 native bridge와 실행 흐름 구현
- Rust 헤더, C++ NAPI 브리지, ArkTS 런타임을 함께 갱신해야 하는 네이티브 API 추가 절차를 정리하고 반복 적용
- Studio 연결, Cloud 로그인·브라우징, 설정·셸 내비게이션, Play Control, 폰트 관리 등 앱 화면과 기능 개발
- 터치 디스패치, 센서, 햅틱, 카메라 라이브 피드 기반 QR·바코드 인식, STT/TTS 등 기기 입출력을 엔진 이벤트와 연동
- DevEco Previewer용 mock 엔진 경로를 걷어내고 ArkUI FrameNode 기반 렌더러로 전면 전환, 레거시 렌더러 제거
- WebSocket 기반 Socket.IO 클라이언트 구현과 LAN·Cloud·QR 진입 경로 통합, iOS/Android Player 기준의 QA 결함 수정
기술 · ArkTS, ArkUI, Rust, C++, CMake
iOS Player — App Clip 및 User Testing
2024.09 ~ 현재
- Player App Clip(2025.02 ~ 2025.09)의 타당성 검토부터 설계, UI, App Store 출시까지 단독 담당. 공통 로직 모듈 분리와 정적 링크 전환으로 10MB 바이너리 제한 충족
- User Testing(2025.07 ~ 2025.11)용 type-safe JS-Native bridge 개발. 요구사항을 코어 엔진, iOS, Android, Web Preview의 구현 계획으로 구체화하고 저장소별 작업 분배와 통합 조율
기술 · Swift, UIKit, WebView, Kotlin Multiplatform
Android Player — User Testing
2025.11 ~ 2026.02
- User Testing용 native bridge 개발. WebView 카메라·마이크 권한, 딥링크 진입, 세션 토큰, 물리 키 이벤트 연동
- 핵심 기능 개발자의 변경 사항을 코드 리뷰하고 기능 통합 지원
기술 · Kotlin, Kotlin Multiplatform, Android, WebView
개발 인프라 — 정적 분석과 AI 코드 리뷰
2024.09 ~ 현재
- iOS와 Android에 SonarQube 품질 게이트를 설정하고, 정적 분석에서 확인된 reliability, security, duplication 문제를 후속 PR로 단계적으로 개선
- iOS, Android, engine, renderer, engine-sdk 5개 저장소에 AI 기반 PR 자동 리뷰 파이프라인 도입 (영문 리뷰 + 한국어 번역, 심각도 분류)
- App Center에서 Firebase로 배포 환경 전환, GitHub Actions 기반 배포와 릴리스 노트·태그 자동화
기술 · SonarQube, GitHub Actions, Firebase