Skip to content

feat: introduce skia renderer#165

Draft
seo-rii wants to merge 33 commits intoedwardkim:develfrom
seo-rii:skia
Draft

feat: introduce skia renderer#165
seo-rii wants to merge 33 commits intoedwardkim:develfrom
seo-rii:skia

Conversation

@seo-rii
Copy link
Copy Markdown

@seo-rii seo-rii commented Apr 16, 2026

변경 요약

추후 네이티브 확장성을 위해서는 Skia와 같은 2d 렌더링 라이브러리를 도입하는 것이 좋을 것 같아 작업해 보았습니다.

  1. 렌더링 파이프라인을 프론트엔드와 백엔드 경계로 분리했습니다.
  2. 백엔드 렌더러 계층에 기존 렌더러와 Skia 렌더러를 함께 둘 수 있도록 구조를 정리했습니다.
  3. 브라우저 환경에서 동작하는 CanvasKit 기반 웹 렌더러를 추가했습니다.
  4. 브라우저 렌더링과 Skia 렌더링의 결과를 비교할 수 있도록 시각 회귀 테스트를 보강했습니다.
  5. 한글 폰트 및 generic fallback 처리, 심볼/통화 문자 fallback, 렌더링 모드 설정을 정리해 CanvasKit 결과가 기존 렌더링과 최대한 가깝게 나오도록 조정했습니다.
  6. 관련 문서를 업데이트했습니다.

매우 큰 변경 사항이고, ai로 생성한 커밋이기 때문에 일단 draft로 열었습니다. 래스터화 방식의 차이로 기존 렌더러와 테두리 부분에서 diff가 조금 발생하는데, 이에 대해서도 조금 더 작업 후에 draft 풀도록 하겠습니다.

관련 이슈

closes #

테스트

  • cargo test 통과
  • cargo clippy -- -D warnings 통과
  • 관련 샘플 파일로 SVG 내보내기 확인
  • 웹(WASM) 렌더링 확인 (해당하는 경우)

스크린샷

변경 전후 비교가 필요한 경우 첨부해주세요.

@edwardkim
Copy link
Copy Markdown
Owner

2d 벡터렌더링으로 Skia 와 thorvg 를 살펴보고 있었습니다. 고민이 됩니다. 문제는 폰트 렌더링입니다. skia 로 하면 많이 편하기는 한데 thorvg 는 우리나라 개발자분이 만든거라 thorvg 로 테스트 중이었습니다.
일단 맥용 네이티브 부터 하려고 잠시 미루고 있었는데 직접 skia 로 해보셨다니 대단하십니다. 저도 시간내서 살펴보겠습니다.

seunghan91 added a commit to seunghan91/rhwp that referenced this pull request Apr 16, 2026
- task_m100_164_report.md: 4 stage + 검증 인프라 + 라운드트립 결과 종합
- orders/20260417.md: 오늘할일 등록, Task edwardkim#165/166/167 후속 이슈 제안

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants