r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 GUI]

Graham
18-Feb-2010
[837]
Presumably there are some fundamentals that have to be solved before 
the esthetics can be dealt with
Henrik
18-Feb-2010
[838]
Graham, correct.
Graham
18-Feb-2010
[839]
Any progress?
Henrik
18-Feb-2010
[840]
I'm busy with something else right now. Hope to continue tomorrow. 
Carl is working on docs.
Pekr
18-Feb-2010
[841]
good to hear Carl is documenting his ideas for the GUI. Is Cyphre 
already doing some low-level work? :-) Is there actually any priority 
for low level work? E.g. unicode display, better cross-platform font 
handling, draw improvements, transparent top windows, etc.?
Henrik
18-Feb-2010
[842]
Cyphre is down with the flu right now and a sporadic internet connection 
due to snow, so I have no immediate status of what he's doing, other 
than waiting for the host kit, but what he's shown me, based on a 
separate AGG build, shows that there are a lot of ideas for what 
to do.
Pekr
18-Feb-2010
[843]
some two or more weeks ago he told me he is working on some demo, 
showing some AGG capabilities. That is probably stuff you saw? Will 
it be demoed? :-) Or is it just internal build to have some ground 
for further architecture improvement talks?
Henrik
18-Feb-2010
[844x2]
He was testing the bottleneck for parsing and drawing DRAW blocks 
as quickly as possible, and he calculated that the bottleneck for 
PARSE was much lower than that for AGG's draw routines, so it didn't 
make much sense to have to avoid PARSE according to his measurements. 
It might still become possible anyway to bypass PARSE, but I'm not 
sure.
The separate AGG build is just there until he can get a hold of the 
host kit and to test ideas.
Pekr
18-Feb-2010
[846]
So getting View under the wraps of the command! Extension interface 
is absolutly essential in order to proceed ....
Henrik
18-Feb-2010
[847]
on a low level yes. on VID level, there's more than enough to do.
Pekr
18-Feb-2010
[848]
Henrik - will you restart your "teaser" screenshot web, as you proceed? 
:-)
Henrik
18-Feb-2010
[849x2]
yes, I can put one up now
Done... not very exciting to look at. :-)
Pekr
18-Feb-2010
[851x2]
ah, the first one :-)
So you started styling from scratch? Looks a bit different to your 
initial work, no?
Henrik
18-Feb-2010
[853]
no, just 5 minutes of work to get rid of Carl's fancy colors, while 
we do various GUI testing.
Graham
19-Feb-2010
[854x2]
that was a prototype color scheme wasn't it?
Whats the URL to the screenshots?
Henrik
19-Feb-2010
[856x2]
yes, prototype color scheme. nothing serious.
http://rebol.hmkdesign.dk/files/r3/gui/
Graham
19-Feb-2010
[858]
Reactors - page moved
This page is being moved to the new R3 document wiki.

