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

World: r3wp

[!Liquid] any questions about liquid dataflow core.

Maxim
27-Feb-2009
[651x3]
with a gui.
I'ts going to be View only (actually probably direct faces)
in order to leave any gfx issues out of the understanding of the 
tool.
Josh
27-Feb-2009
[654]
sure, of course
Maxim
27-Feb-2009
[655x4]
I also have a simple graphics package which uses AGG directly with 
liquid, so I'll use that to further show liquid ties in from end-to-end.
basically, the gui will be plugged-in to the aspects directly, and 
the aspects data entry will also be plugged-in directly to the gui 
 :-)
no VID.  just AGG  ;-)
ok, well... guess I'm going to log off now... I have work to do! 
 ;-)
Josh
27-Feb-2009
[659x2]
SOunds great!  If you can't get it finished, at least show me a sizable 
component of it so I can get some ideas
:-)
Maxim
27-Feb-2009
[661x3]
what I'll do is post all of this on rebol.org, so the whole world 
gets  a view of it  :-)
I've been wanting to do this for ages.... but having someone actively 
looking out for it... makes it much more compeling to do  ...
I'll announce it here when the first parts are available.
Josh
27-Feb-2009
[664]
hehe, just remember, I'm stuck here doing nothing until you finish 
;-)
Maxim
27-Feb-2009
[665]
yep.
Josh
27-Feb-2009
[666]
i'm excited
Maxim
1-Mar-2009
[667x4]
I'm working on it...  :-)
I have a double set-back though... the old aspect code was for a 
previous version of liquid...
and it was profoundly prototypish, I realise.  not enought comments 
for me to even remember how to use... so I'm scanning my old test 
code in order to make it much more usable.
note... the test application is called glass.r   ( an infamous name 
if there is one  ;-)
Josh
1-Mar-2009
[671x3]
hehe, yeah, I'm starting to finally fix all my poor coding practices, 
especially with naming.   Anyways, sounds good,  again, you don't 
need to do the whole char gen or anything, but just a good chunk 
for me to see how to put things together
One note:  on http://www.pointillistic.com/open-REBOL/moa/steel/liquid/plug/plug-reference.html
 when I use Opera, nothing after section 2.1.1 gets displayed.  Works 
fine in Firefox though
But I want to see glass.r ;-)
Maxim
1-Mar-2009
[674x4]
strange, cause its a static html page ... just one or two table.... 
in this case... I must say that opera seems to be the issue  ;-)

did you try reloading the page?
btw wrt the old code, I realised the issue... I had cleaned up the 
lib, and stopped half way....   so the naming changed, a few features 
missing... :-(
fixing it up... will have something during the week..  its the fabled 
week of at school... so I'll have my kids with me the whole week...
of = off
Maxim
2-Mar-2009
[678x6]
ok, so I have something to send to you... what I have is not really 
usefull to send to rebol.org without any kind of discussion, documentation. 
 I did something different than expected.  I just built a simple 
dataflow driven fsm engine which switches aspects on demand.  then 
I defined aspects which operated on a face, and made a very simple 
feel which sets the various states.
this is the whole feel:
	feel: make feel [
		engage: func [face action event][
			switch action [
				down [fsm/set-state 'pressed]
				up [fsm/clear-state 'pressed]
			]
		]
		
		over: func [ face action pos][
			either action [
				fsm/set-state 'over
			][
				fsm/clear-state 'over
			]
		]
	]
the dataflow takes care of calling any aspect which are built up 
from linked nodes.  basically, you build up a stylesheet by connecting 
nodes together and can branch off at any point, simply reusing the 
previous styles as a base... the cool thing is that the styles aren't 
absolute, you can define more than one style for a single state, 
so that a series of nodes can handle only the edge, others the color, 
yet you can include both in another style  (in my case, the base 
style has both)
I'll add a few more aspects to the system to show how this all scales, 
tomorrow and send you a copy.   :-)
next step will be to add some data to manipulate... I'll do a character 
attributes builder.  all 6 stats with a +/- counter besides each 
which you press and all the display magically adapts, even stopping 
the buttons when out of range, or no more points to attribute   :-)
all is built using direct faces... no VID no GLayout... just make 
face []   so you can understand exactly what happens, and realize 
how easy it is to replace VID, even in R2.
Josh
2-Mar-2009
[684x2]
So are you not using !plug for the examples?s
Or your just talking about the graphical portion?
Josh
5-Mar-2009
[686x2]
Any news?   I'm curious to see your examples...
Sometimes I wish there was a delete button for messages I type, got 
some dumb ones from time to time
Maxim
5-Mar-2009
[688x4]
hehe, while working on stuff, I suddently entered one of those rare 
brainstorming states... so I've basically been in my mind for the 
last 3 days... but I now have a nice roadmap for something that will 
help me to make clear examples or liquid.
or = of
plus, its spring break and I'm with my kids... so taking time with 
them.
ok, so I have a bit of spare time tonight and will build you a stand-alone 
example of a small RPG character editor.   Using !plug objects directly, 
so you can see the process of subclassing the core plug to have it 
do something usefull.
Josh
6-Mar-2009
[692]
Awesome!  I understand the busyness.  I am in the midst of my final 
semester of my master's program.   Enjoy your time with your kids!
Maxim
6-Mar-2009
[693x2]
did most of the work yesterday, and will revise it to use VID.  it 
just going to take a little less code.  I think.
yippe, I'm almost done  :-)
Josh
6-Mar-2009
[695]
Wonderful :)
Maxim
6-Mar-2009
[696x5]
its already working, but will add a few gizmos to give it more depth. 
  liquid makes more and more sense, as an application grows.


so adding a few features will show you how simple an application 
remains, even when many things interdepend.
right now I have str, dex, int fields, which cannot contain anything 
else than an integer value, and which are bounded in value...

the detail here is that the bounding is NOT done in the field, but 
at the value level itself.  nothing can cause the data to be invalid.
not even trying to set it with the wrong data type!
it will just fall back to values within bounds, or the the previous 
value otherwise.
and the field, thus gets refreshed since its piped to the value.