refactor(docs): update editor status and welcome screen logic in documentation

- Revised the editor status section to reflect the current state of various editors, including stability notes and testing requirements.
- Clarified the welcome screen visibility logic in the documentation, emphasizing its behavior when no ROM is loaded and the conditions for manual control.
- Enhanced the overall structure and clarity of the development guide to better inform contributors about the project's status and UI management practices.

Benefits:
- Provides a clearer understanding of the current capabilities and testing needs of the editors.
- Improves documentation accuracy regarding UI behavior, aiding developers in troubleshooting and feature implementation.
This commit is contained in:
scawful
2025-10-15 16:45:41 -04:00
parent 3c0964d251
commit 49c59191ac
8 changed files with 335 additions and 250 deletions

View File

@@ -712,6 +712,12 @@ absl::Status EditorManager::Update() {
last_test_rom = current_rom_;
}
// CRITICAL: Draw UICoordinator UI components FIRST (before ROM checks)
// This ensures Welcome Screen, Command Palette, etc. work even without ROM loaded
if (ui_coordinator_) {
ui_coordinator_->DrawAllUI();
}
// Autosave timer
if (user_settings_.prefs().autosave_enabled && current_rom_ &&
current_rom_->dirty()) {
@@ -735,13 +741,13 @@ absl::Status EditorManager::Update() {
// Check if ROM is loaded before allowing editor updates
if (!current_editor_set_) {
// Note: Welcome screen auto-show is now handled by UICoordinator
// No ROM loaded - welcome screen shown by UICoordinator above
return absl::OkStatus();
}
// Check if current ROM is valid
if (!current_rom_) {
// Note: Welcome screen auto-show is now handled by UICoordinator
// No ROM loaded - welcome screen shown by UICoordinator above
return absl::OkStatus();
}
@@ -911,19 +917,9 @@ absl::Status EditorManager::Update() {
if (session_coordinator_) {
session_coordinator_->DrawSessionSwitcher();
session_coordinator_->DrawSessionManager();
// TODO: Decide which is actually used.
// if (ui_coordinator_) {
// ui_coordinator_->DrawSessionManager();
// }
session_coordinator_->DrawSessionRenameDialog();
}
// Draw UICoordinator UI components (Command Palette, Global Search, etc.)
// CRITICAL: This must be called for Command Palette and other UI windows to appear
if (ui_coordinator_) {
ui_coordinator_->DrawAllUI();
}
return absl::OkStatus();
}