Это пока только план, реализация планируется на ближайшее время, но кто его знает.
Воркеры могут быть не обязательно отдельными потоками. Это могут быть элементы из пула потоков, которые будут заниматься задачами разных карт и разных этапов конвейера. Главным ограничением для них вероятно будет то, что задачи каждого элемента конвейера в один момент времени должен выполнять ровно один поток. Это позволит упростить код и меньше заботится о потокобезопасности.
Более отдаленным шагом будет введение интерфейса IBitmapFilter, который будет получать IBitmap32Surface и что-то на нем рисовать. В самом простом случае это будет просто обертка вокруг IBitmap32Static, которая будет отрисовывать готовый тайл на полученной поверхности. Это позволит при рендеринге векторных объектов и сеток для простых элементов не тратить память на полноценный тайла, а просто запомнить нужные операции для его воспроизведения.
Примеры:
То есть, в результате все операции рендеринга будут возвращать не IBitmapTileMatrix, а IBitmapFilterTileMatrix при помощи которых битмапки будут создаваться на самом последнем шаге конвейера, непосредственно перед выводом на экран.