---
title: ScriptureData—Editor flow
---
graph TD
A[(DB)] --> B([USFM])
B --> A
B --> C[Proskomma]
C --> |Proskomma is only being used to convert USFM to PERF|P([PERF])
P --> E
E --> |Epitelete can export USFM but not import it|B
F[Editor-PERF adapter] -- Transforms PERF --> G[Editor]
G -- Transforms Editor Format --> F
E[(epiteleteStore)]
E -- Epitelete runs operations on PERF --> F
F -- Epitelete runs operations on PERF --> E
Low hanging:
- Reorganize conversion code.
- Make Lexical's custom OnChange plugin fire only when there are changes.
Epics:
- Save snapshots to epitelete (onChange with debounce and special handling, or using JSON path)
- Create Plugins for grafts and marks (verses, chapter, headings ,introduction, footnote, etc.)
- Support start translating from a blank editor.
Configuration .codesandbox/tasks.json has been added to optimize it for CodeSandbox.