# 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 - **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.gdshader` instead 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. - **Live system monitoring** — Reads CPU usage from `/proc/stat` and memory usage from `/proc/meminfo` on 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, and preset system are implemented. More system modules (disk, network) are planned. ## License TBD