A system monitor
- 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 |
||
|---|---|---|
| addons | ||
| assets | ||
| autoload | ||
| config | ||
| plugins | ||
| scenes | ||
| scripts | ||
| shaders | ||
| themes | ||
| .gitignore | ||
| AGENTS.md | ||
| generate_noise.py | ||
| main.gd | ||
| main.tscn | ||
| project.godot | ||
| README.md | ||
V Panel
A fancy status monitor built with the Godot Engine. V stands for the Roman numeral 5 — a nod to my online handle, Fifthdread.
Overview
V Panel is a visually rich, real-time status monitoring dashboard built entirely in Godot. Designed to be both functional and aesthetically polished, it serves as a showcase for Godot's UI capabilities outside of gaming — custom shaders, smooth animations, reactive layouts, and system integration.
Features
- Animated splash screen — Fullscreen splash with "V" and "Panel" text using Orbitron variable font. Font-size zoom animation via
tween_methodwith overshoot (TRANS_BACK), then crossfades to dashboard with no black flash. - Responsive grid dashboard — Modules auto-arrange in a dynamic grid that adapts to window size. Drag-and-drop to rearrange.
- Variable-size modules — Modules can span multiple grid cells (1×1, 2×1, 2×2, etc.). Drag edges/corners to resize interactively.
- Shader-based vial fill — Each module uses a custom
vial_fill.gdshaderinstead of progress bars. Features sum-of-sines water surface with edge-damped meniscus, wave distortion, ripple rings, swirl, HSV colour shifting, top-down lighting, sparkle effects, 3D subsurface scattering, gaussian surface foam, and wave-slope specular highlights. - Shader preset system — Double-click any module to open a popup menu with 7 visual presets (Vivid Vial, Emerald Deep, Lava Flow, Neon Dream, Deep Purple, Rainbow Swirl, Frostbite). Presets control all visual shader parameters.
- INI-based configuration — Uses Godot's built-in
ConfigFileclass for human-friendly.cfgfiles.config/default.cfgfor shipped defaults,config/config.cfgfor user overrides (gitignored). Background color, module visibility, refresh interval, and theme are configurable. - Live system monitoring — Reads CPU usage from
/proc/statand memory usage from/proc/meminfoon Linux. Extensible module system for adding new collectors. - Smooth animations — All fill level transitions use tweens with cubic easing.
Modules
| Module | Data Source | Description |
|---|---|---|
| CPU | /proc/stat |
Real-time CPU usage percentage |
| Memory | /proc/meminfo |
Real-time memory usage percentage |
| Testing | N/A (cycles 0–100%) | Shader visual testing with stepped fill levels |
Controls
- Drag module — Click and drag to rearrange modules on the grid
- Resize module — Click and drag any edge or corner to resize (snaps to cell grid)
- Shader presets — Double-click a module to open the preset selection popup
Project Status
Active development. Core framework, drag-and-drop with resize, CPU/memory collectors, shader-based vial fill with 3D surface effects, preset system, animated splash screen with crossfade transition, and INI-based config system are implemented. More system modules (disk, network) are planned.
License
TBD