Hi, Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list Please let us know if you see an issue with this. In the meantime, letâs start. Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples. Cheers, The feenk team -- www.tudorgirba.com www.feenk.com "Being happy is a matter of choice."
Hi. Good initiative. Here is my twitter questions: - What the reason to introduce BlVector2D instead of using existing Point? - 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? Now you can evaluate (10*,* 20) to get vector instance. And if it is only to simplify scripting and examples then why not use Point for this? As you said point can be converted to vector. Best regards, Denis 2017-10-25 17:53 GMT+02:00 Tudor Girba <tudor@tudorgirba.com>:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
Denis Kudriashov wrote
Good initiative.
+1 :) Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out? 2. Is there an equivalent to Morphic-stepping? ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Hi,
On Oct 25, 2017, at 8:11 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Denis Kudriashov wrote
Good initiative.
+1 :)
Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out?
We now have BlScalableElement which handles the zooming. The next thing is to attach animations to it.
2. Is there an equivalent to Morphic-stepping?
Yes, but this is achieved by attaching an animation to the element. However, right now, due to changes in transformations, animations are not working. They should be back soon. Cheers, Doru
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
-- www.tudorgirba.com www.feenk.com "Reasonable is what we are accustomed with."
2017-10-25 22:00 GMT+02:00 Tudor Girba <tudor@tudorgirba.com>:
Hi,
On Oct 25, 2017, at 8:11 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Denis Kudriashov wrote
Good initiative.
+1 :)
Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out?
We now have BlScalableElement which handles the zooming. The next thing is to attach animations to it.
I expected that any element can be scalable because transformation is part of it. Am I wrong?. Then what the purpose of this subclass? Is it for convenience or there is some important logic inside?
2. Is there an equivalent to Morphic-stepping?
Yes, but this is achieved by attaching an animation to the element.
However, right now, due to changes in transformations, animations are not working. They should be back soon.
Cheers, Doru
----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.
html
-- www.tudorgirba.com www.feenk.com
"Reasonable is what we are accustomed with."
Tudor Girba-2 wrote
We now have BlScalableElement which handles the zooming
Gotcha. So an entire "World" (I'm assuming that's a Bloc Space?) can be zoomed in and out? ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
On Thu, Oct 26, 2017 at 4:00 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
On Oct 25, 2017, at 8:11 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Denis Kudriashov wrote
Good initiative.
+1 :)
Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out?
We now have BlScalableElement which handles the zooming. The next thing is to attach animations to it.
and...and...and... can it zoom via the mouse-wheel? Or is support for this planned / what are the issues? cheers -ben
I think that testing more SDL and using it will help there. On Fri, Oct 27, 2017 at 4:50 AM, Ben Coman <btc@openinworld.com> wrote:
On Thu, Oct 26, 2017 at 4:00 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
On Oct 25, 2017, at 8:11 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Denis Kudriashov wrote
Good initiative.
+1 :)
Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out?
We now have BlScalableElement which handles the zooming. The next thing is to attach animations to it.
and...and...and... can it zoom via the mouse-wheel? Or is support for this planned / what are the issues?
cheers -ben
Hi, The BlScalableElement is a utility element that zooms the elements inside. Indeed, all elements can be transformed, but this is a low level ability. The ScalableElement allows us to think in terms of elements, and strategies of zooming. The mouse wheel is an event issue that can be added on top. Cheers, Doru
On Oct 27, 2017, at 4:50 AM, Ben Coman <btc@openInWorld.com> wrote:
On Thu, Oct 26, 2017 at 4:00 AM, Tudor Girba <tudor@tudorgirba.com> wrote: Hi,
On Oct 25, 2017, at 8:11 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Denis Kudriashov wrote
Good initiative.
+1 :)
Denis Kudriashov wrote
Here is my twitter questions:â¦
Mine are: 1. Is it possible/easy/smooth to zoom in/out?
We now have BlScalableElement which handles the zooming. The next thing is to attach animations to it.
and...and...and... can it zoom via the mouse-wheel? Or is support for this planned / what are the issues?
cheers -ben
-- www.tudorgirba.com www.feenk.com "Beauty is where we see it."
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult. On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
Doru having a few tweets is nice but I do not think that you communicate well around bloc. What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0. Not measuring is the best way to arrive to a point where you did not wanted. You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts. Stef Stef On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
Personally (10, 20) for a vector is not really nice and I would really like to have a discussion before. On Wed, Oct 25, 2017 at 6:45 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru having a few tweets is nice but I do not think that you communicate well around bloc.
What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0.
Not measuring is the best way to arrive to a point where you did not wanted.
You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts.
Stef
Stef
On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
Personally (10, 20) for a vector is not really nice and I would really like to have a discussion before.
+1 !!!! The Pharo syntax should remain an asset, not become a trap. Alexandre
On Wed, Oct 25, 2017 at 6:45 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru having a few tweets is nice but I do not think that you communicate well around bloc.
What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0.
Not measuring is the best way to arrive to a point where you did not wanted.
You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts.
Stef
Stef
On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
Hi, That is the point of making fine grained things explicit: to have the chance to disagree and discuss :). I will spawn a separate thread. Doru
On Oct 25, 2017, at 7:42 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Personally (10, 20) for a vector is not really nice and I would really like to have a discussion before.
+1 !!!!
The Pharo syntax should remain an asset, not become a trap.
Alexandre
On Wed, Oct 25, 2017 at 6:45 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru having a few tweets is nice but I do not think that you communicate well around bloc.
What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0.
Not measuring is the best way to arrive to a point where you did not wanted.
You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts.
Stef
Stef
On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
-- www.tudorgirba.com www.feenk.com "Don't give to get. Just give."
Hi Stef, The log is not a replacement of the roadmap. It is only to help people see what we do live. The roadmap and documentation are coming as well, but these are separate. Cheers, Doru
On Oct 25, 2017, at 6:45 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru having a few tweets is nice but I do not think that you communicate well around bloc.
What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0.
Not measuring is the best way to arrive to a point where you did not wanted.
You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts.
Stef
Stef
On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
-- www.tudorgirba.com www.feenk.com "What we can governs what we wish."
Ok :) Stef On Wed, Oct 25, 2017 at 7:58 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi Stef,
The log is not a replacement of the roadmap. It is only to help people see what we do live.
The roadmap and documentation are coming as well, but these are separate.
Cheers, Doru
On Oct 25, 2017, at 6:45 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru having a few tweets is nice but I do not think that you communicate well around bloc.
What I would like to get is a roadmap for Bloc V1.0. - Here are the missing features (documentation), - Here are where we are. Because else it feels like Bloc will never ends. You will argue and tell me that you experiments. But without a feature list then people cannot join and do not know when you get a 1.0.
Not measuring is the best way to arrive to a point where you did not wanted.
You see for Brick we need Button CheckBox DropList List Table Pane InputField Text Scrollbar Menu And with that we can get a first Widget set. But again without a roadmap I have some doubts.
Stef
Stef
On Wed, Oct 25, 2017 at 6:38 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Doru using comma for creating vectors is not really because it will just make the life of type inferencers more difficult.
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
-- www.tudorgirba.com www.feenk.com
"What we can governs what we wish."
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
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.syrel@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
On Wed, Oct 25, 2017 at 7:04 PM, Aliaksei Syrel <alex.syrel@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@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
Hi, Good work, In PolyMaths/SciSmalltalk vectors and matrix are already implemented efficiently. I would recommend to share the same implementation. In the next few years, I think we will improve the performance of those vectors/matrix library using the processor vector instructions, and it would be nice if we have to improve one but not two libraries of vectors and matrix (This is the polie way of saying I am going to improve one library and the others will have to do it themselves). Regards, On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
-- Clément Béra Pharo consortium engineer https://clementbera.wordpress.com/ Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq
Hi Clément, I did not know that you had an interest in optimizing vector and matrix operations. Awesome! We definitely want to take a look at synergies. These low level things are needed for Bloc, but they definitely do not have to be in Bloc. Doru
On Oct 26, 2017, at 8:15 AM, Clément Bera <bera.clement@gmail.com> wrote:
Hi,
Good work,
In PolyMaths/SciSmalltalk vectors and matrix are already implemented efficiently. I would recommend to share the same implementation. In the next few years, I think we will improve the performance of those vectors/matrix library using the processor vector instructions, and it would be nice if we have to improve one but not two libraries of vectors and matrix (This is the polie way of saying I am going to improve one library and the others will have to do it themselves).
Regards,
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote: Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
-- Clément Béra Pharo consortium engineer https://clementbera.wordpress.com/ Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq
-- www.tudorgirba.com www.feenk.com "To lead is not to demand things, it is to make them happen."
Hi Doru, you say BLVector is implemented as having instance vars x,y instead of using an Array (like polymath), i guess perhaps because of speed considerations? but i wonder why you then dont use FloatArrays for vectors, their precision, although generally bad, is sufficient for graphics and they are faster for vector operations? werner
On Thu, Oct 26, 2017 at 2:15 PM, Clément Bera <bera.clement@gmail.com> wrote:
Hi,
Good work,
In PolyMaths/SciSmalltalk vectors and matrix are already implemented efficiently. I would recommend to share the same implementation.
By this, you mean move the "base" vector/matrix objects from there into Pharo? This makes a lot of sense. These are applicable to a lot of applications, and having them in-Image obviously helps focus efforts and reuse. These could just have the minimal methods required by Bloc, with PolyMaths/SciSmalltalk extending them with more exotic operations.
In the next few years, I think we will improve the performance of those vectors/matrix library using the processor vector instructions, and it would be nice if we have to improve one but not two libraries of vectors and matrix (This is the polite way of saying I am going to improve one library and the others will have to do it themselves).
Regards,
On Wed, Oct 25, 2017 at 5:53 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
Our team is working on a couple of projects that are relevant for the core of Pharo, namely GT and Bloc/Brick. At ESUG we were asked by several people, and Stef in particular, to make the progress on these projects more transparent. To this end, we will start two streams of signals: - fine grained info bits on out Twitter account (several times a week): https://twitter.com/feenkcom - a less often but regular (probably every 2 weeks) activity log message sent to this mailing list
Please let us know if you see an issue with this.
Good initiative, and already getting to useful collaboration. btw, I know sharing opens up to nit picking that can be discouraging, as we've seen other tools you've introduced in the past get a bit of a beating at the transition stage - but your vision and good work has borne through and now these are tools we now can't live without! So keep up the good work. cheers -ben
In the meantime, letâs start.
Bloc: - Over the past couple of weeks Alex worked on transformations and measurements in the core system. It turns out that there was room for quite a number of performance optimizations and for making the system more debuggable. - At the low level, this involved adding matrix and vector support. https://twitter.com/feenkcom/status/923123870537863168 https://twitter.com/feenkcom/status/916300180848349185 - At a higher level, it implies keeping track of measurements https://twitter.com/AliakseiSyrel/status/915203525931622400 - And of transformations: https://twitter.com/feenkcom/status/919603739656417281 https://twitter.com/feenkcom/status/917116164484096001 - The BlScalableElement is now working properly
GT Examples: - The current repository with unary-based examples is at: https://github.com/feenkcom/gtoolkit-examples - We now have a runner in the inspector that allows us to both see the source code and run and play with the resulting object: https://twitter.com/feenkcom/status/923210686204989442 - Andrei made the âafterâ behavior to work with unary examples.
Cheers, The feenk team
-- www.tudorgirba.com www.feenk.com
"Being happy is a matter of choice."
+1
participants (9)
-
Alexandre Bergel -
Aliaksei Syrel -
Ben Coman -
Clément Bera -
Denis Kudriashov -
Sean P. DeNigris -
Stephane Ducasse -
Tudor Girba -
werner kassens