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

Jerome Peace peace_the_dreamer at yahoo.com
Sat Jun 23 03:44:31 UTC 2007


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 




More information about the Morphic mailing list