Skip to content

tachyonfx-0.9.3

Latest
Compare
Choose a tag to compare
@junkdog junkdog released this 20 Nov 19:17
· 1 commit to development since this release
081c364

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:

  1. execute() (automatic timer handling)
    • Effect timer handling is done automatically; use for standard effects that rely on default timer handling
    • Most common implementation choice
  2. 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 to BufferRenderer trait to enable region-based buffer rendering.

Changed

  • blit_buffer(): now omits copying cells where cell.skip is true. This behavior
    also carries over to the BufferRenderer trait and blit_buffer_region().

Fixed

  • std-duration feature: mismatched types error when building the glitch effect. Thanks
    to @Veetaha for reporting.