feat: Introduce Debugging and Testing Guide with enhanced startup options

- Added a new document, E5-debugging-guide.md, providing comprehensive strategies for debugging and testing the `yaze` application, including logging practices and testing frameworks.
- Updated E2-development-guide.md to include a new section on debugging and testing, detailing quick debugging methods using command-line flags for specific editors and UI cards.
- Enhanced the main application to support command-line flags for opening specific editors and cards on startup, improving the developer experience.
- Refactored the Controller class to handle startup editor and card initialization based on command-line inputs.
This commit is contained in:
scawful
2025-10-09 17:19:36 -04:00
parent b3c6fd6e12
commit e769cea1d9
32 changed files with 1044 additions and 413 deletions

View File

@@ -13,6 +13,7 @@ namespace editor {
class UserSettings {
public:
struct Preferences {
// General
float font_global_scale = 1.0f;
bool backup_rom = false;
bool save_new_auto = true;
@@ -23,6 +24,35 @@ class UserSettings {
std::string last_project_path;
bool show_welcome_on_startup = true;
bool restore_last_session = true;
// Editor Behavior
bool backup_before_save = true;
int default_editor = 0; // 0=None, 1=Overworld, 2=Dungeon, 3=Graphics
// Performance
bool vsync = true;
int target_fps = 60;
int cache_size_mb = 512;
int undo_history_size = 50;
// AI Agent
int ai_provider = 0; // 0=Ollama, 1=Gemini, 2=Mock
std::string ollama_url = "http://localhost:11434";
std::string gemini_api_key;
float ai_temperature = 0.7f;
int ai_max_tokens = 2048;
bool ai_proactive = true;
bool ai_auto_learn = true;
bool ai_multimodal = true;
// CLI Logging
int log_level = 1; // 0=Debug, 1=Info, 2=Warning, 3=Error, 4=Fatal
bool log_to_file = false;
std::string log_file_path;
bool log_ai_requests = true;
bool log_rom_operations = true;
bool log_gui_automation = true;
bool log_proposals = true;
};
UserSettings();