Hi all,
I localized the bug of Mondrian, As Alex said, width and height are stored in cache, so a script like this work fine:
====== |view o | view := MOViewRenderer new. o := OrderedCollection new: 100. 1 to: 100 do:[:i | o add: i]. (view shape: (MORectangleShape new width: [:e | (Delay forMilliseconds: 50) wait. 200]; height: 200; withBorder; borderColor: [:e | Color gray])). view nodes: o. view layout: (MOGridLayout new gapSize: 1). view open ======
It is slow to generate, then it scroll well.
Now, if I do the same thing with a Delay in the block of borderColor:, the visualization is dead. ====== |view o | view := MOViewRenderer new. o := OrderedCollection new: 100. 1 to: 100 do:[:i | o add: i]. (view shape: (MORectangleShape new width: [:e | 200]; height: 200; withBorder; borderColor: [:e | (Delay forMilliseconds: 50) wait. Color gray])). view nodes: o. view layout: (MOGridLayout new gapSize: 1). view open ======
This is the bug we have in Blueprint, in eDSM and all the visualization we made. I think shapes should keep these state and maybe react to announcement.
Cheers, --- Jannik Laval