[Morphic] Do morphs have locations or do locations have morphs? (longish reply to Matthew)

Juan Vuletich juan at jvuletich.org
Sat Jun 23 12:29:38 UTC 2007


Hi Jerome,

It seems we came to the same ideas independently!

I also had an "aha" moment when I realized that extent and coordinate 
system were intrinsic to the morph, but location was in fact external to 
it. Currently, in Morphic 3, location is an ivar in a Morph. But I 
didn't like it when I added it. Maybe it is best to do as you say, to 
relate morphs and locations in the tree.

I am really convinced these ideas deserve a lot of experimenting and 
more thought. Don't discard them. The effort is worth!

Matthew, could you elaborate a bit on "jiggly morphs" and 2.5 D? Aren't 
we in 2.5D?

Cheers,
Juan Vuletich

Jerome Peace escribió:
> Hi Matthew,
>
> Thanks for your interest. 
>
> The assertions comes from the comments I added to some
> (pseudo) code I wrote. And as this is still in the
> user story stage I blew one.
>
> "more than one morph may share a location." 
> Would have made more sense (to an outsider**) if I had
> said:
> "more than one submorph may share a location."
>  
> The hierarchy tree would be a morph layer then a
> location layer then the submorph layer etc.
> each morph and location (I am beginning to prefer the
> word place) can appear only once in the hierarchy and
> there can be no loops.
>
> Morphs themselves would not have intrinsic location
> just extent. Morphs wouldn't be anywhere until you put
> them some place.
>
> The other part of your question is answered by saying
> that locations are local.
> The owner of a location is a morph. The location is
> given in coords appropriate to its owners coordinate
> system. 
> The location is a place that can contain other morphs
> (each with their own coord systems)
> There is a decoupling between morphs and the location
> a morph is at.
>
> This would allow you to do interesting things. Which I
> am still working out in my head.
>
> What I was describing (probably poorly) was an aha
> moment. This may or may not pan out.
> Or it may pan out but not be worth the effort to
> implement.
>
> It certainly isn't meant to stand up to much scrutiny
> right at the moment.
> Indeed it isn't even at the level of a user story.
> (Which would describe what is desired)
>
> The user story is:
> I wish squeak didn't have all these bugs due to
> transformation morphs. And
> I wish squeak had polygon morphs and rectangle morphs
> that worked the same way when tilted or stretched.
> Particularly with respect to their embeded submorphs.
>
> There is a notion (in my head) that Morphic skipped a
> step by using rectanges as a basis for morphs without
> having a simple place morph based on a point.
>
> Based on work I've done on polygons and my (somewhat
> poor) understanding of what Juan is trying to
> accomplish I've come to an idea I think will prove
> important. Now comes the interesting part to see if I
> can make it work and find a way to make code and a
> morphic of it.
> Or to satisfy my curiosity and decide its not worth
> more effort. 
>
>
>
>
>
>
> ***
>   
>> [Morphic] Do morphs have locations or do locations
>>     
> have morphs?
>   
>> Matthew Fulmer tapplek at gmail.com 
>> Fri Jun 22 01:50:15 UTC 2007 
>>
>>
>>
>> On Thu, Jun 21, 2007 at 01:36:09PM -0700, Jerome
>>     
> Peace wrote:
>   
>>> assertions
>>>
>>> " each location in at most one morph"
>>>       
>> This assertion appears to conflict with
>>
>>     
>>> "a location is a sublocation of its owner"
>>>       
>> and 
>>
>>     
>>> "more than one morph may share a location."
>>>       
>> if one is using world-relative locations. Is this not
>>     
> the case?
>
> Nope see above.
>
>   
>> What is a location? Parent morph + relative 2d
>>     
> location?
>
> Hmm. The way I want to do it morphs don't have a
> location. They are at a location (that belongs to the
> next morph up the line.) The locations that a morph
> contains are relative to the morphs reference
> location. 
>
> So you could move the location inside its refence
> morph and everything at that place would move with it.
> Or you could  "beam" a morph from a location to
> another location (maybe at a different level) and that
> would also move everything belonging to the morph. 
>
> Righ† now we do something like that by flexing a
> morph.
> And then we unflex them when we are done. This hairs
> up the works. Thats because morphs are coupled to
> their location by ivars. If you break that coupling
> you gain something. The question is will it be enough
> to overcome the overhead of adding extra layers to the
> tree. This might come out either way.
>
> My instinct tells me I will at least learn something
> interesting by persuing this idea. There is a
> potential "big win" in terms of simplicity.
>
> Smalltalk afterall started as genius on the half page.
> It deserves to have "simplicity with great power
> attached to it" reflected throughout its design.
>
>
>
>
>
>   
>> Also, what is in a Parent morph? location + rotation
>>     
> + >shear + scale?
>
> I'm not sure yet. This is one of those things that
> won't settle down (and behave like a good idea) until
> I  play with it some more. The important thing at the
> beginning is to be wrong in interesting ways; try a
> lot; and learn things.  
>
>
>   
>> or is there some more general transform system that
>> could handle funky stuff like jiggly morphs, 
>>     
>
> Ha, what's a jiggly morph?
>
> or allow morphs to be 2.5d? That would be nice.
>
> Morphs are already 2.5d sort of kind of maybe?
>
> My original project was to implement a kissakae system
> in squeak.
> Morphic was close to there but not quite.
>
> Yours in curiosity and service, --Jerome Peace
>
> **I knew perfectly well what I meant to say, even if I
> didn't say it. ;-)
>
>
>
>
>
>       ____________________________________________________________________________________
> Shape Yahoo! in your own image.  Join our Network Research Panel today!   http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7 
>
>
> _______________________________________________
> Morphic mailing list
> Morphic at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/morphic
>
>   



More information about the Morphic mailing list