docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거

Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
Antigravity Agent
2026-07-05 00:33:48 +09:00
parent 1cfd3bbb56
commit 9148c358d0
6455 changed files with 1 additions and 86875 deletions
@@ -0,0 +1,27 @@
---
category: Frontend
tags: [auto-wikified, technical-documentation, frontend]
title: Flutter Impeller
description: "Flutter Impeller는 기존 Skia 엔진을 대체하기 위해 개발된 Flutter의 최신 그래픽 렌더링 엔진입니다."
last_updated: 2026-05-04
---
# Flutter Impeller
## 📌 Brief Summary
Flutter Impeller는 기존 Skia 엔진을 대체하기 위해 개발된 Flutter의 최신 그래픽 렌더링 엔진입니다. 애플리케이션 빌드 시점에 셰이더(Shader)를 미리 컴파일하여 런타임에 발생하는 프레임 드랍(Jank) 현상을 근본적으로 해결할 목적으로 설계되었습니다. 2023년(Flutter 3.10)부터 iOS에서 기본 렌더러로 안정화되었으며, Android를 비롯한 다른 플랫폼으로도 지원이 확대되고 있습니다 [1, 2].
## 📖 Core Content
* **셰이더 컴파일 쟁크(Jank) 해결**: 기존 구조의 가장 큰 성능 문제였던 '셰이더 컴파일 쟁크'는 사용자가 새로운 시각 효과를 처음 마주할 때 셰이더를 실시간으로 컴파일하면서 발생하던 프레임 드랍 현상이었습니다 [1, 2]. Impeller는 앱 빌드 과정에서 더 작고 최적화된 셰이더 세트를 미리 컴파일(Pre-compile)해두는 방식으로 이 문제를 해결하여 첫 프레임부터 일관되고 부드러운 렌더링을 제공합니다 [3, 4].
* **현대적 모바일 GPU 최적화**: Impeller는 테셀레이션(Tessellation) 기반의 렌더링 방식을 채택하여 최신 모바일 GPU 환경에 고도로 최적화되어 있습니다 [2]. 이를 통해 화면의 모든 픽셀을 직접 그리는(Custom Rendering) Flutter의 철학을 유지하면서도 복잡한 그래픽을 빠르고 예측 가능하게 처리합니다 [2, 5].
* **성능 일관성**: Impeller의 도입으로 복잡한 애니메이션과 전환 효과가 사용되는 환경에서도 고주사율 기기에서 120fps 또는 일관된 60fps의 렌더링 성능을 보장받을 수 있게 되었습니다 [3, 6, 7].
* **플랫폼 적용 현황**: iOS 환경에서는 완전히 안정화되어 프로덕션 레벨의 기본 그래픽 백엔드로 자리 잡았으며, Android에서는 프리뷰(Preview) 형태로 제공되며 버전이 업데이트될 때마다 빠르게 발전하고 있습니다 [2, 8].
## ⚖️ Trade-offs & Caveats
* **앱 용량(App Size) 증가**: 앱 패키징 시 Dart 런타임과 함께 Impeller 렌더링 엔진 자체가 포함되어야 합니다. 이로 인해 앱의 최소 크기(APK 기준)가 8~12MB 수준으로 구성되며, 시스템의 네이티브 렌더러를 활용하는 React Native(약 5~8MB)에 비해 베이스라인 용량이 상대적으로 커진다는 제약이 있습니다 [7].
* **메모리 오버헤드**: 운영체제의 네이티브 UI 컴포넌트를 차용하지 않고, Impeller/Skia 엔진을 이용해 자체적인 위젯 트리와 렌더링 파이프라인을 독자적으로 유지하며 화면을 그립니다 [9, 10]. 이로 인해 네이티브 UI를 사용하는 방식 대비 애플리케이션의 기본 메모리 사용량이 다소 높게 발생합니다 [9].
* **플랫폼별 성숙도 편차**: iOS에서는 Impeller가 기본값으로 완전히 성숙하여 셰이더 쟁크 문제를 해결했지만, Android 생태계에서는 아직 성숙해 가는 단계(Preview)이므로 플랫폼 간 그래픽 백엔드 안정성 및 최적화 수준에 일시적인 편차가 존재합니다 [2, 11].
---
*Last updated: 2026-05-03*