[Morphic] About worlds

Karl Ramberg karl.ramberg at chello.se
Sat Aug 16 20:32:11 UTC 2003



Andreas Raab wrote:
> 
> > I like this. But there are some questions.
> 
> I know ;-)
> 
> > Which world would own the hand ? And which world would a
> > morph being transfered from one world to another live in ?
> > A transfer world ?
> 
> That's one of the reasons why I don't like the way dragging in Morphic
> works. Conceptually, I see at least two "kinds" of worlds which exist in a
> single environment. One is sort of the "root" of everything, definitely
> infinite in size and containing (one or more) hand(s). Within that etheral
> world, there is a concrete one, constituting (one or many) authoring
> environment(s), which may contain hands (or other input devices) themselves.
> We actually may call the first one the "world" and the second one the
> "project" which seems like a much better name for the entities (note that in
> this case all references would be to the "project" instead of the "world"
> because the world doesn't define any reasonable boundary anymore). But I'll
> stick with the term "world" here.
> 
> When some object interacts with a hand, there is no intrinsic relationship
> to any "other world" except the one the morph is in. For the vast majority
> of cases we may even think about the hand as not even being in a world and
> therefore most interactions can be done without ever having to referring to
> some "transfer world". Drag and drop definitely don't need it by default.

So this would kind of be like using the black and brown handle in halos,
where 
the black removes morphs from their owner and the world,  the brown move
you 
within your owner.
A move to another world would be triggered by a mouseLeave from the "project".
I like this.
I can't think of a situation a morph needs a owner to be nil.

A few thoughts about the implementation:
I would like the wording to be like sleep and wakeUp and hide and show.
A morph can hide but still step and resive events.
A sleeping morph will not do either, but could be visible.



> Then, there may be objects which can be taken across world boundaries, to
> other environments (possibly even other Squeak images). In a simplified
> theory we can say that if these morphs determine that they are in fact being
> dragged beyound "their" world, it is their responsibility to take the
> appropriate action which might be supported by a "transfer world" but it
> wouldn't have to - you could equally well make up an OS window to draw the
> guy when you drag him out of Squeak's main window (note that such a window
> could be associated side-ways so there is again no need to touch the
> associated world of the morph).
> 
> A drop in one of these "foreign worlds" would be equivalent to a "world
> switch" for some morph and may have some "interesting" implications (in lack
> of a better word since I haven't thought that through - it's far beyound the
> initial ideas). For example, we could imagine establishing a remote proxy
> which sends messages across to another VM in order to be able to communicate
> at all with this guy. We could also establish a "veil" around the object
> (this is an idea which has come up in Croquet recently) in order to isolate
> the object from harming the existing environment. And so on.

A few months back there was a post on the list about a project that sent
morphs around
from world to world ( by Umejava ? ) Looked very cool.

Karl



More information about the Squeak-dev mailing list