tachyonfx-0.11.1
·
65 commits
to development
since this release
tachyonfx 0.11.1 - 2025-03-02
Fixed
- Build now works with
default-features = false
.
tachyonfx 0.11.0 - 2025-03-02
Added
- New DSL (Domain Specific Language) for effect creation and composition:
- String-based, rust-like expression syntax for defining effects
- Support for variable binding and method chaining
- Serialization of effects to DSL expressions via
Effect::to_dsl
- Support for custom effect registration via
EffectDsl::register
- New
dsl
feature flag (enabled by default):- Adds DSL capabilities to the library
- Depends on the
anpa
crate for parsing
- New example:
dsl-playground
for interactive testing of DSL expressions EffectManager
: New component for managing collections of effects with lifecycle handling- Support for regular effects that run until completion
- Support for unique effects that can be cancelled/replaced by new effects with the same ID
- Automatic cleanup of completed effects and orphaned contexts
- New
web-time
feature flag for WebAssembly compatibility (thanks @orhun for the contribution)- Adds support for using
web_time
crate instead ofstd::time
when targeting WASM
- Adds support for using
Changed
- Made crossterm backend optional via feature flags
- Added
crossterm
feature (enabled by default) - Changed ratatui dependency to disable default features
- Added
Breaking Changes
-
Renamed HSL color conversion methods to avoid conflicts with Ratatui's "palette" feature:
Color::from_hsl(h, s, l)
→Color::from_hsl_f32(h, s, l)
color.to_hsl()
→color.to_hsl_f32()
This is a short-term fix to prevent name clashes when using tachyonfx with Ratatui's palette feature enabled.
Deprecated
Shader::set_cell_selection()
: renamed toShader::filter()
.Shader::cell_selection()
: renamed toShader::cell_filter()
.
Fixed
SimpleRng::gen_usize()
: Fixed panic on 32bit architectures