Hi Doru,

First, I understand the effort you all made to make this big piece of work.
I have however some questions that probably you can help with:

1) I understand Sparta is a library completely independent from Athens. But
I also understand that they follow the same reasoning and general design (a
general API to deal with 2D vectorial graphics with pluggable backends).
  - What are the differences between sparta and athens then? This is really
unclear to me. Are there differences in the API? in the internal backend
requirements?
  - In case there are many differences, What are the reasons that made you
implement a complete new library and not just extend the existing one
(Athens)?
  - or even, just make a moz2d backend for athens?

2) About moz2d. I understand how the build process you use works. But it
looks a bit fragile. You mention engaging the mozilla people. I think this
is really important,
  - either they could propose an alternative solution to what you're doing
  - or, if you contribute back your patches to mozilla (which I think you
should), this will make your process depend less on custom-made patches
  - besides, creating a link between the two communities is probably worth
it: people in mozilla may consider how their changes impact their users.

Guille

On Wed, Jan 25, 2017 at 12:41 PM, Tudor Girba <tu...@tudorgirba.com> wrote:

> Hi,
>
> Thank you for the intensive set of issues you raised during the Bloc
> presentation. I think it is worthwhile addressing them more thoroughly, so
> let me start with the issue that seemed to have caused the most worries:
> Sparta & Moz2D.
>
> Please keep in mind that while I am involved to some extent in Bloc, the
> real credits for the current state go to Glenn and Alex.
>
> Moz2D (https://github.com/mozilla/moz2d, https://wiki.mozilla.org/
> Platform/GFX/Moz2D) offers an advanced backend and using it puts us on
> par with the rendering speed of a web browser, which is a significant added
> value over what we have now.
>
> However, as it was noted, it does come with a cost due to the fact that it
> is not available as standalone with only the features we are interested in.
> The vector graphics part is actually buildable out of the box. However, the
> text support needs to be extracted out of Moz2D, and this is where the
> patching scripts are used. The patches are there only for compilation
> purposes and not for features and they are applied automatically. You can
> see it here:
> https://github.com/syrel/Moz2D
>
> Alex updated recently the Moz2D version and it worked without problems. Of
> course, future changes in Moz2D might imply changes in this script as well,
> and this implies that we will need to maintain that script. And we could
> imagine applying these patches on the trunk of Moz2D to see if they work,
> and we can also imagine engaging with the Moz2D owners to see if we can
> find a middle ground.
>
> Now, let’s put this into perspective. We are currently using Athens and
> the Cairo backend. While Cairo is provided as a standalone library it has
> not seen significant advances since Mozzila shifted its focus towards
> Moz2D. So, sticking with it might not be an ideal strategy either.
>
> Furthermore, just like Athens, Sparta is an abstraction that allows us to
> switch the underlying backend should we need to. Until now we did not find
> a cross-platform backend that is as advanced and complete as Moz2D, but
> there is no reason to think that none other will appear in the future. Skia
> is an alternative but it is only a vector graphic engine without text
> support, so using it would imply to have another library for the text
> support.
>
> Sparta also comes with a reasonable set of tests that is aimed at testing
> the basic Moz2D functionality to make sure that the assumptions on top of
> which Sparta is built are correct.
>
> All in all, I think that the current situation is not ideal, but there is
> already enough engineering in place to actually make it work. And I
> definitely think that the potential it opens is rather significant.
>
> And, if more people look at the scripts, we might find even better and
> cheaper ways to express it.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "We cannot reach the flow of things unless we let go."
>
>
>
>
>
>

Reply via email to