Skip to main content

Pragtical v3.8.4 Release

· 3 min read
Jefferson Gonzalez
Contributor of Pragtical

This is the first release that makes use of new GitHub Copilot integration to work on the code for you! The automated code change done by the new GitHub code agents was porting the code from the classical run-loop methodology to the new SDL3 callbacks.

Use SDL3 Callbacks

This change allows non-blocking rendering while the editor window is been resized. While this wasn't an issue on Linux, it was on Microsoft Windows and macOS.

New Time Based Transition

A constant velocity transition with acceleration support for use when performing scrolling on the DocView was introduced. It was made the default but if you prefer the old behaviour you can configure it by using the following config settings:

---@alias config.animationtype
---| "constant" # Time based constant velocity with acceleration support.
---| "lerp" # Linear Interpolation, starts fast ends slow.

---The type of algorithm employed on general transitions.
---
---Defaults to "constant".
---@type config.animationtype
config.animation_type = "constant"

---The type of algorithm employed on the code editor scroll transition.
---
---Defaults to "constant".
---@type config.animationtype
config.scroll_animation_type = "constant"

transition settings

The new constant transition as the name implies is more linear and permits a smoother scroll movement which allows to better read the text while scrolling. Also, when scrolling slowly the DocView will be scrolled more smoothly, when scrolling rapidly acceleration will be applied gradually to increment the speed, the speed will decrease when reducing the scroll intensity.

Other Changes

This release fixes a bug on the SearchReplaceList widget that went unnoticed and was introduced when adding the tokenizer cache for the highlighted code results. It caused the rendering of wrong tokens on expand/contract result files.

Finally, this release updates the SDL3 wrap to version 3.4.2. Not a lot of changes but they deserved an immediate release. Enjoy!

Downloads on GitHub.

Changes Log

New Features

  • Additional time based transition for scroll (#360)

Enhancements

  • Port main.c to SDL3 main-callbacks API (#437)

Fixes

  • widget: fix SearchReplaceList expand/contract (#439)

Build System

  • Update sdl3 wrap to v3.4.2 (#440)