Skip to content

Commit 1d259af

Browse files
SOIVclaude
andcommitted
docs: 에디터 라이브러리 방향 추가 및 코어/모듈 분리 구조 정의
- 순수 에디터 코어 개발을 중심으로, 협업·내보내기 등 부가 기능은 별도 모듈로 분리 - 코어 포함/제외 범위 명시 (표, WYSIWYG, 기본 서식 등은 코어 / yjs, PDF 등은 모듈) - gzip 기준 코어 번들 크기 목표 ~50~70KB 명시 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0499779 commit 1d259af

1 file changed

Lines changed: 67 additions & 2 deletions

File tree

docs/v2_FINANCIAL-LEDGER/roadmap/03-long-term-vision.md

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,72 @@ SaaS (Managed Cloud)
117117

118118
---
119119

120-
## 5. 공유 링크 코어 시스템
120+
## 5. 에디터 라이브러리 (`@fieldstack/editor`)
121+
122+
### 방향
123+
124+
에디터는 Fieldstack 내부에 직접 포함하지 않고 **별도 라이브러리로 독립 개발**합니다.
125+
완성 후 `packages/editor`로 추가하여 모듈에서 가져다 사용하는 방식입니다.
126+
127+
**개발의 중심은 순수 에디터 코어**이며, 협업·내보내기 등 부가 기능은 에디터 위에 올라가는 별도 모듈로 분리합니다.
128+
129+
```
130+
[별도 개발] @fieldstack/editor (순수 에디터 코어)
131+
↓ 완성 후 패키지 추가
132+
packages/
133+
editor/ ← @fieldstack/editor (에디터 코어만)
134+
135+
modules/
136+
note/ ← 에디터 코어 사용, 기본 노트 기능
137+
wiki/ ← 에디터 코어 사용, 위키 구조
138+
note-collab/ ← 실시간 협업 기능 (yjs) — 별도 모듈
139+
note-export/ ← PDF·HTML 내보내기 — 별도 모듈
140+
```
141+
142+
### 에디터를 분리하는 이유
143+
144+
에디터 자체가 무겁기 때문에 Fieldstack 코어에 직접 포함시키면 다음 문제가 생깁니다:
145+
146+
- 에디터를 사용하지 않는 모듈/페이지에도 번들 크기 부담
147+
- 에디터 개발 사이클과 Fieldstack 릴리즈 사이클이 서로 발목을 잡음
148+
- 에디터만 단독으로 테스트하거나 외부 프로젝트에서 사용하기 어려움
149+
150+
### 에디터 코어 범위
151+
152+
에디터 코어는 **순수하게 글을 쓰는 기능**에만 집중합니다.
153+
154+
| 포함 (코어) | 제외 (별도 모듈) |
155+
|------------|----------------|
156+
| TipTap + ProseMirror 기반 블록 에디터 | 실시간 협업 (yjs) |
157+
| WYSIWYG + Markdown 듀얼 모드 | PDF / HTML 내보내기 |
158+
| 나무위키 스타일 표 (셀 병합, 중첩) | 버전 관리 / 변경 이력 |
159+
| 문서 구조 (목차, 접기/펼치기, 앵커) | AI 어시스턴트 연동 |
160+
| 기본 서식 (굵게, 기울임, 코드 등) | 코드 구문 강조 언어팩 (lazy load) |
161+
| 이미지 / 파일 첨부 (로컬) | 외부 스토리지 연동 |
162+
163+
> 코어만으로도 충분히 쓸 수 있는 에디터를 목표로 합니다.
164+
> 부가 기능은 필요한 경우에만 모듈로 추가하는 방식이라 번들 부담이 없습니다.
165+
166+
### 번들 크기 목표
167+
168+
```
169+
에디터 코어 (gzip 기준) ~50~70KB
170+
— 협업, PDF, 언어팩 전부 제외한 순수 에디터
171+
— 일반적인 웹앱 컴포넌트 수준
172+
```
173+
174+
### 외부 활용 가능성
175+
176+
패키지로 분리되어 있으면 Fieldstack 외부에서도 사용 가능합니다:
177+
- 다른 프로젝트에 독립적으로 import
178+
- 필요 시 npm 공개 패키지로 배포
179+
180+
> 개발 시점: Fieldstack Phase 2 이후, 에디터가 필요한 모듈(노트, 위키 등)을 만들 때 시작.
181+
> 그 전까지는 별도로 개발하고, 준비가 되면 `packages/editor`로 편입.
182+
183+
---
184+
185+
## 7. 공유 링크 코어 시스템
121186

122187
어떤 모듈이든 외부 공개 링크를 발행할 수 있는 공통 인프라.
123188
설계 상세는 `technical/08-shared-link.md` 참고.
@@ -133,7 +198,7 @@ SaaS (Managed Cloud)
133198

134199
---
135200

136-
## 6. 마켓플레이스 수익 모델
201+
## 8. 마켓플레이스 수익 모델
137202

138203
### 유료 모듈 / 테마 수수료
139204

0 commit comments

Comments
 (0)