Back to GNOME Foundation
GSoC 2026

Pitivi Timeline Ruler: Native GTK4/Rust Rewrite

The Pitivi timeline ruler currently relies on a legacy Python implementation using GTK3 and the Cairo drawing model. As Pitivi updates to a modern GTK4 native structure, the CPU-heavy Cairo draw calls are becoming a bottleneck for rendering time markers and frames at varying levels of zoom. This project will rewrite the ruler as a standalone, native GTK4 widget using Rust and ‘gtk-rs’. By moving away from Cairo and utilizing GTK4’s hardware acceleration via ‘GtkSnapshot’ and Render Nodes, the new ruler will be significantly more performant and memory-safe. Following a modular design philosophy, the widget will be built independently with a robust GObject API before being integrated into Pitivi’s existing Python and GStreamer Editing Services (GES) infrastructure using GObject introspection.

Project details

Contributor

Michael Calabrese

Mentors

Not available

Technologies

Not listed in the archive