Polaris Studio is a desktop data application built entirely in Python with PySide6 (Qt for Python). It follows a layered architecture with strict separation of concerns.
+----------------------------------------------------------------+
| UI Layer (PySide6) |
| Main Window | Graph Canvas | Spreadsheet Grid | Panels | Dialogs |
+----------------------------------------------------------------+
| State Layer (Signals + History) |
| AppState | Workspace (Multi-tab) | HistoryStack (Undo/Redo) |
+----------------------------------------------------------------+
| Agent Layer (AI Commands) |
| Schemas | Interpreter | ChatSession | AIBackend |
+----------------------------------------------------------------+
| Core Layer (Headless, no GUI imports) |
| Graph (DAG) | Engine (Polars) | NodeRegistry | Profiler |
+----------------------------------------------------------------+
| IPC Layer (Multi-process Compute) |
| Protocol (Arrow) | Worker (Isolated process) |
+----------------------------------------------------------------+
| I/O Layer (Local, zero API calls) |
| CSV | Parquet | XLSX (openpyxl) | Clipboard (TSV) |
+----------------------------------------------------------------+
- No GUI imports in core/ipc/io layers - the engine runs in an isolated worker process
- Push-based state - all updates flow through AppState Qt signals
- Single source of truth - NODE_REGISTRY defines all node types
- Local-first - zero network calls on startup, no required accounts
- Keyboard-first - every action has a keyboard shortcut + command palette entry