tachyonfx 0.9.3 - 2024-11-20
Fixed
- sweep and slide effects now honor applied CellFilters.
tachyonfx 0.9.2 - 2024-11-17
Fixed
Cargo.lock
no longer omitted from the crate package. This was an oversight in previous releases.- Fixed test build failure when the
std-duration
feature is enabled.
tachyonfx 0.9.0 - 2024-11-17
Breaking Changes
Shader::execute() Signature Update
Previous:
fn execute(&mut self, alpha: f32, area: Rect, cell_iter: CellIterator)
New:
fn execute(&mut self, duration: Duration, area: Rect, buf: &mut Buffer)
When implementing the Shader
trait, you must override one of these methods:
execute()
(automatic timer handling)- Effect timer handling is done automatically; use for standard effects that rely on default timer handling
- Most common implementation choice
process()
(manual timer handling)- Use when custom timer handling is needed
- Gives full control over timing behavior
- Must report timer overflow via return value
Important: The default implementations of both methods are no-ops and cannot be used alone. You must override
at least one of them for a functioning effect.
Added
CellFilter::EvalCell
: filter cells based on a predicate function that takes a&Cell
as input.blit_buffer_region()
: new function to support copying specific regions from source buffers.render_buffer_region()
method added toBufferRenderer
trait to enable region-based buffer rendering.
Changed
blit_buffer()
: now omits copying cells wherecell.skip
is true. This behavior
also carries over to theBufferRenderer
trait andblit_buffer_region()
.
Fixed
std-duration
feature: mismatched types error when building the glitch effect. Thanks
to @Veetaha for reporting.