- use custom_minimum_size instead of minimum_size on Button (Godot 4.6 API)
- reduce module_resized signal to 3 args to match _save_layout signature
- rename testing_tile refresh param data -> _data (unused)
- rename name -> layout_name in save_layout/switch_layout (shadows Node.name)
- 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