This commit introduces a new markdown file detailing the texture layout protocol for Fuyutsui. It explains how ClassBlocks assigns states, auras, spells, and group pixels, as well as the independent layout of auxiliary bars. The document includes sections on output areas, sorting order, and specific coding conventions for states, auras, spells, and group configurations. It serves as a comprehensive reference for developers working with the Fuyutsui project.
- Added `HasUnsavedChanges` property to `ClassConfigEditorControl` and `ClassMacrosEditorControl` to track unsaved changes.
- Introduced `ModuleDependencyService` for handling module dependencies, including capturing and importing configurations and macros.
- Implemented atomic file writing in `AtomicFile` to ensure safe file operations.
- Enhanced `MainForm` to check for unsaved changes before importing module dependencies and added feedback mechanisms for users.
- Updated `ModuleEditorControl` to support dependency capturing and module reloading.
- Created data structures for module dependency snapshots, configurations, and macros.
- Improved error handling and user notifications during module import processes.
- Updated ModuleEditorControl to utilize UiCardPanel for sidebar and footer layouts, enhancing visual coherence.
- Introduced UiPillTab for tab navigation, providing a more modern and responsive design.
- Adjusted padding, margins, and background colors across various controls for a cleaner appearance.
- Implemented new methods for handling button styles and actions, including a new OpenModuleFolder method for better user experience.
- Refined StatusForm layout, integrating UiCardPanel for information display and adjusting component arrangements for clarity.
- Removed redundant graphics path creation methods, centralizing functionality in UiTheme.
- Enhanced overall code readability and maintainability through consistent styling and structure.
- Updated color definitions in UiTheme.cs for improved UI aesthetics.
- Introduced ButtonKind enum for better button styling options.
- Added CreateButton method to streamline button creation with different styles.
- Improved item height calculations in various controls for better layout.
- Implemented ListColumn and ListColumnLayoutState for dynamic ListView column management.
- Added FitListViewColumns method to ensure ListView columns adjust properly to available space.
- Created UiCardPanel class for rounded card-like UI elements with custom painting.
- Introduced a comprehensive guide on how ClassBlocks are mapped to screen pixels, including the layout of status, auras, spells, and group pixels.
- Detailed the output areas, main color block sorting, and the encoding for states, auras, spells, and group configurations.
- Included examples and explanations for horizontal bars and heal absorb grids.
- Provided recommendations for external reading and related code references.