On Wed, Oct 25, 2017 at 7:04 PM, Aliaksei Syrel <alex.sy...@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.sy...@gmail.com> wrote: >> >> Hi Denis, >> >> The reason for BlVector2D is that we also have BlVector3D. >> 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 > >