Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

B-Splines Pen Tool #119

Open
davelab6 opened this issue May 29, 2021 · 5 comments
Open

B-Splines Pen Tool #119

davelab6 opened this issue May 29, 2021 · 5 comments
Labels
enhancement New feature or request

Comments

@davelab6
Copy link

Inspired by https://typedrawers.com/discussion/4052/using-b-splines-to-draw-italics#latest I thought I'd propose that :)

@ctrlcctrlv
Copy link
Collaborator

This is a good time for me to update you (& others) on all the related issues.

#9 and #10 have been sitting for a while as we decided how to deal with the fact that we want as many spline types as possible.

We think we have a plan: implement a pen tool for each spline type, give each MFEKContour for each spline type its own ContourOperations variant (so, adding to the current VWSContour and PAPContour, SpiroContour, BSplineContour, etc.).

We have this list:

  • quadratic;
  • conic;
  • Spiro;
  • Hyperbezier;
  • Metaballs (inspired by @eliheuer).

Adding B-Spline to that list isn't difficult, if users think it useful. If it's in Inkscape, that seems proof enough already.

ContourOperations will implement a trait that will allow the Select tool to move points of any enum variant and display the correct Point Info dialog.

Very crude drawing here, but you get the point; we'll end up with something like this:

image

I'm unsure when we'll have all the pens, but the first pen we want to do is Spiro. So, that'll lay the groundwork for the rest of the pens. I already have, on my hard drive right now, a pure Rust Spiro library using none of the GPL C code, but based off @raphlinus' relicensed Apache-2.0 C code. It was a translation done by c2rust so is a bit…Rusty (:wink:). But once I finish the "nice" API that's easy to put into a crate, something like MFEK/spiro.rlib.

After Spiro our next priority is probably Hyperbezier, as feature parity with Runebender is important to us, as a stepping stone to going toe to toe with more powerful font editors.

What would the icon for B-Spline look like? That's important.

@ctrlcctrlv ctrlcctrlv added the enhancement New feature or request label May 29, 2021
@davelab6
Copy link
Author

davelab6 commented Jul 7, 2021

What's the latest status on this?

@MatthewBlanchard
Copy link
Contributor

I'm going to spend the next week trying to close all the bug reports, polish the rough edges on the image tools, and fix some outstanding bugs with stroking. Components would come next, and then we're going to get to work on pen tools.

@ctrlcctrlv
Copy link
Collaborator

ctrlcctrlv commented Jul 13, 2021

Hello,

Today while I was adding new needed icons for @MatthewBlanchard, I added a bunch of the icons which I clumsily illustrated above. Especially relevant to @raphlinus may be our decision for Hyperbezier's icon (highlighted in red), because we think the "H" to be rather…I don't know, just not good in a tangible way, and we think ours is better.

Icons: Top to bottom: Grid, Edit Guidelines, Hyperbezier, Quadratic Pen, B-Spline Pen, Spiro Pen
icons

ctrlcctrlv added a commit that referenced this issue Jul 13, 2021
ctrlcctrlv added a commit that referenced this issue Jul 13, 2021
@eliheuer
Copy link
Contributor

eliheuer commented Jul 14, 2021

Thanks Fredrick! There is a thread in the development chat about that icon being a placeholder, but the icon in red is an improvement IMO. The concept might be too detailed for the size this icon will be shown at though.
icon-concept-hb

It would be fun to try making 3d icons with animations for one of these editors in Blender at some point.

Edit: I made a PR to Runebender with just a basic form of this design for now.
rb-icon

eliheuer added a commit to eliheuer/runebender that referenced this issue Jul 14, 2021
This icon concept was suggested by Fredrick here:
MFEK/glif#119 (comment)
eliheuer added a commit to linebender/runebender that referenced this issue Jul 14, 2021
This icon concept was suggested by Fredrick here:
MFEK/glif#119 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants