-
Notifications
You must be signed in to change notification settings - Fork 55
[Parley Draw]: Add Vello Copy #481
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
base: main
Are you sure you want to change the base?
Conversation
Please don't publish a crate called `unicode_data` if it's specific to your project.
4537fc3 to
f6f6df1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems reasonable as initial version.
However, I think we should eliminate the dependency on vello_common (except when using vello_cpu) sooner rather than later. Looks like it's just being used for the Pixmap type which is mainly being used for png decoding? IMO that doesn't justify the dependency.
xStrom
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vello copyright acknowledgement must remain.
Co-authored-by: Kaur Kuut <strom@nevermore.ee>
Co-authored-by: Kaur Kuut <strom@nevermore.ee>
Co-authored-by: Kaur Kuut <strom@nevermore.ee>
Co-authored-by: Kaur Kuut <strom@nevermore.ee>
Copying Vello's Text Logic to Parley Draw
To kick off implementation of Parley Draw, we're firstly copying over the Vello implementation.
EVERYTHING WILL CHANGE SIGNIFICANTLY (especially APIs!). For now, we're simply copying the code across for the purposes of using it as a foundation to build off and to allow us to start exploring hint aware shaping.
This approach has been OK'd by @dfrg .
Changes made to the copy
vello_cpu_renderexample that uses Parley Draw so that we can keep track of how the API evolves. After we're happy with Parley Draw, I recommend applying it to our other examples.vello_cpu's implementation ofGlyphRenderandColrRenderso that consumers aren't required to use it. However, we still depend onvello_common.Pixmaphasn't yet been moved fromvello_cputovello_commonin the latest 0.0.4 release.GlyphCachesintoGlyphRunBuilderinstead of having the trait own them. This reflects how we will eventually support sharing the hinting instance cache between the shaper and renderer. But, of course, this is all subject to change.Immediate Follow Ups
parleytests out toparley_testsand using Parley Draw for rasterising those tests (alongside additional draw only tests like COLR emoji rasterisation tests).Example
This is the output of the new example:
Reviews
Since most of this code has already been reviewed in Vello, I suggest we focus the review on the changes listed above.