[Pharo-dev] feenk log

Stephane Ducasse stepharo.self at gmail.com
Wed Oct 25 16:58:53 EDT 2017

On Wed, Oct 25, 2017 at 7:04 PM, Aliaksei Syrel <alex.syrel at gmail.com> wrote:
> 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 :)

Yes for the extras problems but you always have an idea of the base.

> 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.

I was wondering if the use of on:fork: would not help there.

> 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)
Ok you mean what glenn did. Ok sounds good. For me I would like to
have less concepts or similar libraries.

>  - 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 :)

Ok so this is reasonable.
I would add for version 1.0
Nice class comments

> Cheers,
> Alex
> On 25 October 2017 at 18:48, Aliaksei Syrel <alex.syrel at gmail.com> wrote:
>> Hi Denis,
>> The reason for BlVector2D is that we also have BlVector3D.
>> In case of translation a Point (x at 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 at 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

More information about the Pharo-dev mailing list