Skip to content

Add support for saving and loading mesh gradient configuration#4

Merged
c5inco merged 30 commits intomainfrom
database
Mar 22, 2025
Merged

Add support for saving and loading mesh gradient configuration#4
c5inco merged 30 commits intomainfrom
database

Conversation

@c5inco
Copy link
Owner

@c5inco c5inco commented Mar 17, 2025

Large refactoring to support saving and loading configuration locally

  • Uses Room to save data for mesh points and colors
  • Uses local JSON file to represent state of mesh gradient
    • Potentially better for storing mesh points (will consider refactoring later)

c5inco added 30 commits March 13, 2025 00:33
- Added default colors to the repository.
- Added functionality to delete a saved color.
- Add support for preset colors and custom colors
- Separate color management into preset and custom categories.
- Update database schema to include a `preset` flag.
- Add queries to retrieve preset and custom colors separately.
- Introduce default preset colors and load them on first launch.
- Refactor UI to display preset and custom colors separately.
- Refactored `AppConfiguration` to use `MutableStateList` for mesh points.
- Changed the default mesh point initialization to be stored as `defaultColorPoints`.
- Fixed bug to update mesh point in the correct row and column.
- Moved preset and custom color management to the `AppConfiguration` class.
- Added `presetColors` and `customColors` as `Flow` properties in `AppConfiguration`.
- Added `availableColors` as a combined flow of preset and custom colors.
- Added `addColor` and `deleteColor` functions to `AppConfiguration`.
- Updated `AppConfiguration` to be constructed with a `AppDataRepository`.
- Introduces data class to encapsulate the state of the mesh, including canvas dimensions, resolution, blur level, and grid size.
- Adds `MeshStateManager` to handle saving and loading the mesh state to/from a JSON file.
@c5inco c5inco added the enhancement New feature or request label Mar 17, 2025
@c5inco c5inco merged commit 8404871 into main Mar 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant