Skip to content

Towards a replacement to the «Expand Stroke…» function #3718

@ctrlcctrlv

Description

@ctrlcctrlv

I, and others, have reported many Expand Stroke bugs, which no one seems to know how to fix. (For example, #3694, #3264, #3242, #3240, etc.)

Expand Stroke bugs are rarely ever fixed. I hope @skef doesn't hope me quoting him in some private correspondence to help make my point:

I'm wary of [Expand Stroke]. It seems like GW approached a lot of the tricker spline code by tinkering rather than drawing on theory or established algorithms. I stared at #3432 for a while (for example) after finding that non-termination condition and still don't have much of an idea of how the algorithm is supposed to work

@skef is much better at Bézier spline math than I am, so if he doesn't understand how GW's algorithms work, I stand no chance of doing so.

The function is also aging, and to think that we could extend it is dubious at best. For example, we might want to make it so that you could vary the width of points along the spline as is possible with the width tool in e.g. Illustrator or via multiple plugins (Letterink, etc) to Glyphs.app or in Inkscape via «Power Stroke».

My questions are:

  • What “established algorithms” would help the situation?
    • Perhaps InkScape's, which seems very Robust? Perhaps Noodler's, used by Glyphs.app? Something else I'm not aware of?
  • Is it even possible to replace the «Expand Stroke…» dialog wholesale?
    • Obviously at first we'd want to have them side-by-side until we replicated all the functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions