<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Stephen.<div class="mb_sig"></div>
                                        
                                        <div><br></div><div>Separation of model, view, and maybe controller-like objects is a choice you can still make in your application designed for and written in Morphic.</div><div><br></div><div>Try exploring and working with the direct-manipulation concepts Morphic has to offer. Those concepts can speed up the feedback cycle, which can then lead to a better architectural design in your application.</div><div><br></div><div>Many of your thoughts on a<span style="font-size: 10pt"> "good OO framework" omits the fact that software rather grows -- refactoring being a vital part in its lifecycle.</span></div><div><br></div><div>Happy programming! =)</div><div><br></div><div>Best,</div><div>Marcel</div><blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 11.07.2020 20:02:55 schrieb Stephen Pope <stephen@heaveneverywhere.com>:</p><div style="font-family:Arial,Helvetica,sans-serif"><div class=""><br class=""></div>To put it bluntly: I gave porting old-school MVC to Cuis.<br class=""><div class=""><br class=""></div><div class="">[flame on] Morphic is miserable and really needs to be replaced by MVC, though (IMHO).</div><div class=""><br class=""></div><div class="">Why?</div><div class=""><br class=""></div><div class="">1. There’s a reason views and controllers were initially separated; that reason is reusability and better factoring.</div><div class=""><br class=""></div><div class="">2. The composite design pattern is a good thing (<a href="https://en.wikipedia.org/wiki/Composite_pattern" class="">https://en.wikipedia.org/wiki/Composite_pattern</a>) 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).</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">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?</div><div class=""><br class=""></div><div class="">I could go on… [flame off] </div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">stp</div><div class=""><br class=""></div><div class=""><div class="">
<span style="font-family: Helvetica Neue"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span style="orphans: 2; text-align: start; text-indent: 0px; widows: 2;" class=""><span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px;border-collapse: separate;orphans: 2;text-align: -webkit-auto;text-indent: 0px;widows: 2;border-spacing: 0px"><div class=""><div class=""><div class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div class=""><font class="Apple-style-span"><font class="Apple-style-span"><br class="Apple-interchange-newline">--</font></font></div><div class=""><br class=""></div><div class="">                    Stephen Travis Pope   Santa Barbara, California, USA    </div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div></div></div></span><span><div class=""><span class="Apple-style-span" style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px;-webkit-text-decorations-in-effect: none;border-collapse: separate;border-spacing: 0px"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span> </span></span></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px"></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 16px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px"><span><span><span><span><span><span><span><img apple-inline="yes" id="68EE7E71-9FAF-4A23-9FBB-2A95C7C659F2" src="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net" class=""></img></span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span style="text-align: -webkit-auto;"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>         </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><a href="http://HeavenEverywhere.com" style="text-align: -webkit-auto;" class="">http://HeavenEverywhere.com</a><span style="text-align: -webkit-auto;" class="">        </span><a href="http://FASTLabInc.com" style="text-align: -webkit-auto;" class="">http://FASTLabInc.com</a></span><div style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 16px" class=""><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px"><span><span><span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px"><font style="-webkit-text-decorations-in-effect: none; text-align: -webkit-auto;" class="">                       </font><font color="#4787ff" style="text-align: -webkit-auto;font-size: 16px" class=""><span style="font-size: 11px" class=""><a href="https://vimeo.com/user19434036/videos" style="-webkit-text-decorations-in-effect: none; text-decoration: underline;" class="">https://vimeo.com/user19434036/videos</a>      </span></font></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><u style="text-align: -webkit-auto; color: rgb(71, 135, 255);" class=""><span style="font-size: 11px" class=""><a href="http://heaveneverywhere.com/Reflections" class="">http://heaveneverywhere.com/Reflections</a></span></u></div><div style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 16px" class=""><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px"><span><span><span><span style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-size: 16px;orphans: 2;widows: 2;-webkit-text-decorations-in-effect: none"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span style="font-size: 11px" class=""><span><span><span><span><span><span><span><span><span><div style="color: rgb(0, 0, 0);font-family: 'Helvetica Neue';font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-size: 16px" class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span style="color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><div style="color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px"><br class=""></span></div><div style="color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px" class="">--</span></div><div style="color: rgb(0, 0, 0); font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px" class=""><br class=""></span></div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><br class="Apple-interchange-newline">
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><br class=""><blockquote type="cite" class="" style="min-width: 500px"><div class="">On Jul 9, 2020, at 11:12 PM, <a href="mailto:stephen@heaveneverywhere.com" class="">stephen@heaveneverywhere.com</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>…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.<div class=""><br class=""></div><div class="">Anybody want to help?</div><div class=""><br class=""></div><div class="">Stephen</div><div class=""><br class=""></div><div class="">* = starting with traditional MVC classes and system windows, and following that with some version of the “Wrapper” framework as still used in VisualWorks.</div><div class=""><br class=""><div class="">
<span style="font-family: Helvetica Neue"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span style="orphans: 2; text-align: start; text-indent: 0px; widows: 2;" class=""><span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px;"><span class="Apple-style-span" style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px;border-collapse: separate;orphans: 2;text-align: -webkit-auto;text-indent: 0px;widows: 2;border-spacing: 0px"><div class=""><div class=""><div class=""><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div class=""><font class="Apple-style-span"><font class="Apple-style-span"><br class="Apple-interchange-newline">--</font></font></div><div class=""><br class=""></div><div class="">                    Stephen Travis Pope   Santa Barbara, California, USA    </div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div></div></div></span><span class=""><div class=""><span class="Apple-style-span" style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px;-webkit-text-decorations-in-effect: none;border-collapse: separate;border-spacing: 0px"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class=""> </span></span></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 11px" class=""></span><span style="font-family: "Helvetica Neue";font-size: 16px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span id="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net"><pastedGraphic.tiff></span></span><span style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal" class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; text-align: -webkit-auto; border-spacing: 0px;"><span style="text-align: -webkit-auto;" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class="">         </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><a href="http://heaveneverywhere.com/" style="text-align: -webkit-auto;" class="">http://HeavenEverywhere.com</a><span style="text-align: -webkit-auto;" class="">        </span><a href="http://fastlabinc.com/" style="text-align: -webkit-auto;" class="">http://FASTLabInc.com</a></span><div style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 16px" class=""><span style="font-family: "Helvetica Neue";font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px" class=""><span class=""><span class=""><span class=""><span style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px" class=""><font style="-webkit-text-decorations-in-effect: none; text-align: -webkit-auto;" class="">                       </font><font color="#4787ff" style="text-align: -webkit-auto;font-size: 16px" class=""><span style="font-size: 11px" class=""><a href="https://vimeo.com/user19434036/videos" style="-webkit-text-decorations-in-effect: none; text-decoration: underline;" class="">https://vimeo.com/user19434036/videos</a>      </span></font></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><u style="text-align: -webkit-auto; color: rgb(71, 135, 255);" class=""><span style="font-size: 11px" class=""><a href="http://heaveneverywhere.com/Reflections" class="">http://heaveneverywhere.com/Reflections</a></span></u></div><div style="font-family: "Helvetica Neue";font-style: normal;font-variant-caps: normal;font-weight: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-variant-ligatures: normal;font-variant-east-asian: normal;font-variant-position: normal;line-height: normal;font-size: 16px" class=""><span style="font-family: "Helvetica Neue";font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span style="font-family: "Helvetica Neue";font-size: 11px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-decorations-in-effect: none;-webkit-text-stroke-width: 0px" class=""><span class=""><span class=""><span class=""><span style="font-family: "Helvetica Neue";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: -webkit-auto;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-size: 16px;orphans: 2;widows: 2;-webkit-text-decorations-in-effect: none" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span style="font-size: 11px" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><div style="font-family: "Helvetica Neue";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-variant-east-asian: normal;font-variant-position: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;font-size: 16px" class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><span class=""><div style="font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px" class=""><br class=""></span></div><div style="font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px" class="">--</span></div><div style="font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-size: 11px" class=""><br class=""></span></div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><br class="Apple-interchange-newline">
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div class=""><br class=""><blockquote type="cite" class="" style="min-width: 500px"><div class="">On Jun 28, 2020, at 5:53 PM, tim Rowledge <<a href="mailto:tim@rowledge.org" class="">tim@rowledge.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Seriously. We've been sitting around twiddling thumbs about better graphics for decades now. <br class=""><br class="">We had Balloon2D & 3D.<br class="">We had 'Pooh graphics' to do vector forms.<br class="">We have some excellent stuff being done by the Cuis crew.<br class="">We have some amazing ideas from Nile/Gezira.<br class="">We have a number of potential 3rd party graphics libraries we might adopt.<br class="">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.<br class="">We probably have other options I've not even heard of.<br class=""><br class="">Maybe we should actually do something? Can we at least talk about it?<br class=""><br class="">tim<br class="">--<br class="">tim Rowledge; <a href="mailto:tim@rowledge.org" class="">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" class="">http://www.rowledge.org/tim</a><br class="">Strange OpCodes: SVE: Skip on Vernal Equinox<br class=""><br class=""><br class=""><br class=""></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></blockquote></div>