「三体問題」ならぬ「三種ストローク問題」:Penpot が WebGL レンダリングで直面した混沌
The Three-Stroke Problem

Penpot が WebGL レンダリングへの移行で直面した「三種ストローク問題」を解説。CSS、SVG、Skia ではストロークの内外・中央の扱いが異なり、複雑なパスや破線・点線、多重ストロークではさらなる工夫が必要。Skia の機能を駆使して各ケースを解決する方法を、コード例とともに紹介する。
三つのストロークが絡み合うとき、結果として得られるデザインシステムは、ほとんどの初期条件に対してカオスとなる。