[squeak-dev] We need to talk about graphics

Stephen Pope stephen at heaveneverywhere.com
Sat Jul 11 18:02:37 UTC 2020


To put it bluntly: I gave porting old-school MVC to Cuis.

[flame on] Morphic is miserable and really needs to be replaced by MVC, though (IMHO).

Why?

1. There’s a reason views and controllers were initially separated; that reason is reusability and better factoring.

2. The composite design pattern is a good thing (https://en.wikipedia.org/wiki/Composite_pattern <https://en.wikipedia.org/wiki/Composite_pattern>) and should be applied to everything where one builds trees, such as view hierarchies. The root view object should not have subviews, the view-composite should. (I know that old-school MVC didn’t do it that way, but new implementations certainly should).

3. In a good OO framework, the more abstract classes generally have the minimum necessary state (or none at all). Class Morph has 7 instance variables.

4. The goal of OO design is to reuse specifications across multiple implementations, so why does class Morph rename the usual geometry methods of bounds, extent, width, height, etc. as (e.g.,) morphBounds?

I could go on… [flame off] 

It would be really nice to have a simple MVC (and display-list graphics) framework that could be placed on top of several graphics back-ends including BitBLT, OpenGL and HTML5.

stp


--

                    Stephen Travis Pope   Santa Barbara, California, USA    
          http://HeavenEverywhere.com <http://heaveneverywhere.com/>        http://FASTLabInc.com <http://fastlabinc.com/>
                       https://vimeo.com/user19434036/videos <https://vimeo.com/user19434036/videos>      http://heaveneverywhere.com/Reflections

--



> On Jul 9, 2020, at 11:12 PM, stephen at heaveneverywhere.com wrote:
> 
> 
> …on a related topic, I’ve started porting old-school MVC* to Cuis with the intention of replacing Morphic with a generic framework that can be back-ended by BitBLT, OpenGL or HTML5.
> 
> Anybody want to help?
> 
> Stephen
> 
> * = starting with traditional MVC classes and system windows, and following that with some version of the “Wrapper” framework as still used in VisualWorks.
> 
> 
> --
> 
>                     Stephen Travis Pope   Santa Barbara, California, USA    
>  <pastedGraphic.tiff>         http://HeavenEverywhere.com <http://heaveneverywhere.com/>        http://FASTLabInc.com <http://fastlabinc.com/>
>                        https://vimeo.com/user19434036/videos <https://vimeo.com/user19434036/videos>      http://heaveneverywhere.com/Reflections <http://heaveneverywhere.com/Reflections>
> 
> --
> 
> 
> 
>> On Jun 28, 2020, at 5:53 PM, tim Rowledge <tim at rowledge.org <mailto:tim at rowledge.org>> wrote:
>> 
>> Seriously. We've been sitting around twiddling thumbs about better graphics for decades now. 
>> 
>> We had Balloon2D & 3D.
>> We had 'Pooh graphics' to do vector forms.
>> We have some excellent stuff being done by the Cuis crew.
>> We have some amazing ideas from Nile/Gezira.
>> We have a number of potential 3rd party graphics libraries we might adopt.
>> We have an advanced JIT that could be used to make on-demand graphics routines either on their own or working with pretty much any of the above.
>> We probably have other options I've not even heard of.
>> 
>> Maybe we should actually do something? Can we at least talk about it?
>> 
>> tim
>> --
>> tim Rowledge; tim at rowledge.org <mailto:tim at rowledge.org>; http://www.rowledge.org/tim <http://www.rowledge.org/tim>
>> Strange OpCodes: SVE: Skip on Vernal Equinox
>> 
>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200711/fa017e1b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 2442 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200711/fa017e1b/attachment-0001.tiff>


More information about the Squeak-dev mailing list