<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Stephen,<br>
<br>
<blockquote
cite="mid:C4379E80-C7E0-45C0-93D2-B31EBB9BE9CA@heaveneverywhere.com"
type="cite">Thank you friends, for your responses.
<div><br>
</div>
<div>I’ve started porting Siren to Cuis, and there’s quite a bit
of work to do before I get to the GUI (schedulers, audio/MIDI
I/O, etc.).</div>
<div><br>
</div>
<div>stp<br>
<div> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
<div>
<div>
<div><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
<div> <br>
-- </div>
<div><br>
</div>
<div>
Stephen Travis
Pope Ojai,
California,
USA </div>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</div>
</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><span><span><span><span><span><span><span><span><span><span><span><span><img
moz-do-not-send="true"
src="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net"></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></span></span></span></span></span><a
moz-do-not-send="true" href="http://HeavenEverywhere.com">http://HeavenEverywhere.com</a><span>
</span><a
moz-do-not-send="true" href="http://FASTLabInc.com">http://FASTLabInc.com</a></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><a
moz-do-not-send="true" href="https://vimeo.com/user19434036/videos">https://vimeo.com/user19434036/videos</a>
</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
moz-do-not-send="true"
href="http://heaveneverywhere.com/Reflections">http://heaveneverywhere.com/Reflections</a></span>
</div>
<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><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><br>
</span></div>
<div><span>--</span></div>
<div><span><br>
</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>
</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>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
</div>
</blockquote>
<br>
This is just great! Count on the Cuis community for any help we can
provide.<br>
<br>
Cheers,<br>
<br>
<blockquote
cite="mid:C4379E80-C7E0-45C0-93D2-B31EBB9BE9CA@heaveneverywhere.com"
type="cite">
<div>
<div><br>
<blockquote type="cite">
<div>On Apr 22, 2022, at 3:56 AM, Hilaire Fernandes via
Cuis-dev <<a moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
wrote:</div>
<br>
<div>
<div>
<div>Hi Stephen!<br>
</div>
<div><br>
</div>
<div>Le 21/04/2022 à 20:00, stephen--- via Cuis-dev a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
<div>Yeah, I’m still tracking Cuis, and loving the
lack of bloat.</div>
</blockquote>
<p>Indeed. Cuis is very agile to improve itself while
remaining an understandable system for an human being.
This is the reason I am porting DrGeo from Pharo to
Cuis, I am close to the end of the effort.<br>
</p>
<blockquote type="cite"
cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
<div>My issues with Morphic are that it’s not MVC and
it’s not well-designed.</div>
</blockquote>
<p>Morphic on Cuis (aka Morphic 3) is a redesign from
the basement to the attic. It is a better design than
the original Morphic 2 system on Squeak. Two salient
aspects: its coordinate system is relative to each
morph, its classes are simpler. I did not even
mentioned VectorGrpahic, okay I just did.<br>
</p>
<blockquote type="cite"
cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
<div>First, views and controllers are merged, which
hurts reusability of components and hinders the
development of new interaction methods like
multi-touch screens or voice input.</div>
</blockquote>
<p>Oh, but you can move out the controllers from the
Morphic view. This is what I am doing. I am not an
expert on MVC so please correct me if I miss some key
point. In DrGeo the controls of the mathematic items
are done outside of their respective Morphic view.</p>
<p>Regarding the more traditional GUI part, we are using
pluggable Morphs composed with the Cuis' Layout
system. It is interestingly reusable. I am also
interested in the new interaction methods you
mentioned.<br>
</p>
<p>I don't see blocking point preventing you from using
Morph with a MVC design.<br>
</p>
<blockquote type="cite"
cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
<div><br>
</div>
<div>Second, the base classes (Morph et al.) are
pretty heavy-weight; Morph has 6 instance variables,
and you’re up to 10 or more by the </div>
</blockquote>
<p>Cuis is very agile and, if I understand correctly the
policy of its community, is prone to deep refactoring
if it improves Cuis simplicity and efficiency. And
these are not empty words, a few weeks ago, Cuis Morph
system has been through an important design in the
classes hierarchy. The classes were not exactly
shortened but split, joined, renamed for a better
understanding
(<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/archives/cuis-dev/2021-December/004649.html">https://lists.cuis.st/mailman/archives/cuis-dev/2021-December/004649.html</a>).<br>
</p>
<p>Your need for smaller Morph, if you decided to jump
in Cuis to port your software, will be also an
opportunity for the Cuis community to improve the
system in this particular area.</p>
<p>Regarding your comment, there are 5 instance
variables in Morph 'owner submorphs properties id
privateDisplayBounds'. Next, this is all you need for
the view of your music notation system. You see, we
had these discussion several months ago for DrGeo as I
also want the simpler Morph as possible. In DrGeo the
view of the mathematics models (point, segment, etc.)
are almost direct subclasses of Morph:<br>
</p>
<p><span><Capture%20d%E2%80%99%C3%A9cran%20de%202022-04-22%2012-37-36.png></span></p>
<p><br>
</p>
<p>Now while observing the Morph class, there is a lot
of stuff in there I don't need for the DrGeo math
morph. It should be doable to have a KernelMorph with
only the instance variables 'owner id
privateDisplayBounds' and the reduced ad-hoc
behaviors. That is something that may interest you
too.<br>
</p>
<br>
<blockquote type="cite"
cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
<div>time you get to the interesting classes. This
makes it hell on the garbage collector for complex
UIs (like music notation) where you might have
thousands of display objects on the screen, and want
to scroll or page quickly.</div>
</blockquote>
<p>As a matter of fact, you can observe this video until
the end. There are 10'000 points (10'000 Morph
drawings, each of two lines) and the canvas is
zoomed/unzoomed, an object is dragged around.<br>
</p>
<p><a moz-do-not-send="true"
href="https://twitter.com/GNUDrGeo/status/1515365208428007426">https://twitter.com/GNUDrGeo/status/1515365208428007426</a><br>
</p>
<p>Your software and mine are sharing the same concept
of canvas where you are composing music notation and I
math objects.</p>
<p>Nevertheless, porting to any system, will be a
substantial effort. But I guess you know that.<br>
</p>
<p>If you decided to jump in and use Morph, I will be
happy to help you, in tips and code.</p>
<p>About Brick I don't know yet.<br>
</p>
<p>Hilaire<br>
</p>
<pre>--
GNU Dr. Geo
<a moz-do-not-send="true" href="http://drgeo.eu/">http://drgeo.eu</a>
<a moz-do-not-send="true" href="http://blog.drgeo.eu/">http://blog.drgeo.eu</a></pre>
</div>
-- <br>
Cuis-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st">Cuis-dev@lists.cuis.st</a><br>
<a class="moz-txt-link-freetext" href="https://lists.cuis.st/mailman/listinfo/cuis-dev">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</div>
</blockquote>
</div>
<br>
</div>
<pre wrap=""></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a class="moz-txt-link-freetext" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a class="moz-txt-link-freetext" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
</body>
</html>