Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for saving and loading mesh gradient configuration #4

Open
wants to merge 30 commits into
base: main
Choose a base branch
from

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
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