Re-doing Morphic - damage calculation logic

Hannes Hirzel hannes.hirzel.squeaklist at
Mon Feb 10 13:23:55 UTC 2003

Hi all

A partial answer to Andreas' ramblings that we are all kiddies who don't
understand some  
simple 1500 methods while kids are using the result with ease.

Of course having a heading like 're-doing' sounds a bit extreme but -
Andreas - don't take that too 
seriously. The Squeak community will be happy if this discussion leeds
to some additional 

Actually Daniel Jones mentioned specific areas which need fixing from
his point
of view.  For his first point I include a test case below.

1) Fixing/improving the damage calculation logic.

2) Sane defaults for clipping/extents behaviour... ( Shrink some morphs,

and watch the bizzare behaviour )

3) Fixing Halo/Handmorph

4) Combining all the variant widget morphs into one consistent set.
are several versions of common basic widgets, all specialized cases 
that could be handled by a well designed and general widget. Plus, 
radio button, checkboxes, and other basic widgets are missing. The base 
squeak image needs a full set of working widgets.

I'd like to provide a graphical test case which illustrates the first
- damage calculation logic -

Tested with Squeak 3.5alpha-5168

a) open an new morphic project
b) open a workspace
c) paste the following code and execute it

1 to: 25 do:  [:x | 
		1 to: 25 do: [ :y |  
			     r _ Morph new openInWorld. 
                             r height: 20. 
			     r width: 20.
                             r position: (x * 20) @ (y * 20).
			     r color: Color random]

d) Shift-select all the squars with the red button.
e) Bring up the halo on the blue outlined selection morph
f) Click on the delete halo of the selection morph 
   to delete all squares.
g) Watch the damage detection logic at work

Result: The damage logic does not work properly.

I think that Morphic is a great achievment; it has great new ideas and
for a research project it has a good implementation. But there is room
for improvement.

As a contrast: I took the above 625 colored squares and generated an
html files with 625 divison tag pairs (with a colored background and
pixel-positioned absolutely with CSS) and looked at them with IE5.5
Windows and Mozilla 1.0): IE5.5 didn't show all the squares while
Mozilla did. 

Hannes Hirzel

More information about the Squeak-dev mailing list