Hi Stef,

In this email I will enumerate what features are missing that we are aware
of. The problem is that we discover what we need spontaneously during
experiments and not beforehand :)

Missing / broken
 - error handling library. If there is an exception during event handling
or rendering, Bloc's UI thread stops and we have to reset the universe.
Sometimes errors cause "infinite" spawn of debuggers.
 - transformations (scale, translate, rotate) animations don't work now,
because I still need to finish interpolation of matrix decomposition.
 - there is a bug with drawing invalidation when element has rotation
transformation.
 - gradient backgrounds can only have fixed size (origin/corner) and can
not scale according to element's size.
 - event propagation mechanism should be implemented on top of Announcer
and not using our custom one (there was a discussion about this on dev
mailing list)
 - Sparta/Cairo backend has not implemented fill path with image pattern
API method
 - FFI Callbacks crash VM on windows (I have my own FFI-only tests that
fail)
 - FFI external array can not handle booleans:

array := FFIExternalArray externalNewType: 'bool' size: 1. array at: 1 put:
true. array at: 1 "false"

More minor issues can be found on Bloc's github page
https://github.com/pharo-graphics/Bloc/issues

That is all from my side :)

Cheers,
Alex

On 25 October 2017 at 18:48, Aliaksei Syrel <alex.sy...@gmail.com> wrote:

> Hi Denis,
>
> The reason for BlVector2D is that we also have BlVector*3*D.
> In case of translation a Point (x@y) should be converted to (x,y,0). For
> scale it is converted as (x,y,1). You see, the same Point object has
> different meanings when it comes to different transformations.
>
> Additionally, Point does not represent the intent correctly because all
> affine transformations involve vectors. Of course, we made Vectors
> polymorphic with points, so users can write:
> element translateBy: (20@20) instead of element translateBy: (BlVector x:
> 20 y: 20).
>
> - How often this vector will be constructed by hands in user code? It is
>> related to my question about comma message: is it really needed?
>
>
> In lineare algebra vectors are represented as (x, y, z).  Beautiful!
>
> Cheers,
> Alex
>

Reply via email to