Skip to content

Releases: rryam/MeshingKit

2.4.0

20 Dec 09:31

Choose a tag to compare

What's Changed

New Features

  • Template Search: Add metadata and search functionality to PredefinedTemplate with 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 smoothsColors option to gradient creation
  • Extract animation constants to AnimationConstants enum
  • Use simd_clamp for bounds safety in animations
  • Refactor animation code into smaller, testable methods
  • Add CustomGradientTemplate validating 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

10 Dec 03:29
4a21d86

Choose a tag to compare

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

06 Nov 19:51

Choose a tag to compare

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

11 Oct 13:38
cbec795

Choose a tag to compare

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...v2.1.1

v2.1.0

30 Sep 04:36

Choose a tag to compare

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

24 Sep 09:39

Choose a tag to compare

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

25 Feb 11:34

Choose a tag to compare

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 CustomGradientTemplate struct
  • 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 PredefinedTemplate for 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

12 Nov 20:07

Choose a tag to compare

New in this Release

Added more templates to 2x2 grid

1.2.0

19 Oct 11:44

Choose a tag to compare

New in this release

Add animation directly with a view:

MeshingKit.animatedGradientSize4(template: .auroraBorealis, showAnimation: .constant(true))

1.1.0

15 Oct 17:42

Choose a tag to compare

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