What I worked on in 2024
This post provides a quick summary of the major things I’ve worked on in 2024.
- Added support for Go 1.11–1.19 execution traces to the new Go trace parser.
- Wrote
honnef.co/go/safeish
, a Go package containing helpers for unsafe code. - Released Staticcheck 2024.1, improving support for Go 1.22 and adding support for Go 1.23.
- Released Gotraceui 0.4.0 (although most of the changes in the release were made in 2023).
- Started work on a new GUI framework in Go and as part of that
- implemented Flutter-inspired widget and render trees.
- ported Kurbo to Go (
honnef.co/go/curve
). Kurbo provides primitives and routines for 2D shapes, curves, and paths. - ported Vello to Go (
honnef.co/go/jello
). Vello is a 2D graphics rendering engine with a focus on GPU compute. - wrote Go bindings for wgpu (
honnef.co/go/wgpu
). wgpu is a Rust implementation of WebGPU. - unarchived my Vulkan bindings (
honnef.co/go/vk
) and implemented a code generator. - wrote
honnef.co/go/color
, a Go package for working with colors and color spaces, with a focus on the requirements of a color-space-aware GUI library. - wrote a Lottie parser and a renderer.
- wrote enough of a PDF parser and renderer to use it for rendering vector icons.
- worked on a text rendering stack and
- implemented parsers for large parts of the OpenType format.
- implemented the Unicode Bidirectional Algorithm (UAX #9).
- implemented the Unicode Line Breaking Algorithm (UAX #14).
- despaired at the state of font selection and font fallback.
- wrote bindings for Harfbuzz.
- implemented styled text rendering.
- Complained about issues.