Hi,

Yes, Sparta is independent from Athens. We actually started originally from 
Athens with a few modifications, but that soon proved to not be feasible 
because Athens also has to accommodate Morphic while Bloc is being developed.

Sparta has a similar structure and intent as Athens, but it differs in some 
essential ways:
- it has local coordinates.
- it offers clipping based on arbitrary shape, not only rectangle.
- it is for the most part stateless which makes it more suitable for composing 
independent visual pieces. This one in particular influences the public API.

About engaging the Moz2D community, we can work on that.

Cheers,
Doru


> On Jan 25, 2017, at 1:52 PM, Guillermo Polito <guillermopol...@gmail.com> 
> wrote:
> 
> 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."
> 
> 
> 
> 
> 
> 

--
www.tudorgirba.com
www.feenk.com

"We are all great at making mistakes."









Reply via email to