Here is a summary of major (and some minor) changes...
1. The entire Morphic architecture has been converted to wrap host
SVG objects instead of extending them. This was done in such a way
as to change almost nothing@the level of most applications. The
major benefit afforded by this change is compatibility, since many
2. We have adopted a class system derived from prototype.js ver 1.60
and extended with built-in support for serialization and copy
constructors. These conventions make it much more natural to use
and $super optional parameter).
3. Some principles of layout have been introduced: setBounds() has
been split into setPosition() and setExtent() in anticipation of
layout managers that will want to move submorphs around without
having to recompose them internally. Recomposition is triggered by
setExtent() via the message adjustForNewBounds(). This is summarized
in the comment to Morph.setBounds().
4. An optional menu button has been added to ScrollPanes. See the
SimpleBrowser for an example of how to use this feature.
5. Paned windows and their titleBars are now able to resize
themselves proportionally (using the rectangle resize handles)
independent of their ability to grow and shrink using the handles to
6. We have the beginnings of a reflective model for execution state.
If one sets Config.debugExtras = true, most methods are wrapped with
a function that keeps track of the stack with method names *and* even
the arguments. This can be tested by, eg, typing
in any textMorph, selecting it and evaluating it with alt-d. This
should result in the stack being printed to the console with method
names and argument values.
7. This same approach makes it possible to trace code. This
capability can be tested by invoking the 'test tracing' option of the
Morph menu. Note that this will generate a lot of output if used on
a complex object. Best to try it on a simple rectangle or ellipse.
This would appear to be evidence that we only make releases every 3
months or so. However this is *not* our intention. We are planning,
first of all, to make the more frequent updates on our beta site
available for anonymous download. Also we are planning soon to open
up our working repository, but this will be the topic of another
> 2. We have adopted a class system derived from prototype.js ver 1.60
> and extended with built-in support for serialization and copy
> constructors. These conventions make it much more natural to use
> and $super optional parameter).
interesting class system, described here:
While I don't have any practical experience with it, it certainly
seems 'cleaner' than some of the ad-hoc class-y-ness I've seen in
other JS frameworks. @least parts of it; 'super' stuff is still