- Added DungeonObjectEmulatorPreview for rendering dungeon objects using the SNES emulator, allowing real-time visualization of object graphics.
- Implemented ObjectDrawer class to handle drawing of various object types to background buffers, utilizing game-specific patterns.
- Updated DungeonCanvasViewer to integrate object rendering and improve background layer management.
- Enhanced DungeonEditorV2 to support the new emulator preview, providing a more interactive editing experience.
- Improved error handling and logging for better debugging during object rendering operations.
- 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.
- Removed PushID and PopID calls in EditorManager to prevent ID stack corruption, relying on window titles for uniqueness.
- Updated ImGui window size and position settings to use FirstUseEver for maximizing on first open, enhancing user experience.
- Replaced AgentUI::PopPanelStyle with ImGui::PopStyleColor in multiple locations for consistency in style management.
- Ensured all EditorCard instances consistently call End after Begin, improving code clarity and preventing potential rendering issues.
- Introduced a new language definition for the 65816 assembly language, improving syntax highlighting and code editing capabilities.
- Updated the AssemblyEditor to utilize the new language definition and integrated a toolset for file management actions, enhancing user experience.
- Refactored the file handling logic to support dynamic file opening and saving, ensuring better resource management within the editor.
- Removed deprecated tab view code, transitioning to a more modular card-based layout for active files, improving UI responsiveness and organization.
- Introduced lazy loading for room data to optimize performance and reduce initial load times.
- Updated DungeonEditor and DungeonRoomLoader to handle room graphics rendering directly from room objects.
- Refactored methods to accept room references instead of IDs for better clarity and type safety.
- Enhanced tab management in the DungeonEditor UI for improved user experience.
- Added DungeonEditorV2 to streamline dungeon editing by delegating tasks to specialized components.
- Implemented comprehensive integration tests to validate functionality and ensure proper ROM handling.
- Achieved 100% pass rate for all integration tests, enhancing reliability and performance of the editor.
- Updated test suite to include tests for the new editor, ensuring robust coverage and error handling.