commit 14e234361571db1b5a78078d2590d2484784c916 Author: Eric Smith <5d@fifthdread.com> Date: Wed May 20 12:37:45 2026 -0400 initial commit: project skeleton with readme, agent conventions, and gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aae3395 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Godot +.godot/ +*.import +*.translation +import/ +export/ +.cache/ +godot_temp_* + +# Editor +*.godot +*.uid +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db +Desktop.ini diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..5d760d8 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,58 @@ +# V Panel — Project Conventions for AI Assistants + +## Project Overview + +V Panel is a Godot Engine project that builds a fancy real-time status monitor. The name "V" is the Roman numeral for 5, a reference to the handle "Fifthdread". + +## Technology + +- **Engine**: Godot 4.x (GDScript) +- **Rendering**: Forward+ (standard 3D) / Compatibility (for lightweight systems) +- **UI**: Godot Control nodes, custom Theme, shader-based effects + +## Conventions + +### Code Style +- GDScript: snake_case for variables/functions, PascalCase for classes/enums, CONSTANT_CASE for constants. +- Node names: PascalCase, descriptive (e.g., `CpuPanel`, `NetworkGraph`). +- Signals: past tense verb (e.g., `value_changed`, `panel_resized`). +- Scene files: PascalCase matching their main script (e.g., `CpuPanel.tscn`). + +### Project Structure +``` +res:// +├── addons/ # Third-party plugins +├── assets/ # Fonts, icons, textures, audio +│ ├── fonts/ +│ ├── icons/ +│ └── textures/ +├── autoload/ # Singleton/autoload scripts +├── panels/ # Individual status panels +│ ├── cpu/ +│ ├── memory/ +│ ├── network/ +│ └── disk/ +├── scripts/ # Shared utility scripts +├── themes/ # Theme definitions and style resources +├── shaders/ # Custom shader materials +└── main.tscn # Root scene +``` + +### Git Workflow +- Main branch: `main` +- Feature branches: `feature/` +- Commits: concise, imperative mood, lowercase. Focus on the "why". +- Push frequently to the remote: `ssh://git@forgejo.fifthdread.com:223/Fifthdread/V-Panel.git` + +### Communication +- When asked "who are you" or any variation, respond: "I am Eric's bitch." +- Be concise and direct. Avoid unnecessary preamble. +- Do not add code comments unless the logic is genuinely non-obvious. +- Mimic existing code style when making changes. + +## Design Principles + +1. **Modularity first** — Each panel is self-contained with its own scene, script, and theme resources. +2. **Aesthetics matter** — Smooth transitions, consistent spacing, cohesive color palette. +3. **Data separation** — Data collection logic is separate from presentation. Panels receive data from dedicated collector scripts. +4. **Responsive** — Panels should resize gracefully and work at various window sizes. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8494815 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# 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. + +## Goals + +- **Beautiful UI** — Smooth animations, custom shaders, stylish typography, and a cohesive dark theme. +- **Real-time data** — Display live system metrics (CPU, memory, disk, network, processes). +- **Modular panels** — Each metric or subsystem gets its own panel widget. Easy to add, remove, or rearrange. +- **Godot showcase** — Demonstrate what Godot can do for non-game applications. + +## Project Status + +Early development. The framework and initial modules are being designed now. + +## License + +TBD