World: r3wp
[!Liquid] any questions about liquid dataflow core.
older newer | first last |
Maxim 2-Mar-2009 [679x5] | 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. | |
Josh 6-Mar-2009 [701] | That's neat! I will try not to set them to non integers! ;-) j/k I'll have to see how it all works under the hood, once I get it |
Maxim 6-Mar-2009 [702x2] | it will definitely be available tonight. btw, I found and squashed a little but in liquid, so will also release a newer version on rebol.org when I release the example. |
I am now in the process of adding a skill editor (note, not in any way a valid D&D chargen, just a simple example to understand by anyone). | |
Josh 6-Mar-2009 [704] | Congrats on the bug squashing. Just save some work for me to do! :) |
Maxim 6-Mar-2009 [705x2] | hehe it was really minor, but probably something that's caused me some headaches in the past. wouldn't have been possible without slim's verbose printing management :-) |
(finding the bug, that is) | |
Maxim 7-Mar-2009 [707x3] | the example is DONE, it has MANY interconnected plugs which handle all maner of data integrity, button style effects, even disabling some buttons, when values get out of bounds! built with VID, latest version of liquid. |
currently working on updating the stuff to rebol.org. | |
will also add a little integrated lib downloader.... to make it extra easy to use. | |
Ammon 7-Mar-2009 [710] | Sweet! I'll be playing with it this weekend. =D |
Maxim 7-Mar-2009 [711x2] | (in example app) |
the code isn't intended to be compact... the goal is to help people understand. I added a few comments which explain what/how/why some of the things. | |
Ammon 7-Mar-2009 [713] | How hard do you think it's going to be for you to port Liquid to R3? |
Maxim 7-Mar-2009 [714x6] | I might also add a doc to explain some of the unobvious technical merits of the example. people can say: "All that code just for that?" if they don't understand what is going on. |
liquid R3... it could go really well, as it could be a bitch... if one little detail in a function breaks up the integrity of the whole. | |
the beauty of liquid is that broken code doesn't work, the side effect is that working code is unbreakable. | |
you can't "forget" to update something, everything is broken up into little systems. the systems don't grow, you only have more of them, which is easier to manage and design, IMHO. | |
the one lib i can't wait to port is glob. its like super gob, already in R2. | |
so in R3 its just going to be sooooo much faster. | |
Ammon 7-Mar-2009 [720] | You have such a strange way of wording things some times. "broken code doesn't work, the side effect is that working code is unbreakable" I'm not really sure what that means... |
Maxim 7-Mar-2009 [721] | hehehe... means a system doesn't work at all until it does... and from that point on... its almost impossible to mess up. |
Josh 7-Mar-2009 [722] | Where is the example? |
Ammon 7-Mar-2009 [723x2] | What I've seen working in Liquid really is phenominal but I've never really groked it so I was never able to figure out where to start when I tried to build things with it. |
I'm hoping this example of yours will break the ice for me. | |
Maxim 7-Mar-2009 [725x2] | you just move on, and forget what has been done so far. adding stuff to a system, doesn't mean patching old code. it simply means tacking new systems to the old, and deciding how they relate. |
tacking = adding | |
Josh 7-Mar-2009 [727] | and apparently I missed the message saying you were uploading it |
Maxim 7-Mar-2009 [728] | hehe. I am just doing so... new version of slim just got uploaded (minor changes), liquid is almost ready. |
older newer | first last |