• v0.16.0 0117478751

    Version 0.16.0 - Windows
    All checks were successful
    Rust / build (push) Successful in 2m1s
    Stable

    vinzenz released this 2025-07-12 12:51:00 +02:00 | 0 commits to main since this release

    • BREAKING: inherent, added in v0.15.1, has been removed.
    • BREAKING: the Grid trait has been split into Grid and GridMut.
      • As the name suggests, one is read only while the other can also write.
      • Grid previously required impls to provide panicing variants (get, set) and hat default implementations for the non-panicing variants (get_optional, set_optional). Now it is the other way around to avoid double checking.
    • BREAKING: Some methods of structs have moved into methods of traits. See features.
    • BREAKING: CharGrid::load_utf8 has been removed.
    • FEATURE: Added Window and WindowMut as 2D equivalents of a slice
      • They can be created for any Grid or GridMut and implement those traits themselves.
      • Windows are defined by their x- and y-ranges in the original grid.
      • Windows into windows and zero-sized windows are both supported.
      • They can be split into two horizontally or vertically.
      • The contents can be copied into a new ValueGrid.
      • .window and .window_mut helpers have been added to containers. For windows, those will also pre-compute the ranges while reducing type nesting.
    • FEATURE: Moved ValueGrid methods get_col, set_col, get_row and set_row into the Grid/GridMut traits, making them available for windows and bitmaps as well.
    • FEATURE: Moved CharGrid methods get_col_str, set_col_str, get_row_str and set_row_str into the new CharGridExt/CharGridMutExt traits, making them available for windows as well.