Where is the new wiki?
Andreas
19-Feb-2010
[859]
graham: http://www.rebol.com/r3/docs/, i guess
Henrik
23-Feb-2010
[860x2]
I guess we need some more public tasks, to keep moving. We're contemplating 
messaging between faces and I've written something up in the specs 
document, although I think it's a bit too complex. How does one face 
communicate with another in a simple way? The trick is to both keep 
it simple inside the style design and layout specification. Ideas?
http://rebol.net/wiki/R3_GUI_Specs#Face_attachment
GiuseppeC
23-Feb-2010
[862]
Henrik, a question: currently I see a trend to adopt animated background, 
animated gui elements, animated transitions and sometime 3D ebjects/effects 
in the interfaces. Do you think they could be possible in the next 
R3 GUI ?
Henrik
23-Feb-2010
[863]
they are partially possible as you can see in the built in demo in 
R3, but I haven't studied them closely. I don't think we can do this 
in the beginning, but I think it should be possible to do something 
similar to Core Animation in MacOSX, where shapes, colors and transparency 
can automatically transition between two states. I wrote up some 
quite detailed specs on this a few years ago.
Pekr
23-Feb-2010
[864]
Henrik - have you received any docs on GUI from Carl yet?
Henrik
23-Feb-2010
[865]
nope
Pekr
23-Feb-2010
[866]
Hmm, my question was related to your "face communication" question. 
IIRC, there was nothing like that in prior R3 GUIs .... I wonder 
what do we need it for? I went thru your docs, and they look kind 
of complicated, but maybe those are just detailed and the stuff is 
really needed, so I don't want to judge it preliminarly ...
Henrik
23-Feb-2010
[867x2]
there was actually something in Gabriele's GUI, but it was very complicated 
to work with.
it's needed to provide automatic messaging between faces, so you 
can for example co-relate the data output of a face (scroller) with 
the y-offset of a panel. This is not very well formalized right now.
Pekr
23-Feb-2010
[869x2]
I stand corrected, the 'attach keyword is there. Actors/reactors 
are a good idea.
on-attach, on-detach seems the way to go. But maybe I just don't 
understand, what do you miss with the current design?
Henrik
23-Feb-2010
[871]
there's not much missing. I'm just asking if anyone knows a way to 
simplifiy it.
GiuseppeC
23-Feb-2010
[872]
Thanks henrik, it is obvius those are not meant to be included in 
the first instance. However I keep in mind the multi-year target: 
have a modern GUI suitable for all computing platforms.
Pekr
23-Feb-2010
[873]
In demo I can currently see, that you can attach e.g. slider to progress 
bar. It is done in a VID dialect level (reactor?). Then setting the 
slider value will cause on-attach event to be executed?
Henrik
23-Feb-2010
[874]
The way it's done now, it's treated as a bit of a special case: when 
a scroller occurs, it will try to attach itself onto a face that 
has a specific actor, on-scroll (I think it is). I don't like this 
method as it only reveals itself through the style code as a special 
case. There can be hundreds of other ways to attach styles to eachother, 
so there needs to be a generic way to do it.
Pekr
23-Feb-2010
[875]
... understood ...
AdrianS
23-Feb-2010
[876]
is Maxim's Liquid stuff not a good source of inspiration for this 
kind of thing?
Henrik
23-Feb-2010
[877]
it might be
Pekr
23-Feb-2010
[878]
I think that liquid might be complete engine, which does not make 
sense to use only some ideas from, but dunno. Max would have to comment 
...
Gregg
23-Feb-2010
[879]
Thanks for bringing this up Henrik.  I was going to say the same 
thing about Max's work. His is a general data flow engine. As usual, 
I think the first step is to clearly define the goal. If REBOL is 
about messaging, attaching faces is a very special case. Even limiting 
the recipient of a message to being a face, you might want more than 
a direct facet mapping.
Henrik
23-Feb-2010
[880x2]
As I see it, you would want to map any facet in face 1 to any facet 
in face 2. Afterwards, you can judge whether that makes sense or 
not. This could be by checking for accepted datatypes in the target 
face at attach-time, but maybe that's too simple?


Also facet attachment should happen on as many faces as you need. 
If you want a slider to control 20 other faces with different facets 
as input and output, that should be possible. It's starting to look 
like a flow engine, so maybe we should take a look at what Maxim 
has done.
Another issue is that while this should be simple to do in the dialect, 
it should also be possible to create and destroy connections during 
runtime and make it abstracted enough to be possible to do with a 
GUI editor.
Gregg
23-Feb-2010
[882]
Yes, we are on the same page. I see this as built upon a messaging 
infrastructure. It doesn't need to be elaborate today, in what it 
supports, but the design should allow us to extend and build on it. 
i.e. we need a message bus that we can tap into, inside an app, interprocess, 
and distributed.
Henrik
23-Feb-2010
[883]
What I've noticed about Carl's styles is that he tries to do as much 
of that intra-face communication inside the styles.


That is simple to do at first, but doesn't scale very well, because 
we will have a lot of different styles.


Still, some parts could be inherent to the face or style, in that 
the face or style holds a list of actions to perform and then some 
type of evaluator (I've never built these things, so I don't know 
what to call it). There is DO-STYLE, but a formalization of how to 
store the actions inside the face is needed, both when specifying 
face attachments in the layout and when accessing the face attachments 
using a general access function like DO-STYLE or DO-FACE.


The formalization is needed to allow a scalable number of actions 
or attachments stored in each face. This could simply be a block 
of blocks or functions that are bound to both source and target face. 
In order to trigger the action, just DO the block or function and 
the magic unfolds.
Pekr
24-Feb-2010
[884]
Whatever we come up with, it should not be too much complex. Elements 
should be able to register/unregister to particular messages and 
receive events. The engine should be well isolated. Of course the 
question is, where does it lead us :-) We will have to wait for Max, 
to explain us liquid. But - Carl is always right in one aspect - 
if you can't understand the code in few hours, then it is wrong and 
noone will be able to understand it.
Claude
25-Feb-2010
[885]
could you have gui for other os (linux and osx) now ?
Pekr
25-Feb-2010
[886]
Probably not until it moves to be an Extension and part of the hostkit?