Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006593 [Squeak] Morphic major N/A 08-06-07 18:49 10-09-07 02:07
Reporter wiz View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version
Summary 0006593: Whitler's Mother (Morphic ) . A parent for reports aimed at whitling the morphic package down to size
Description The Morphic package weighs in at over a megabyte
Morphic Extras and Etoys packages are also unwieldly .

The three packages interdependence on each other also points to a large design and coding debt.

This is a Mother issue for reports that help solve portions of that problem.
Additional Information My proposed stratagy for tackling this problem is incremental.

There need to be probes to
1) uncover the dependencies.
2) determine the true centers of pieces within morphic

There need to be results of those probes to generate a list of needed
repairs.

And then the repairs need to be made one by one and tests generated to guide them.

With an emphasis on chipping away at it, piece by piece.
And an emphasis on eventual elegant packaging. With a high coherence amoung methods within a package and high decoupling amoung pieces in different packages.


Morphic consists in my mind of highly composable tools that can be easily manipulated with a informative and responsive gui. And which requires of the user a minamal use of coding to achieve their purpose.

The code for Morphic reflects its development. Many cooks. Little though given to refactoring what is already there.

The start for fixing things is to whittle away at the edges.

Identify leaves (classes that don't have subclasses) and package them sperately. Letting the core become smaller.

Identify major dependencies. The Morphs behave differently depending on how they tilt.
There are polygons el al
Rectangles, ellipses and other flex morphs
TTfonts and other that depend on ar's MatrixTransforms.

And worlds and hands which don't really tilt at all.

There are also major pieces that come from different branches and don't really integrate well. (smalland, squeakland, etc.)

I am writing this at a beginning step the details will become clearer an more concrete as things proceed. Part of the process is learning more about the problem.

So let us begin...

Yours in curiosity and service, -Jerome Peace
Attached Files

- Relationships

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

SYSTEM WARNING: Creating default object from empty value

parent of 0006603new  GradientFillMorph must be put to rest 
parent of 0006566closed  [Fix] [Test] Old PlayWithMe1 class needs to be removed 
parent of 0006568pending  [Fix][Test] Tweak of PolygonMorph>>RemoveCacheState to remove obsolete code. 
has duplicate 0006518closed  [RFE] Morphic packages are too big and not properly factored. Repackaging needed. 
child of 0006567new  Mother of Morphic Cleanup Tweak 
Not all the children of this issue are yet resolved or closed.

- Notes
(0010962 - 928 - 1018 - 1018 - 1018 - 1018 - 1018)
wiz
08-06-07 19:26

Candidates for projects to tackle:

1) Leftover Fabrik
Dan's component model is a the core of a lot of classes. Yet many of the original fabric classes have fallen into disuse and sit unreference in the image. Some are self reference only. Morphic can be made smaller by identifing and making a separate package of the unused pieces of fabrik.

2) Morphic>>position is entangled and intertwined with the needs of Etoys. Understanding and a careful think about refactoring to decouple and simplify position is in order.

3) Preferences has become an entangled dumping ground for everything.
Understanding and a careful think about refactoring to decouple and simplify Understanding and a careful think about refactoring to decouple and simplify is in order.

4) MatrixTransformationMorph and its dependents. (TTFonts)

5) Polygons and descendants and dependants.

6) TransformationMorphs and its decendants.
 
(0010979 - 335 - 383 - 383 - 383 - 383 - 383)
edgardec
08-11-07 21:50

Fabrik
Can be unloaded, as SqueakLight don't have and don't miss

I wish unload Nebraska amd EToys from a long time, buddy.
Think I know how if you are with me

For Morphic, I have a start of partition , not real packages now, but lets have small pieces for later reshaping and refactoring

For the rest , I trust you and Juan
 
(0011022 - 1065 - 1183 - 1183 - 1183 - 1183 - 1183)
wiz
08-14-07 22:35

Hi Edgar,

Thanks for chiming in.

The idea of this report is to be a overview and a "parent" for individual topics that whitle down morphic.

And I think tackling the simple and working up to the complex is the way to go.

I am meaning to get around to individual reports. (Or I could use help if you are so inclined.) Then link then to this report. The idea is from an individual item you can come back here and see the bigger picture.

Fabrik for me is more complicated and will take some understanding before I know what pieces want to go or stay. The alternative to throwing it out is to revive it. Though I suspect that is not in the cards.

I also suspect it Fabrik and Connectors deserve to be thought about at the same time.

There are some integration projects in the wings. Integrating pieces and decoupling things is the slow work to get a good result. Understanding whats going on has first priority.

Whitling morph is something I expect to happen as a side result of other work.

Yours in curiosity and service, --Jerome Peace
 

- Issue History
Date Modified Username Field Change
08-06-07 18:49 wiz New Issue
08-06-07 19:26 wiz Note Added: 0010962
08-11-07 15:41 wiz Relationship added parent of 0006603
08-11-07 21:50 edgardec Note Added: 0010979
08-14-07 22:35 wiz Note Added: 0011022
10-09-07 01:32 matthewf Relationship added parent of 0005124
10-09-07 01:48 matthewf Relationship added parent of 0006564
10-09-07 01:50 matthewf Relationship added related to 0006567
10-09-07 01:51 matthewf Relationship deleted parent of 0005124
10-09-07 01:53 matthewf Relationship added parent of 0006566
10-09-07 01:53 matthewf Relationship replaced child of 0006567
10-09-07 01:54 matthewf Relationship deleted parent of 0006564
10-09-07 02:02 matthewf Relationship added has duplicate 0006518
10-09-07 02:04 matthewf Additional Information Updated
10-09-07 02:07 matthewf Relationship added parent of 0006568
10-09-07 02:12 matthewf Relationship added parent of 0006511
10-09-07 02:13 matthewf Relationship deleted parent of 0006511


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
78 total queries executed.
42 unique queries executed.
Powered by Mantis Bugtracker