Blend2D roadmap should be considered only as a high-level overview of planned features. Minor features and tasks are not shown here for making the table easier to follow. Finished features are always removed from the list.
Features are sorted by priority, but during the time they can be rescheduled if required. All features listed have a different complexity; they can take a day or a month to implement. The idea is to make the rendering engine first, and then add features that are not strictly related to the pipeline construction, but makes the library more usable.
|Font Collection||Working||Ability to have a font collection that can be used for font queries.|
|Basic Text Layout||Working||Basic text layout - Simple scripts, proper advances and kerning support.|
|A8 Target||Pending||Rendering to buffers that use A8 pixel format.|
|RGB24 target||Pending||Rendering to buffers that use RGB24 pixel format.|
|XRGB32 Target||Working||The engine sometimes doesn't distinguish between PRGB32 and XRGB32 targets, which is wrong.|
|Non-Rectangular Clipping||Pending||Support for non-rectangular clipping (region-based and/or span-based).|
|Rasterizer Acceleration||Pending||Use the advantage of SSE2 in the analytic rasterizer itself (C++ part).|
|PNG Encoder||Pending||Ability to write a PNG image into
|JPEG Encoder||Pending||Ability to write a JPEG image into
|Advanced Text Layout||Pending||Advanced text layout by using more OT features.|
|Deferred Rendering||Pending||Ability to defer all rendering operations until they are flushed.|
|Async Rendering||Pending||Ability to run an asynchronous worker in different thread while the rendering context is still in use.|
|Multithreaded Rendering||Pending||Ability to run more than one asynchronous worker to improve performance.|
|Gradient Dithering||Pending||High-performance dithered gradients that prevent banding artifacts.|
|Image Filters||Pending||Filters implementing Gaussian blur, generic convolution, erode, dilate, and displacement.|
|Color Filters||Pending||Filters implementing basic color adjustments and color matrix.|
|HSL Blend Modes||Pending||Non-separable HSL blending (PDF specification, cairo/skia compatibility).|
|Render Filters||Pending||Filters generating turbulence and fractal noise.|
|Path Boolean||Pending||Ability to perform boolean operations with two or more graphics paths.|
|Path on Path||Pending||
Ability to deform a path to be on another path, for implementing text-on-path like effects.
The implementation can be based on AGG's path-on-path, however, it flattens all curves to line segments.
|Stroke to Path||Pending||Implement a new stroking algorithm that can stroke quadratic and cubic Bézier curves into curves without flattening them into line segments.|