[Lua 5.4 Engine]
^ |
| v
[Lua API Bridge] <-- C++ bindings for buffers, windows, keybindings, themes
^ |
| v
[Editor Core] <-- Buffer management, kill ring, face system
^ |
| v
[UI Interface] <-- Abstract UI layer
^ |
| v
[GTK4 Frontend] <-- Primary GUI (with TUI fallback available)
|
v
[Terminal/Display]
GTK4 Frontend Completion - Currently in Phase 6 with stable basic functionality. The editor has working text input, cursor movement, basic editing operations, and clean shutdown.
Lumacs/
├── CMakeLists.txt # Build configuration
├── init.lua # Main Lua initialization
├── themes.lua # Theme definitions
├── include/lumacs/ # C++ headers
│ ├── editor_core.hpp # Core editor logic
│ ├── buffer.hpp # Text buffer management
│ ├── lua_api.hpp # C++/Lua bridge
│ ├── gtk_editor.hpp # GTK4 frontend
│ ├── tui_editor.hpp # TUI fallback
│ ├── keybinding.hpp # Key handling
│ ├── theme.hpp # Theme/face system
│ └── [other headers]
├── src/ # C++ implementation
│ ├── main.cpp # Entry point
│ ├── editor_core.cpp # Core functionality
│ ├── lua_api.cpp # Lua bindings
│ ├── gtk_editor.cpp # GTK implementation
│ └── [other .cpp files]
├── tests/ # Unit tests
├── examples/ # Test files and demos
├── scripts/ # Build/test scripts
└── documentation/ # Project docs
Phase 6 GTK4 Frontend - Near Completion: Major rendering and input issues resolved. Next priorities are scrolling implementation and window management for full Phase 6 completion.