add plugin system with plugin/layout managers

- plugin_manager: scans res://plugins/*/plugin.cfg, loads tile definitions
- plugin_tile: new base class for plugin tiles, extends ModuleBase
- layout_manager: save/restore tile grid positions per named layout
- migrate existing cpu/memory/testing tiles into system_monitor plugin
- add module_resized signal to DashboardGrid for auto-save
- dashboard reads from PluginManager + LayoutManager instead of hardcoded paths
- project.godot registers PluginManager and LayoutManager autoloads
- AGENTS.md updated with new structure and conventions
This commit is contained in:
Eric Smith 2026-05-21 08:39:15 -04:00
parent 63af41ea61
commit f43676e46c
19 changed files with 528 additions and 39 deletions

View file

@ -0,0 +1,41 @@
[plugin]
name="System Monitor"
version="1.0.0"
description="Monitors system resources: CPU and memory usage"
author="Fifthdread"
[tiles]
count=3
[tile_0]
id="cpu"
name="CPU Monitor"
scene="res://plugins/system_monitor/tiles/cpu/cpu_tile.tscn"
min_w=1
min_h=1
max_w=4
max_h=4
default_w=1
default_h=1
[tile_1]
id="memory"
name="Memory Monitor"
scene="res://plugins/system_monitor/tiles/memory/memory_tile.tscn"
min_w=1
min_h=1
max_w=4
max_h=4
default_w=1
default_h=1
[tile_2]
id="testing"
name="Testing"
scene="res://plugins/system_monitor/tiles/testing/testing_tile.tscn"
min_w=1
min_h=1
max_w=4
max_h=4
default_w=1
default_h=1