# KME Responsibility Boundary
## 結論
KMEはMarkdownを解析し、KatanA ecosystemで共有する文書構造、source mapping、metadata target解決を返すlibraryである。
KMEは描画、export、editor-viewer同期制御を持たない。同期制御は常に利用側アプリであるKatanAが担い、KatanAがviewerやeditorへ命令する。
## KMEが所有するもの
- Markdown document model
- stable node id
- source range
- line-column
- raw snippet
- text fingerprint
- metadata schema
- metadata target resolution
- parser adapter boundary
これらは、KLEの保存時metadata同期、KDVのviewer/export、KatanAのeditor-viewer同期に使える材料である。
## KMEが所有しないもの
- Markdown描画
- Floem widget
- viewer state
- editor state
- scroll state
- viewport
- hit-test方針
- HTML/PDF/PNG/JPG export
- Mermaid / Draw.io / PlantUML / math の外部描画
- KatanA workspace state
## Repository境界
| `katana-markdown-engine` | Markdown解析、文書構造、source mapping、metadata target解決 |
| `katana-document-viewer` | KME DTOを入力にしたviewer、hit-test、HTML/PDF/PNG/JPG export |
| `katana-canvas-forge` | Mermaid / Draw.io / PlantUML / math 等の外部描画 |
| `katana-language-editor` | 編集面と保存時metadata同期 |
| `katana` | viewer/editor/export統合、editor-viewer同期制御 |
`katana-document-preview` は未リリース・未取り込みのため、計画上は `katana-document-viewer`(KDV)へ改名する。
## 同期境界
KMEは同期を実行しない。
KMEはKatanAが同期判断に使えるnode id、source range、line-column、raw snippet、fingerprintを安定して返す。
KatanAはその情報を使い、viewerまたはeditorへscroll、selection、highlightなどの命令を送る。KMEはviewer、editor、KatanAの統合状態を知らない。