Architecture Overview
OpenTree uses an Electron multi-process architecture with four layers:
Layer Description
| Layer | Responsibility | Technology |
|---|---|---|
| Renderer | UI rendering, user interaction | React 18 + TypeScript |
| IPC Layer | Inter-process communication | Electron contextBridge |
| Data Layer | Data persistence | SQLite + Sequelize |
| Backend | API service, scheduled tasks | Node.js + Express |
Process Model
Main Process
├── Renderer 1: World Tree Panel
├── Renderer 2: Metaverse Desktop
├── Renderer 3: Standalone windows (e.g., album preview)
└── Worker Thread: Background tasks
Data Flow
Read Data
UI Component -> electronAPI.module.getAll()
-> IPC invoke
-> Main Process handler
-> SQLite query
-> Return result
-> Render component
Write Data
UI Component -> electronAPI.module.create(data)
-> IPC invoke
-> Main Process handler
-> SQLite INSERT
-> Emit data-changed event
-> All renderer processes update