Skip to content

Commit 20709ff

Browse files
SOIVclaude
andcommitted
docs: 에디터 라이브러리 소속을 DocuVerse로 변경 및 구조 정정
- @fieldstack/editor → @docuverse/editor (원 소속 프로젝트로 귀속) - Fieldstack은 외부 의존성으로 사용하는 관계로 정리 - 협업·내보내기는 Fieldstack 모듈이 아닌 에디터 플러그인으로 위치 정정 - Note·Wiki 모듈은 에디터 완성 이후 개발하는 순서로 명시 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1d259af commit 20709ff

1 file changed

Lines changed: 33 additions & 31 deletions

File tree

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

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -117,51 +117,52 @@ SaaS (Managed Cloud)
117117

118118
---
119119

120-
## 5. 에디터 라이브러리 (`@fieldstack/editor`)
120+
## 5. 에디터 라이브러리 (`@docuverse/editor`)
121121

122122
### 방향
123123

124-
에디터는 Fieldstack 내부에 직접 포함하지 않고 **별도 라이브러리로 독립 개발**합니다.
125-
완성 후 `packages/editor`로 추가하여 모듈에서 가져다 사용하는 방식입니다.
124+
에디터는 원래 DocuVerse 프로젝트에서 기획된 것으로, **DocuVerse 소속 라이브러리로 독립 개발**합니다.
125+
Fieldstack은 이를 외부 패키지로 가져다 사용하는 방식입니다.
126126

127-
**개발의 중심은 순수 에디터 코어**이며, 협업·내보내기 등 부가 기능은 에디터 위에 올라가는 별도 모듈로 분리합니다.
127+
**개발의 중심은 순수 에디터 코어**이며, 협업·내보내기 등 부가 기능은 에디터의 **플러그인**으로 분리합니다.
128+
Fieldstack 모듈은 Note, Wiki처럼 용도 단위로만 나뉩니다.
128129

129130
```
130-
[별도 개발] @fieldstack/editor (순수 에디터 코어)
131-
↓ 완성 후 패키지 추가
132-
packages/
133-
editor/ ← @fieldstack/editor (에디터 코어만)
134-
131+
[DocuVerse 프로젝트] @docuverse/editor
132+
├── core/ ← 순수 에디터 코어
133+
└── plugins/
134+
├── collab/ ← 실시간 협업 (yjs) — 필요 시 로드
135+
├── export/ ← PDF·HTML 내보내기 — 필요 시 로드
136+
└── code/ ← 코드 구문 강조 언어팩 — 필요 시 로드
137+
138+
[Fieldstack 프로젝트] @docuverse/editor 를 외부 의존성으로 사용
135139
modules/
136-
note/ ← 에디터 코어 사용, 기본 노트 기능
137-
wiki/ ← 에디터 코어 사용, 위키 구조
138-
note-collab/ ← 실시간 협업 기능 (yjs) — 별도 모듈
139-
note-export/ ← PDF·HTML 내보내기 — 별도 모듈
140+
note/ ← @docuverse/editor 사용, 노트 기능
141+
wiki/ ← @docuverse/editor 사용, 위키 구조
140142
```
141143

142-
### 에디터를 분리하는 이유
143-
144-
에디터 자체가 무겁기 때문에 Fieldstack 코어에 직접 포함시키면 다음 문제가 생깁니다:
144+
### 에디터를 외부 패키지로 두는 이유
145145

146-
- 에디터를 사용하지 않는 모듈/페이지에도 번들 크기 부담
147-
- 에디터 개발 사이클과 Fieldstack 릴리즈 사이클이 서로 발목을 잡음
148-
- 에디터만 단독으로 테스트하거나 외부 프로젝트에서 사용하기 어려움
146+
- 에디터의 원 소속이 DocuVerse이므로 프로젝트 귀속을 명확히 유지
147+
- DocuVerse를 본격 개발할 때 에디터를 그대로 이어받아 사용 가능
148+
- Fieldstack 릴리즈 사이클과 에디터 개발 사이클이 분리되어 서로 발목을 잡지 않음
149+
- 에디터를 사용하지 않는 Fieldstack 모듈/페이지에 번들 부담 없음
149150

150151
### 에디터 코어 범위
151152

152153
에디터 코어는 **순수하게 글을 쓰는 기능**에만 집중합니다.
153154

154-
| 포함 (코어) | 제외 (별도 모듈) |
155+
| 포함 (코어) | 플러그인으로 분리 |
155156
|------------|----------------|
156157
| TipTap + ProseMirror 기반 블록 에디터 | 실시간 협업 (yjs) |
157158
| WYSIWYG + Markdown 듀얼 모드 | PDF / HTML 내보내기 |
158-
| 나무위키 스타일 표 (셀 병합, 중첩) | 버전 관리 / 변경 이력 |
159-
| 문서 구조 (목차, 접기/펼치기, 앵커) | AI 어시스턴트 연동 |
160-
| 기본 서식 (굵게, 기울임, 코드 등) | 코드 구문 강조 언어팩 (lazy load) |
161-
| 이미지 / 파일 첨부 (로컬) | 외부 스토리지 연동 |
159+
| 나무위키 스타일 표 (셀 병합, 중첩) | 코드 구문 강조 언어팩 |
160+
| 문서 구조 (목차, 접기/펼치기, 앵커) | 외부 스토리지 연동 |
161+
| 기본 서식 (굵게, 기울임, 코드 등) | AI 어시스턴트 연동 |
162+
| 이미지 / 파일 첨부 (로컬) | |
162163

163164
> 코어만으로도 충분히 쓸 수 있는 에디터를 목표로 합니다.
164-
> 부가 기능은 필요한 경우에만 모듈로 추가하는 방식이라 번들 부담이 없습니다.
165+
> 플러그인은 필요할 때만 로드하는 방식이라 번들 부담이 없습니다.
165166
166167
### 번들 크기 목표
167168

@@ -171,14 +172,15 @@ modules/
171172
— 일반적인 웹앱 컴포넌트 수준
172173
```
173174

174-
### 외부 활용 가능성
175+
### 활용 범위
175176

176-
패키지로 분리되어 있으면 Fieldstack 외부에서도 사용 가능합니다:
177-
- 다른 프로젝트에 독립적으로 import
178-
- 필요 시 npm 공개 패키지로 배포
177+
DocuVerse 소속이지만 범용 라이브러리로 설계합니다:
178+
- Fieldstack Note·Wiki 모듈에서 사용
179+
- DocuVerse 앱 본체에서 사용
180+
- 필요 시 npm 공개 패키지로 배포, 외부 프로젝트에서도 사용 가능
179181

180-
> 개발 시점: Fieldstack Phase 2 이후, 에디터가 필요한 모듈(노트, 위키 등)을 만들 때 시작.
181-
> 그 전까지는 별도로 개발하고, 준비가 되면 `packages/editor`로 편입.
182+
> 개발 시점: DocuVerse 에디터 개발이 준비되는 시점에 시작.
183+
> Fieldstack Note·Wiki 모듈은 에디터가 완성된 이후 개발.
182184
183185
---
184186

0 commit comments

Comments
 (0)