실시간 오디오와 리듬 게임 엔진
Web Worker 게임 루프, AudioWorklet 믹서, 250 ms 룩어헤드 스케줄링으로 메인 스레드가 멈춰도 박자가 밀리지 않는 플레이어를 만듭니다.
소프트웨어 엔지니어 · Kanghyune Kim
브라우저 오디오 엔진과 WebGL 렌더러부터 카메라·프린터·결제 단말이 붙는 키오스크까지, 밀리초 단위 타이밍과 실제 장비가 얽힌 문제를 주로 풉니다. 파서와 엔진을 라이브러리로 나누고, 그 위에 에디터와 데스크톱 앱을 쌓는 방식으로 일합니다.
새로운 협업 제안에 열려 있습니다
01 · 하는 일
Web Worker 게임 루프, AudioWorklet 믹서, 250 ms 룩어헤드 스케줄링으로 메인 스레드가 멈춰도 박자가 밀리지 않는 플레이어를 만듭니다.
카메라 제어, 사진 프리셋 렌더링, 포토 프린터 상태 감시, 다국가 결제, 프로세스 워치독까지 매장에서 멈추지 않아야 하는 포토 키오스크를 다룹니다.
Three.js·WebGL 렌더링, WebGPU로 VRAM에 JSON을 올리는 캐시, DXF(CAD) 파서처럼 무거운 데이터를 브라우저에서 빠르게 다루는 도구를 만듭니다.
C#과 OpenCVSharp로 번호판 인식과 영상 처리 예제를 만들고 그 과정을 블로그 연재로 정리하며 개발을 시작했습니다.
02 · 프로젝트
오픈소스 · 개인 프로젝트
리듬 게임 채보 포맷 BMS를 읽고, 연주하고, 편집하는 도구 일체. 파서·플레이어·에디터를 독립 npm 패키지로 나누고 Electron 데스크톱 앱과 웹 스튜디오가 이를 조립합니다.
오픈소스 라이브러리
WebGPU로 대용량 JSON을 GPU 메모리에 올리고 CPU에는 메타데이터만 남기는 캐시. Proxy 기반 자동 동기화, 배치 쓰기, GPU 정렬, 와일드카드 페이지 조회를 지원합니다.
오픈소스 라이브러리
Worker 다운로드와 AudioWorklet 재생을 묶은 멀티트랙 오디오 라이브러리. EQ, 코러스, 리버브, 딜레이 등 이펙트를 재생 중 실시간으로 조절합니다.
오픈소스 라이브러리
CAD 도면 포맷 DXF를 JSON으로 변환하는 파서. DXF 웹 뷰어 작업에서 출발해 파싱 단계를 독립 라이브러리로 분리했습니다.
오픈소스 · 커뮤니티 도구
beatoraja·lr2oraja·Qwilight에서 연주 중인 곡 정보를 방송 오버레이에 실시간으로 띄우는 플러그인. SQLite 폴링과 Lua 훅 두 방식의 브리지 서버를 포함하고, Node.js 없이 실행되도록 번들링했습니다.
설계 연구
정답이 아니라 사고 과정을 측정하는 평가 시스템 설계 명세. 시뮬레이션 환경에서 1 ms 단위로 행동을 기록하고 9개 인지 차원을 산출하는 구조를 정의했습니다.
백엔드
NestJS, Nestia, Prisma로 만든 타입 안전한 API 서버. 리듬 게임 아카이브 서비스와 한국 주소 검색 API를 구현했습니다.
초기 프로젝트
OpenCVSharp로 차량 번호판 영역을 찾는 프로그램. 평활화, 노이즈 제거, 적응형 이진화, 형태학 연산, 라벨링을 단계별로 조합했습니다.
03 · 경력과 흐름
팀장
포토 키오스크·포토부스 브랜드들이 함께 쓰는 키오스크 플랫폼과 운영 도구 개발을 이끌고 있습니다.
04 · 기술
05 · 글
06 · 연락