[Cuis-dev] [RFC][Proposal] Refactoring of World Morph

Hilaire Fernandes hilaire at drgeo.eu
Sat Oct 24 07:04:44 PDT 2020


Hi Juan,

What will be left to a PasteUpMorph? What a PasteUpMorph can do a Morph 
can't. For DrGeo I still use a PasteUpMorph for the drawable, but I am 
not sure it is mandatory, and it is for historical reason because of 
tile programming then

If I am right, in Squeak's PasteUpMorph the purpose is let user drop 
morphs of any kind for visual programming with tiles.

In The Cuis base image, all instances of PasteUpMorph are World.

By the way I met this funny behavior:

    *PasteUpMorph newWorld;newWorld;newWorld. (repeat at will)*
    **PasteUpMorph allInstances * *=> #( [world]  [world]  [world] 
    [world]  [world]) * PasteUpMorph allInstances => #( [world]  [world]) *

Duplicated World seems to vanish.

Then:

*PasteUpMorph newWorld openInWorld*

makes the environment unhappy.

As long as there is only one World correctly handled in Cuis, it makes 
sense to safeguard the environment with a singleton or alike behavior.

AFAIK, there is no such things as Squeak's Project in Cuis.

Take care

Hilaire

Le 23/10/2020 à 20:13, Juan Vuletich via Cuis-dev a écrit :
> Today, the morphic world is an instance of PasteUpMorph. But 
> PasteUpMorph is a more general class, just an area where you can play 
> with submorphs. For World functionality, there is an instance var 
> called 'worldState' that holds an instance of WorldState. This means 
> that PasteUpMorph has two very different purposes, and that the World 
> is actually split in two classes.
>
> I want to make the world an instance of a new class, WorldMorph, that 
> is subclass of PasteUpMorph. This allows pushing down a lot of 
> world-specific stuff from PasteUpMorph, making the world a self 
> sufficient, meaningful object, and remove the ugly WorldState class. 
> All this also means a reduction in the loc count for these objects by 
> 10%.
>
> Still, before pushing these changes, I'd like to know if there's a 
> downside, or any feedback.

-- 
GNU Dr. Geo
http://drgeo.eu
https://pouet.chapril.org/@hilaire

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20201024/e2deb09b/attachment.htm>


More information about the Cuis-dev mailing list