7th of February 2022 to 20th of February 2022

SixtyFPS became Slint

We skipped last week's weekly since we already had an announcement out: SixtyFPS became Slint and we released Version 0.2!

It was exciting for us to see the reactions on Reddit, HackerNews and even at Heise, a well-respected IT media company here in Germany. It was very interesting for us to see the reactions of people who had not heard of Slint (or SixtyFPS) before.

Applications

News about applications built with Slint

  • ImageSieve version 0.5.2 was released

    ImageSieve is a GUI based tool to assist in sorting images based on taken date and similarity, categorize them according to their creation date and archive them in a target folder.

    Congratulations to the release from our side!

  • We released a new version of Cargo UI to update to Slint 0.2.

Slint UI Library

MCU progress

We continued progressing on the work to port Slint to work on micro controller. See pictures of our target device, the RaspberryPi Pico, which proves that we can run our demo on a device which only has 264KiB of RAM, and 2MiB of flash.

  • Fix scaling of glyphs and improve type safety in the MCU backend (#962, #965)
  • MCU: scale image at compile-time (#966)
  • MCU: scale image at compile-time (#966)
  • Reduce memory consumption when sorting scene items (e98375)
  • MCU: Make the panic handler not allocate memory anymore.(bc2ab0)

    Also change the colors

Printer Demo running on the RP Pico
Our panic handler prints the message to the screen

Changes to the .slint language

    Slint Tooling

    • Improve the slint-fmt tool (136f26)

      Stop the slint-fmt tool from mis-formatting and even breaking some .slint files.

      Thanks go out to Zajozor for the work on the formatting tool.

    • 3rd party tree-sitter parser for .slint files.

      Tree-sitter is a parser framework used by several text editors to enable syntax highlighting and code navigation features for a range of programming languages. @jrmoulton created tree-sitter parser for slint files!

    • Neovim support for the Slint Language Server

      Support for the Slint language server was merged into the nvim-lspconfig and the nvim-lsp-installer plugins for Neovim.

      Users of that editor now have a convenient way to install and update the slint-lsp (on Linux and Windows).

    Fixes

    • Fix code snippet in the documentation (8839c8) Fixes #934
    • C++: drops IntSize in favor of Size<T> (#922) (753784) Fixes #909
    • Fix opacity on Image in for in layout (c5a2e9) Fixes #915
    • Fix animation in the flickable (efd6c6) Fix #951
    • Fix rendering of png images with alpha in the online editor (260c09)

      It appears that HTMLImageElement is not guaranteed to provide a texture with pre-multiplied alpha. Let's limit this assumption to SVGs.

    • Fix HighDPI on windows with the rust generator and the native style and qt backend (f0b047)
    • Fix a panic occurring when some layout may still contains reference to optimized item (2816a0)

    Internal Improvements

    • LLR: Add a pretty printer (215467)
    • Improved property inlining and detection of unused properties

      Inlining simple or even constant properties can simplify the generated code. A series of patches improve on the existing inlining, reducing the produced code size as well as the overall binary size. (PR 958)

    • Send less key events from the GL backend (d44348)

      When "combining" information from winit's ReceiveCharacter and KeyboardInput events, then do not create a second KeyPress event when the KeyboardInput contained a control character.

      This makes us not send duplicate events for Tab, but leaves the handling for e.g. Ctrl-C unchanged.

    • Error out when selecting unknown styles (d64dfa)

    Janitor work

    Changes: e30e18, 1a9ec9, 3fc129, 27a8c3, 07da5c, fd3419, 620cd8, c51cc3, 034804

    Other Crates and Libraries

    Contributions to other crates and libraries made by the Slint developers:

    document-features

    The document-features crate has been picked as the "crate of the week" by This Week in Rust.

    Version 0.2 was released allowing documentation of optional dependencies.

    FemtoVG

    • Fixed an issue where we detected disabled WebGL support in the browser wasn't propagated to the API user (22009c)

      Statistics

      157 patches were committed by 7 authors.

      Outlook

      Slint at ImakeFOSS

      We are super excited to take over the @imakefoss twitter handle today! Follow @imakefoss and find out what we are up to this week!

      We even did an interview!

      ← Next : 21th of February 2022 to 27th of February 2022 | Previous : 31st of January 2022 to 6th of February 2022


      Slint is a declarative GUI toolkit to build native user interfaces for desktop and embedded applications written in Rust, C++, or JavaScript. Find more information at https://slint.dev/ or check out the source code at https://github.com/slint-ui/slint