Core / Plug-in 아키텍처 분리 #10

Open
opened 2026-05-08 15:27:37 +09:00 by HYUNJUNGLEE · 0 comments
Owner

사용자 피드백 #10: 코드 구조를 Core(핵심), plug-in(추가)으로 구분 필요.

현재 상태

  • 설계: ARCHITECTURE_PLAN.md (commit e9cc6bf, 630줄).
  • 구현 미적용 (multi-session 점진 마이그레이션).

Core 후보 (이동 X)

scanvas_maker.py, resource_paths.py, splash.py, dem_extender.py, geo_referencing.py, tile_downloader.py, dxf_geometry.py, harness/*.

Plugin 후보 (이동 O)

structure_templates.py 의 7 템플릿 클래스 + 짝지어진 *_parser.py / *_3d_builder.py 16개 파일. 각각 plugins/<name>/ 폴더로 분리, manifest.json (이름·버전·entry_point·assets) 첨부.

Phase 별 마이그레이션

  • Phase A (1세션): plugin loader 추가, STRUCTURE_REGISTRY discovery 확장.
  • Phase B (23세션): 템플릿 12개 plugin 폴더로 이동 + manifest 작성.
  • Phase C (1세션): 모든 템플릿 마이그레이션, 기존 import 경로 제거.
  • Phase D (옵션): .scanvas-lib ZIP 디스커버리 (PLAN.md §6).
**사용자 피드백 #10**: 코드 구조를 Core(핵심), plug-in(추가)으로 구분 필요. ## 현재 상태 - ✅ 설계: `ARCHITECTURE_PLAN.md` (commit `e9cc6bf`, 630줄). - ❌ 구현 미적용 (multi-session 점진 마이그레이션). ## Core 후보 (이동 X) `scanvas_maker.py`, `resource_paths.py`, `splash.py`, `dem_extender.py`, `geo_referencing.py`, `tile_downloader.py`, `dxf_geometry.py`, `harness/*`. ## Plugin 후보 (이동 O) `structure_templates.py` 의 7 템플릿 클래스 + 짝지어진 `*_parser.py` / `*_3d_builder.py` 16개 파일. 각각 `plugins/<name>/` 폴더로 분리, `manifest.json` (이름·버전·entry_point·assets) 첨부. ## Phase 별 마이그레이션 - Phase A (1세션): plugin loader 추가, `STRUCTURE_REGISTRY` discovery 확장. - Phase B (2~3세션): 템플릿 1~2개 plugin 폴더로 이동 + manifest 작성. - Phase C (1세션): 모든 템플릿 마이그레이션, 기존 import 경로 제거. - Phase D (옵션): `.scanvas-lib` ZIP 디스커버리 (PLAN.md §6).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HYUNJUNGLEE/s-canvas#10