From ab147c6f9e970a0713c42886b41b8ceddc26459d Mon Sep 17 00:00:00 2001 From: Eric Smith <5d@fifthdread.com> Date: Wed, 20 May 2026 12:41:00 -0400 Subject: [PATCH] add godot project scaffold: root scene, autoload, panel base, theme, icon --- addons/.gitkeep | 0 assets/icons/icon.svg | 4 ++++ autoload/config_manager.gd | 23 +++++++++++++++++++++++ main.gd | 5 +++++ main.tscn | 9 +++++++++ panels/.gitkeep | 0 scripts/panel_base.gd | 24 ++++++++++++++++++++++++ shaders/.gitkeep | 0 themes/default_theme.tres | 4 ++++ 9 files changed, 69 insertions(+) create mode 100644 addons/.gitkeep create mode 100644 assets/icons/icon.svg create mode 100644 autoload/config_manager.gd create mode 100644 main.gd create mode 100644 main.tscn create mode 100644 panels/.gitkeep create mode 100644 scripts/panel_base.gd create mode 100644 shaders/.gitkeep create mode 100644 themes/default_theme.tres diff --git a/addons/.gitkeep b/addons/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/icons/icon.svg b/assets/icons/icon.svg new file mode 100644 index 0000000..c1c095a --- /dev/null +++ b/assets/icons/icon.svg @@ -0,0 +1,4 @@ + + + V + diff --git a/autoload/config_manager.gd b/autoload/config_manager.gd new file mode 100644 index 0000000..db01f5a --- /dev/null +++ b/autoload/config_manager.gd @@ -0,0 +1,23 @@ +extends Node + + +signal config_changed(key: String, value: Variant) + +var _settings: Dictionary = { + "refresh_interval": 1.0, + "show_cpu": true, + "show_memory": true, + "show_network": true, + "show_disk": true, + "theme": "default", +} + + +func get_setting(key: String, default_value: Variant = null) -> Variant: + return _settings.get(key, default_value) + + +func set_setting(key: String, value: Variant) -> void: + if _settings.has(key) and _settings[key] != value: + _settings[key] = value + config_changed.emit(key, value) diff --git a/main.gd b/main.gd new file mode 100644 index 0000000..8e6c69c --- /dev/null +++ b/main.gd @@ -0,0 +1,5 @@ +extends Control + + +func _ready() -> void: + pass diff --git a/main.tscn b/main.tscn new file mode 100644 index 0000000..53aa3ef --- /dev/null +++ b/main.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=3 format=3 uid="uid://dppdkwlpqiqhi"] + +[ext_resource type="Script" path="res://main.gd" id="1"] +[ext_resource type="Theme" path="res://themes/default_theme.tres" id="2"] + +[node name="Main" type="Control"] +anchors_preset = 0 +theme = ExtResource("2") +script = ExtResource("1") diff --git a/panels/.gitkeep b/panels/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/scripts/panel_base.gd b/scripts/panel_base.gd new file mode 100644 index 0000000..ab1286d --- /dev/null +++ b/scripts/panel_base.gd @@ -0,0 +1,24 @@ +extends PanelContainer +class_name PanelBase + + +signal panel_activated +signal panel_deactivated + + +func _ready() -> void: + pass + + +func activate() -> void: + show() + panel_activated.emit() + + +func deactivate() -> void: + hide() + panel_deactivated.emit() + + +func refresh(data: Dictionary) -> void: + pass diff --git a/shaders/.gitkeep b/shaders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/default_theme.tres b/themes/default_theme.tres new file mode 100644 index 0000000..6e4151a --- /dev/null +++ b/themes/default_theme.tres @@ -0,0 +1,4 @@ +[gd_resource type="Theme" load_steps=2 format=3 uid="uid://c40owcowutir5"] + +[resource] +resource_name = "Default Theme"