Core 운영 방침 및 일정
2026-09-28~
- 10/04 오프라인 모임 (전체 트랙)
- 10/05 최종 보고서 마감
- 10/05~10/24 최종 발표 자료
- 10/24 최종 발표
최종 발표 예시
2026-09-20
- 진행사항 Sync
2026-09-13
- 진행사항 Sync
- CPU Engine
- 작업 사례: SIMD
2026-09-06
- 진행사항 Sync
- CPU Engine Overview
- 작업 사례: Conic Gradient
2026-08-29
- 진행사항 Sync 및 이슈 추천
- ThorVG 에서 사용되고 있는 오픈소스/기술 소개
- 작업 사례: ThorVG Image Loader
- 유닛 테스트 커버리지 작업
이슈 추천
CPU Engine
-
Raster 성능 최적화 (Image Direct, Image Rotate…)
Infra
- workflow:
- Remove Redundant Build Tests: https://github.com/thorvg/thorvg/issues/4756
- unit test line coverage 측정 & 코드 리팩터링
- 커버리지 낮은 부분에 대한 테스트 코드 추가
- meson + lcov + genhtml
- 사용되지 않은 코드 정리
- 개선할만한 부분 이슈화
- 테스트 예시: https://github.com/thorvg/thorvg/pull/4814
- 커버리지 낮은 부분에 대한 테스트 코드 추가
Loader
- SVG compliance: https://github.com/thorvg/thorvg.svg-compliance
- 오픈소스 -> 보안 업데이트, 성능 개선, 버그 수정, 커스텀 등등 자율
- #4485 — webp: upgrade the webp decoder with the latest libwebp
- #2250 - jerryscript: replace the jerryscript memory allocator
- JS 인터프리터 JerryScript의 메모리 -> 메모리 System 으로 교체하는작업
- 바이너리 사이즈와 유연한 메모리 관리가 가능하도록 개선
- Lottie 의 Expression 기능 과 연관
IMPORTANT
- 성능 측정시 수정사항에 알맞는 방법으로
- thorvg.benchmark
- thorvg.example (Lottie, Animation …)
- 여러번 측정, Median, Mean 등 값으로 성능 측정치 PR 에 작성
CORE 2026 / THORVG
Core 대시보드
Core 6명 · thorvg/thorvg 단일 프로젝트
Issue
Issue · Closed 5
- thorvg#4577wgpu: unrendered regions make the window transparent on Windows (MSYS2)
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4591doc: ambiguous 'default value' phrasing in docs
- thorvg#4621svg: Speed up color lookup with binary search
- thorvg#4641svg: Clarify null separator handling for invalid style declarations
항목 없음
Issue · 참여 25
- thorvg#4871svg: text style compliance
- thorvg#3788text: support ttc extension
- thorvg#3263cpu: masking issue
- thorvg#29cpu: AVX optimization
- thorvg#4577wgpu: unrendered regions make the window transparent on Windows (MSYS2)
- thorvg#4698infra: build fails when asan is enabled (MSYS2)
- thorvg#4497common: support build-time log level selection
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4688cpu: repeat-gradient anti-aliasing ignores transform
- thorvg#4446lottie: layer effect dropped by JSON key order
- thorvg#4669gif: Some parts of the visual colors are still not encoded correctly.
- thorvg#1758gif: a broken gif conversion
- thorvg#4174renderer: Support actual font face name instead of font file name
- thorvg#4547infra: binary size workflow not working on wg_engine
- thorvg#4591doc: ambiguous 'default value' phrasing in docs
- thorvg#4766infra: clang-format test in CI doesn't work
- thorvg#4618clean up compiler padding warnings
- thorvg#4642svg: refactor named color assignment
- thorvg#4601proposal: Detect struct byte padding during build
- thorvg#4621svg: Speed up color lookup with binary search
- thorvg#4641svg: Clarify null separator handling for invalid style declarations
- thorvg#4605SVG: nullptr crash parsing a css @font-face with no trailing ;
- thorvg#4349lottie: revise bezier interpolator
- thorvg#4426gl_engine: blur shader optimization
- thorvg#4703optimize struct memory usage
항목 없음
PR
PR · Closed 7
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
- thorvg#4620Wpadded warnings clean up
- thorvg#4794test/png: cover indexed-color decoding and invalid headers
- thorvg#4697gl: optimize Gaussian blur weight calculation
항목 없음
PR · Merged 15
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
- thorvg#4822infra: fix ci clang-format test in CI doesn't work
- thorvg#4814test(tvgSvgUtil): add unit test for svg color parsing and url decoding
- thorvg#4640svg: optimize named color lookup with binary search
- thorvg#4609svg/parser: Prevent a crash in font-face declarations
- thorvg#4854test: add png file to increase coverage for indexed color decoding
- thorvg#4653wg_engine: fix compiler warning for WgStageBufferSolidColor
항목 없음
PR · Total 26
- thorvg#4721lottie: fix layer effects dropped by JSON key order
- thorvg#4851cpu: add openmp support to effectFill
- thorvg#4886cpu: add openmp support to _dropShadowNoFilter
- thorvg#4928renderer: fix masking applied per draw call in a picture
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
- thorvg#4620Wpadded warnings clean up
- thorvg#4822infra: fix ci clang-format test in CI doesn't work
- thorvg#4814test(tvgSvgUtil): add unit test for svg color parsing and url decoding
- thorvg#4640svg: optimize named color lookup with binary search
- thorvg#4609svg/parser: Prevent a crash in font-face declarations
- thorvg#4854test: add png file to increase coverage for indexed color decoding
- thorvg#4794test/png: cover indexed-color decoding and invalid headers
- thorvg#4653wg_engine: fix compiler warning for WgStageBufferSolidColor
- thorvg#4697gl: optimize Gaussian blur weight calculation
항목 없음
TOTAL
TOTAL · Issue + PR 51
- thorvg#4871svg: text style compliance
- thorvg#3788text: support ttc extension
- thorvg#3263cpu: masking issue
- thorvg#29cpu: AVX optimization
- thorvg#4577wgpu: unrendered regions make the window transparent on Windows (MSYS2)
- thorvg#4698infra: build fails when asan is enabled (MSYS2)
- thorvg#4497common: support build-time log level selection
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4688cpu: repeat-gradient anti-aliasing ignores transform
- thorvg#4446lottie: layer effect dropped by JSON key order
- thorvg#4669gif: Some parts of the visual colors are still not encoded correctly.
- thorvg#1758gif: a broken gif conversion
- thorvg#4174renderer: Support actual font face name instead of font file name
- thorvg#4547infra: binary size workflow not working on wg_engine
- thorvg#4591doc: ambiguous 'default value' phrasing in docs
- thorvg#4766infra: clang-format test in CI doesn't work
- thorvg#4618clean up compiler padding warnings
- thorvg#4642svg: refactor named color assignment
- thorvg#4601proposal: Detect struct byte padding during build
- thorvg#4621svg: Speed up color lookup with binary search
- thorvg#4641svg: Clarify null separator handling for invalid style declarations
- thorvg#4605SVG: nullptr crash parsing a css @font-face with no trailing ;
- thorvg#4349lottie: revise bezier interpolator
- thorvg#4426gl_engine: blur shader optimization
- thorvg#4703optimize struct memory usage
- thorvg#4721lottie: fix layer effects dropped by JSON key order
- thorvg#4851cpu: add openmp support to effectFill
- thorvg#4886cpu: add openmp support to _dropShadowNoFilter
- thorvg#4928renderer: fix masking applied per draw call in a picture
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
- thorvg#4620Wpadded warnings clean up
- thorvg#4822infra: fix ci clang-format test in CI doesn't work
- thorvg#4814test(tvgSvgUtil): add unit test for svg color parsing and url decoding
- thorvg#4640svg: optimize named color lookup with binary search
- thorvg#4609svg/parser: Prevent a crash in font-face declarations
- thorvg#4854test: add png file to increase coverage for indexed color decoding
- thorvg#4794test/png: cover indexed-color decoding and invalid headers
- thorvg#4653wg_engine: fix compiler warning for WgStageBufferSolidColor
- thorvg#4697gl: optimize Gaussian blur weight calculation
항목 없음
alpakaDurumi
Issue
Issue · 참여 15
- thorvg#4871svg: text style compliance
- thorvg#3788text: support ttc extension
- thorvg#3263cpu: masking issue
- thorvg#29cpu: AVX optimization
- thorvg#4577wgpu: unrendered regions make the window transparent on Windows (MSYS2)
- thorvg#4698infra: build fails when asan is enabled (MSYS2)
- thorvg#4497common: support build-time log level selection
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4688cpu: repeat-gradient anti-aliasing ignores transform
- thorvg#4446lottie: layer effect dropped by JSON key order
- thorvg#4669gif: Some parts of the visual colors are still not encoded correctly.
- thorvg#1758gif: a broken gif conversion
- thorvg#4174renderer: Support actual font face name instead of font file name
- thorvg#4547infra: binary size workflow not working on wg_engine
- thorvg#4591doc: ambiguous 'default value' phrasing in docs
항목 없음
PR
PR · Closed 4
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
항목 없음
PR · Merged 9
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
항목 없음
PR · Total 17
- thorvg#4721lottie: fix layer effects dropped by JSON key order
- thorvg#4851cpu: add openmp support to effectFill
- thorvg#4886cpu: add openmp support to _dropShadowNoFilter
- thorvg#4928renderer: fix masking applied per draw call in a picture
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
항목 없음
TOTAL
TOTAL · Issue + PR 32
- thorvg#4871svg: text style compliance
- thorvg#3788text: support ttc extension
- thorvg#3263cpu: masking issue
- thorvg#29cpu: AVX optimization
- thorvg#4577wgpu: unrendered regions make the window transparent on Windows (MSYS2)
- thorvg#4698infra: build fails when asan is enabled (MSYS2)
- thorvg#4497common: support build-time log level selection
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4688cpu: repeat-gradient anti-aliasing ignores transform
- thorvg#4446lottie: layer effect dropped by JSON key order
- thorvg#4669gif: Some parts of the visual colors are still not encoded correctly.
- thorvg#1758gif: a broken gif conversion
- thorvg#4174renderer: Support actual font face name instead of font file name
- thorvg#4547infra: binary size workflow not working on wg_engine
- thorvg#4591doc: ambiguous 'default value' phrasing in docs
- thorvg#4721lottie: fix layer effects dropped by JSON key order
- thorvg#4851cpu: add openmp support to effectFill
- thorvg#4886cpu: add openmp support to _dropShadowNoFilter
- thorvg#4928renderer: fix masking applied per draw call in a picture
- thorvg#4710cpu_engine: allow subpixel-aligned axis-aligned rects
- thorvg#4863infra: update the GitHub Actions away from the node20 runtime
- thorvg#4830cpu_engine: fix the ALPHA_BLEND inconsistency between scalar and NEON
- thorvg#4798cpu_engine: detect AVX support at run time
- thorvg#4808cpu_engine: treat single-stop gradients as solid
- thorvg#4750cpu_engine: sync repeat-gradient anti-aliasing with transform
- thorvg#4781test: remove the generated test.gif file
- thorvg#4685savers/gif: separate color quantization from the palette search structure
- thorvg#4655savers/gif: fix broken gif palette creation
- thorvg#4603infra: enable the wg engine in the binary size workflow
- thorvg#4590Revert "doc: fix incorrect alpha default value in fill()/strokeFill() description"
- thorvg#4586doc: fix incorrect current point description in appendRect()
- thorvg#4576doc: fix incorrect alpha default value in fill()/strokeFill() description
항목 없음
J-unStiN
Issue
Issue · 참여 6
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4766infra: clang-format test in CI doesn't work
- thorvg#4618clean up compiler padding warnings
- thorvg#4642svg: refactor named color assignment
- thorvg#4601proposal: Detect struct byte padding during build
- thorvg#4621svg: Speed up color lookup with binary search
항목 없음
PR
PR · Open 0
항목 없음
TOTAL
TOTAL · Issue + PR 10
- thorvg#4824infra: need to update GitHub Actions away from the deprecated node20 runtime
- thorvg#4766infra: clang-format test in CI doesn't work
- thorvg#4618clean up compiler padding warnings
- thorvg#4642svg: refactor named color assignment
- thorvg#4601proposal: Detect struct byte padding during build
- thorvg#4621svg: Speed up color lookup with binary search
- thorvg#4620Wpadded warnings clean up
- thorvg#4822infra: fix ci clang-format test in CI doesn't work
- thorvg#4814test(tvgSvgUtil): add unit test for svg color parsing and url decoding
- thorvg#4640svg: optimize named color lookup with binary search
항목 없음
jeongsunyong
Issue
Issue · Open 0
항목 없음
PR
PR · Open 0
항목 없음
PR · Closed 0
항목 없음
TOTAL
DaengDo
Issue
Issue · Open 0
항목 없음
Issue · Closed 0
항목 없음
PR
PR · Open 0
항목 없음
TOTAL
Saususge
Issue
Issue · Open 0
항목 없음
Issue · Closed 0
항목 없음
PR
PR · Open 0
항목 없음
PR · Merged 0
항목 없음
TOTAL
tcpark11
Issue
Issue · Open 0
항목 없음
Issue · Closed 0
항목 없음
PR
PR · Open 0
항목 없음
PR · Closed 0
항목 없음
PR · Merged 0
항목 없음
PR · Total 0
항목 없음
TOTAL
TOTAL · Issue + PR 2
항목 없음
Q & A
아래 내용은 개인적인 경험을 바탕으로 작성한 의견입니다.
- 특정 기업을 타겟팅하는 방법과 포트폴리오 주제 선정에 관해 질문드립니다.
- 채용 공고를 분석하고, 요구 역량과 연관된 주제를 선정하는 것이 가장 좋은 것 같습니다. (포트폴리오는 일관성 있게 구성)
- 채용 공고만으로 부족하다면, LinkedIn을 활용해 해당 기업에 재직 중이거나 이직·퇴직한 분께 커피챗을 신청해 이야기해 보는 것이 좋습니다.
- LinkedIn 프로필에는 자신의 성과, GitHub 주소, 포트폴리오, 이력서 등을 공개하는 경우가 많기 때문에 LinkedIn이나 GitHub를 탐색하는 것이 많은 도움이 됩니다.
- OSSCA와 같은 프로그램에 참여했다면, 해당 프로그램과 연관된 내용을 포트폴리오에 녹여내면 좋을 것 같습니다.
- 예: 실제 공고에 있는 단어와 실제 이슈를 연결한 기여 활동
- 수학·정교한 프로그래밍(1px 오차): Gradient AA 이슈
- PNG·JPG 등 파일 포맷: WebP Loader 버전 업데이트, PNG Saver
- 저수준 개발: 사용 중인 오픈소스 분석, ThorVG 자체 기여, SIMD, GPU Engine/CPU Engine
- 성능 최적화:
thorvg.example또는thorvg.benchmark프로파일링 후 개선 제안 및 PR - C++·JavaScript: SIMD와 WebSIMD
- 테스트: Unit Test와 Pixel Test에 기여
- 예: 실제 공고에 있는 단어와 실제 이슈를 연결한 기여 활동