Commit Graph

39 Commits

Author SHA1 Message Date
scawful
6dbc30c11f refactor: Introduced a SessionCardRegistry and WindowDelegate for better session management in the editor.
Benefits:
- Streamlines the build process by allowing for multiple Protobuf targets, enhancing compatibility and maintainability.
- Improves session management capabilities within the editor, leading to a more organized and efficient user experience.
- Enhance Protobuf target handling in CMake configuration
- Updated CMake files to support multiple Protobuf targets, improving flexibility in linking.
- Adjusted target link libraries across various components (yaze, yaze_core_lib, yaze_editor, etc.) to utilize the new
2025-10-14 20:30:25 -04:00
scawful
312522d709 feat(editor): enhance EditorManager with card-based editor functionality
- Introduced methods to determine if an editor is card-based and to retrieve its category.
- Implemented a sidebar toggle shortcut (Ctrl+B) for managing card visibility.
- Added functionality to hide current editor cards when switching editors.
- Updated editor initialization to register global shortcuts for activating specific editors.
- Enhanced the Update method to draw a sidebar for the current category editor.

Benefits:
- Improved user experience by organizing editor cards and providing quick access to editor categories.
- Streamlined editor management, making it easier to switch between different editing contexts.
2025-10-12 11:57:39 -04:00
scawful
e769cea1d9 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.
2025-10-09 17:19:36 -04:00
scawful
14eba4a765 feat: Add Emulator Editor Type and UI Enhancements
- Introduced a new editor type for the emulator, allowing users to access emulator functionalities directly from the editor manager.
- Updated the editor selection dialog to include the emulator option with appropriate descriptions and shortcuts.
- Enhanced the emulator interface with modern theming and improved layout for better user experience.
- Implemented various UI components for performance monitoring, AI agent integration, and save state management, enriching the emulator's capabilities.
2025-10-06 21:18:56 -04:00
scawful
939df9fa3d refactor: Implement session-aware card titles for multi-session support
- Added a helper method, MakeCardTitle, to generate session-aware titles for editor cards based on the current session context.
- Updated various editor files to utilize the new MakeCardTitle method, ensuring consistent card naming across multiple sessions.
- Refactored card initialization in AssemblyEditor, GraphicsEditor, DungeonEditorV2, OverworldEditor, and SpriteEditor to support dynamic session titles, enhancing user experience and clarity.
2025-10-06 00:36:24 -04:00
scawful
cbfed441ad feat: Enhance Agent Editor and Chat Widget for Improved Configuration and Collaboration
- Introduced a comprehensive AI Agent configuration dashboard, allowing users to select providers, models, and adjust settings.
- Updated the AgentChatWidget to include a reactive UI for collaboration status and improved connection management.
- Enhanced the EditorManager to initialize the agent editor with dependencies and streamline the editor selection process.
- Added functionality to clear recent editors upon loading a new ROM, ensuring a fresh start for user sessions.
- Improved the menu structure to include new options for the AI Agent, enhancing user interaction and accessibility.
2025-10-05 04:03:37 -04:00
scawful
33242a8803 feat: Revamp EditorManager and UI Components for Enhanced User Experience
- Updated the EditorManager to streamline the editor selection process, integrating new menu items for ROM and project management.
- Enhanced the welcome screen logic to automatically show the editor selection dialog after loading a ROM, improving user flow.
- Introduced new menu options for saving and validating ROMs, creating backups, and accessing ROM information.
- Improved the editor selection dialog with distinct colors for each editor type, enhancing visual clarity and user interaction.
- Added advanced settings and collaboration features in the Agent Chat Widget, including improved connection management and model selection.
- Expanded the welcome screen with additional project card features and tips for user guidance.
2025-10-05 03:19:36 -04:00
scawful
20b8251724 feat: Refactor editor structure and enhance multi-session support
- Moved `menu_builder.cc` to a new `ui` directory for better organization.
- Updated `EditorManager` to generate unique ImGui IDs for multi-session support, ensuring separate window handling.
- Added session ID management in `EditorContext` for improved child panel identification.
- Introduced a new `MenuBuilder` class for streamlined ImGui menu creation, enhancing UI maintainability.
2025-10-05 02:09:50 -04:00
scawful
a53e759043 Implement multi-session support and welcome screen in EditorManager
- Removed the homepage display logic and replaced it with a welcome screen that appears when no ROM is loaded or no active editors are present.
- Enhanced session management by iterating through all sessions to check for active editors, allowing for better multi-session docking.
- Introduced new methods for generating unique editor titles based on session context and added feature flags for per-session configurations.
- Added safeguards for ROM loading state checks in editor methods to prevent operations on unloaded ROMs.
2025-09-26 17:32:21 -04:00
scawful
339741fe35 Add clipboard functionality for overworld tile16 selection in OverworldEditor
- Introduced SharedClipboard struct in EditorContext to manage cross-session clipboard data.
- Implemented Copy and Paste methods in OverworldEditor to handle tile16 selections and transfers.
- Enhanced clipboard management to support both rectangular selections and single tile copies.
- Added error handling for clipboard operations to ensure robust functionality.
2025-09-13 10:59:57 -04:00
scawful
d77aa2ab61 Remove CleanupUnusedTextures method from Editor and OverworldEditor classes; eliminate unused texture cleanup logic from EditorManager to streamline performance. 2025-04-29 08:21:11 -04:00
scawful
42cfb3bcb2 Refactor overworld constructors to accept Rom pointers 2025-04-12 11:27:23 -04:00
scawful
216ee23f51 Refactor EditorManager to utilize EditorSet for managing multiple editors per ROM, enhance ROM loading and saving processes, and improve popup management integration. 2025-04-11 02:57:50 -04:00
scawful
e7720019fd Implement Save method in various editor classes with unimplemented error 2025-03-12 15:16:32 -04:00
scawful
61e35f2819 Implement docking support in the main editor window; enhance editor activation management 2025-03-11 21:05:04 -04:00
scawful
5607ef7702 Refactor Editor and SettingsEditor classes to manage context; update keyboard shortcuts display logic 2025-03-10 11:25:49 -04:00
scawful
02ae11ec9e Add ShortcutManager for handling keyboard shortcuts in the editor 2025-03-09 18:15:16 -04:00
scawful
412e617ce7 Add Load method to editor classes and update corresponding headers 2025-03-08 10:07:18 -05:00
scawful
6714f77514 Implement Initialize method in Editor class and override in derived editors 2025-03-08 00:31:30 -05:00
scawful
c66541db87 Add PopupManager: integrate PopupManager class and PopupParams structure for enhanced popup handling 2025-02-10 11:51:03 -05:00
scawful
db9fab83df Remove ConstantManager and related includes; update editor context accordingly 2025-01-26 13:38:45 -05:00
scawful
c8d4efda2e Refactor flag handling: move FlagParser implementation to flag.cc, remove ResourceManager, and update includes 2025-01-26 13:36:27 -05:00
scawful
a8dcfe3d05 Remove dynamic layout code 2024-12-29 09:58:34 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
2deb0050be Refactor EditorContext and system managers for improved clarity and consistency 2024-11-20 09:52:54 -05:00
scawful
21314702e8 Add EditorContext, refactor utils, add system managers 2024-11-19 23:10:23 -05:00
scawful
731eb456ab Refactor editor includes and update source files for improved organization 2024-11-18 14:05:08 -05:00
Justin Scofield
b0c79a42c5 Rename Editor class to MasterEditor 2022-07-19 20:31:49 -04:00
Justin Scofield
7a795fd75d Editor namespace housekeeping, Canvas expansion 2022-07-19 20:21:32 -04:00
Justin Scofield
86150f82bd Add ScreenEditor to main Editor 2022-07-19 20:53:03 +00:00
Justin Scofield
08590d824d changed tile.h and tile16.cc to snes_tile 2022-07-11 20:39:08 -04:00
scawful
982cc789fe Remove rom namespace 2022-07-09 22:52:07 -04:00
scawful
31f1850800 Created DungeonEditor and Canvas 2022-07-09 22:46:20 -04:00
scawful
30557fd528 Improve AssemblyEditor class 2022-07-09 18:41:30 -04:00
scawful
a038290ebb Added the AssemblyEditor class 2022-07-09 18:12:09 -04:00
scawful
c49e83839c Move 65816 language definition to a widgets namespace 2022-07-09 16:51:14 -04:00
scawful
e9c8152453 housekeeping 2022-07-08 23:52:11 -04:00
scawful
9d576351d0 housekeeping 2022-07-06 22:22:29 -04:00
scawful
219e5e799c move editor and overworld_editor 2022-07-06 19:17:40 -04:00