Releases: rryam/MeshingKit
Releases · rryam/MeshingKit
2.4.0
What's Changed
New Features
- Template Search: Add metadata and search functionality to
PredefinedTemplatewith tags, moods, and NaturalLanguage-based lemmatization - Gradient Export: Add snapshot helpers to render MeshGradient to CGImage/PlatformImage
- Export Snippets: Add SwiftUI and CSS color stop snippet helpers for design tools
- Color Hex Output: Add Color hex output functionality with README examples
Improvements
- Add
smoothsColorsoption to gradient creation - Extract animation constants to
AnimationConstantsenum - Use
simd_clampfor bounds safety in animations - Refactor animation code into smaller, testable methods
- Add
CustomGradientTemplatevalidating initializer with error reporting
Bug Fixes
- Fix animation wiring for parameterized noise
- Fix CSS alpha fallback in export
- Fix hex color parsing for various formats
- Fix misleading comment: cachedMetadata → metadataValue
- Fix merge conflict marker in test file
- Split tests into separate files to pass SwiftLint
Tests
- Expand template search tests
- Add export helper tests
- Add comprehensive template validation tests
- Split tests into 3 files for better organization
Full Changelog: 2.3.0...2.4.0
2.3.0
Bug Fixes
- Fixed out-of-range point coordinate (1.003 to 1.0) in cosmicAurora template
- Fixed alpha channel handling in noise shader to preserve original alpha
- Corrected template count documentation in README
Improvements
- Added CaseIterable conformance to PredefinedTemplate for easy iteration over all templates
- Replaced deprecated presentationMode API with modern dismiss environment in sample app
- Added documentation for 2x2 animation limitation
Code Quality
- Added comprehensive test suite (16 tests covering templates, animations, and color extensions)
- Refactored template validation tests into generic helper function
- Used shorthand enum mapping syntax in PredefinedTemplate
- Replaced filter operations with reduce for better efficiency in tests
- Removed hardcoded counts from comments to prevent future staleness
2.2.0
Bug Fixes
- Fixed color hex extension default case bug (now returns opaque white instead of transparent black)
Improvements
- Added validation to CustomGradientTemplate (validates points/colors count and point ranges)
- Extracted magic numbers to constants in AnimatedMeshGradientView for better maintainability
- Removed CGPoint conversions - animation now works directly with SIMD2 for better performance
- Added MeshPoints typealias for [SIMD2]
- Made PredefinedTemplate conform to Identifiable
- Updated sample app to use local package reference
Code Quality
- Improved code organization and maintainability
- Better documentation and type safety
2.1.1
What's Changed
- Add SwiftLint configuration, fix violations, and clean up tests
- Expand MeshingKit test coverage with new target and suite updates
- Refine CodeMagic CI setup and build settings for smoother releases
Full Changelog
v2.1.0
Changes
- Updated API to use unified
animatedGradient()method instead of size-specific methods - Fixed sample app to use current API
- Updated README documentation with correct API examples
- Removed unused
NewMeshGradientView
Breaking Changes
The size-specific animated gradient methods have been replaced with a unified API:
- ❌
animatedGradientSize2/3/4()(removed) - ✅
animatedGradient()(use this instead)
Migration Guide
Before:
MeshingKit.animatedGradientSize3(template: .cosmicAurora, showAnimation: $showAnimation)After:
MeshingKit.animatedGradient(.cosmicAurora, showAnimation: $showAnimation)2.0.1
MeshingKit 2.0.1 Release Notes
Maintenance Updates
Swift Tools Version
- Updated Swift tools version from 6.0 to 6.2 in Package.swift
Repository Maintenance
- Added .swiftpm directory to .gitignore
- Removed tracked Xcode workspace files from version control
Documentation
- Updated README.md with latest information
Compatibility
- Maintains full backward compatibility with v2.0.0
- No breaking changes or API modifications
2.0.0
MeshingKit 2.0 Release Notes
API Improvements
New Template System
- Introduced a new protocol-based gradient template system
- Added support for custom gradient templates through the
CustomGradientTemplatestruct - Maintained backward compatibility with existing size-specific methods
Simplified API Access
- Added clean dot syntax for accessing predefined templates:
// Before MeshingKit.gradientSize3(template: .auroraBorealis) // Now MeshingKit.gradient(template: .size3(.auroraBorealis))
New Namespace Organization
- Introduced
PredefinedTemplatefor better type safety and organization - Templates are now categorized by size (size2, size3, size4)
Custom Template Support
- Added ability to create custom gradient templates:
let customTemplate = CustomGradientTemplate(name: "Custom", size: 4, ...) MeshingKit.gradient(template: customTemplate)
Other Improvements
- Better documentation with more examples
- Improved type safety across the API
- Maintained all existing gradient templates and animations
Migration Guide
Existing code using size-specific methods (gradientSize2, gradientSize3, gradientSize4) will continue to work. To adopt the new API style, update your template references to use the new dot syntax.
1.2.1
New in this Release
Added more templates to 2x2 grid
1.2.0
New in this release
Add animation directly with a view:
MeshingKit.animatedGradientSize4(template: .auroraBorealis, showAnimation: .constant(true))1.1.0
New in this release
Added parameterized noise shader and SwiftUI view:
ParameterizedNoiseView(intensity: .constant(0.5), frequency: .constant(0.2), opacity: .constant(0.9)) {
MeshingKit.gradientSize3(template: .cosmicAurora)
}