Reducing layer overhead in LBSE

The last time I wrote here about the layer based SVG engine (LBSE) was back in autumn 2021, when I published the technical design document. A lot has happened since then, but maybe not what you would expect after almost four years. The engine landed in WebKit and it works well, but it is still not the default. You have to switch it on by toggling a runtime setting (in MiniBrowser). Between autumn 2021 and late 2022 LBSE was bootstrapped upstream, patch after patch. We added support for all the individual building blocks that make up SVG: paths, shapes, text, polygons, etc. within the new LBSE design. After that first big push the work stalled for a few months and resumed in mid-2023, and lasted until April 2024, due to generous support by Wix. During that period most advanced painting features, such as clipping, masking, filters, non-solid paint servers (patterns, gradients), markers, etc. were all implemented, sharing the logic with HTML and CSS rather than running through the separate code paths, as the legacy SVG engine did. Then the work paused again. A project of this size needs sustained funding to move forward, and for a while that funding was not there. ...

July 14, 2026 · 14 min · Nikolas Zimmermann

Introducing the layer based SVG engine

This article provides a technical design document for the layer based SVG engine.

October 29, 2021 · 1 min · Nikolas Zimmermann

Accelerating SVG - an update

Yikes, it’s been more than a year since my last post. Time flies, especially during the pandemic that hit us all like a stroke in 2020. Let me start with a few personal notes: Luckily no one in my family got the disease, but we paid a huge price - as everybody else - by reducing the social contacts down to an absolute minimum. My wife gave birth to our daughter in September 2020, so we were especially cautious that no one brings back Corona home. ...

October 13, 2021 · 2 min · Nikolas Zimmermann

CSS 3D transformations & SVG

As mentioned in my first article, I have a long relationship with the WebKit project, and its SVG implementation. In this post I will explain some exciting new developments and possible advances, and I present some demos of the state of the art (if you cannot wait, go and watch them, and come back for the details). To understand why these developments are both important and achievable now though, we’ll have to first understand some history. ...

December 12, 2019 · 10 min · Nikolas Zimmermann

Back in town

Welcome to my blog! Finally I’m back after my long detour to physics :-) Some of you might know that my colleague Rob Buis and me founded the ksvg project a little more than 18 years ago (announcement mail to kfm-devel) and met again after many years in Galicia last month. ...

November 24, 2019 · 5 min · Nikolas Zimmermann