-
Notifications
You must be signed in to change notification settings - Fork 252
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
Port and integrate the Artist library with elements #219
Comments
The checklist above is the w3c "canvas" feature set. Not all of these are supported by Artist, and there are some, such as advanced typography, that w3c does not support. |
So this is the current state of what is in elements that artist requires, plus a few more low-hanging fruits. Some will not be implemented if they are not directly available in cairo (e.g. shadows; there are hacks but very slow, it's not worth it). The tricky part that will take time is not really part of w3c canvas: text layout and typography. The Skia port uses harfbuzz text shaping library; very powerful, The Quartz-2D port uses its native text layout engine, also very powerful. I suppose the Cairo port can also use harfbuzz. But I am increasingly losing interest in continuing this Cairo backport, and instead I am leaning towards devoting my time on directly going to Artist with Skia/Quartz-2d. There's still so much to do, and time spent on backporting can instead be allocated to more important matters. Cairo is a dead-end to me anyway. Cairo development is stagnant. Your thoughts? Is the Cairo Artist backport still worth pursuing? |
What's the reason for going with W3C canvas API? Do you want to have 1 common interface for multiple (including possibly custom) implementations or "the only implementation"? |
Because it makes sense? I'll throw back a question to your question to my question: Why not? (I don't think I understand your second question, but both of these seem irrelevant to my original question) |
Why not implement a full HTML-based UI then? There are a couple of ideas like this: HTML for layout, CSS for styling, C++ instead of JavaScript. I have seen at least 1 commercial library doing this. The advertising is basically "capable of rendering any webpage layout but with much more performant logic". |
I get that you searched for any standard, or to have a starting point - but IMO HTML5 canvas might be too far different, just like web tech is very far from C++. I would rather look at multiple graphic libraries and try to find a common API between them. |
@Xeverous these topics are irrelevant at this point. Please do not hijack the topic and move it in another direction. If you want to implement a full HTML-based UI, be my guest. If you want to build your own API, be my guest. But that is not the topic here. Nor is the API being questioned here. These are design decisions done very early on. |
To be honest, It's tempting to answer your questions, but I do not want to digress. |
I would keep cairo - even if it's subpar to skia one can always have an extra implementation, maybe for dependency reasons or whatever similar. Maybe just to try out the library in case someone has cairo (as its pretty old and could be easily apt-get'd) and does not want to build other implementation. |
Some comments in the Discordchat room: RedTideToday at 3:41 PM @redtide Cairo is abstracted away by the w3c canvas API, in most part. Remember, Elements did not start with Cairo. It actually started with NanoVG. There's one part that directly uses Cairo: text layout. But that will have to be replaced anyway with the switch to Artist. jpcimaToday at 4:56 PM djowelToday at 4:58 PM jpcimaToday at 5:01 PM djowelToday at 5:03 PM jpcimaToday at 5:06 PM djowelToday at 5:08 PM jpcimaToday at 5:08 PM djowelToday at 5:09 PM jpcimaToday at 5:09 PM djowelToday at 5:10 PM jpcimaToday at 5:19 PM RedTideToday at 5:19 PM djowelToday at 5:20 PM alexmitchellmusToday at 5:21 PM djowelToday at 5:22 PM alexmitchellmusToday at 5:23 PM djowelToday at 5:24 PM alexmitchellmusToday at 5:25 PM https://www.reddit.com/r/raspberry_pi/comments/cfdxpk/skias_nanobench_results_on_rpi4/ RedTideToday at 5:25 PM djowelToday at 5:26 PM alexmitchellmus RedTideToday at 5:29 PM RedTideToday at 5:42 PM djowelToday at 5:43 PM RedTideToday at 5:45 PM djowelToday at 5:45 PM RedTideToday at 5:46 PM djowelToday at 5:46 PM RedTideToday at 5:46 PM djowelToday at 5:46 PM RedTideToday at 5:47 PM djowelToday at 5:48 PM |
Closing this now. So the consensus is to no longer support Cairo. |
Integrate the Artist library with elements
The text was updated successfully, but these errors were encountered: