[Cuis-dev] Turning morphs back into source code
Ian Jeffries
mail at ianjeffries.net
Wed Nov 27 17:01:08 PST 2024
Even placement, rotation, and scaling are much more annoying for me to do
with text than with a visual editor. The human hands and visual cortex are
amazing tools, I'm a complete believer in Jack Rusher's view in Stop
Writing Dead Programs
<https://youtu.be/8Ab3ArE8W3s?si=SvBaZib_as6pewt7&t=1223> on this front.
Plus I've seen both sides of this. I've made engine-less games in haskell
by editing source code to put various starships and planets just where I
wanted them. It's annoying as #*&&!
Agreed though that this is limited, this only addresses the visual aspects
of UIs, you won't be able to build applications this way.
OTOH I'm only starting with Morphic because it's handy. The topic I'm
interested in is turning *any runtime objects* back into source code in the
most idiomatic way possible. Programs can create a lot of stuff, so this
seems worth thinking about.
On Sun, Nov 24, 2024 at 4:55 AM Luciano Notarfrancesco via Cuis-dev <
cuis-dev at lists.cuis.st> wrote:
> Hm, do you have any examples? I don’t think you can build anything very
> useful by manipulation with the mouse without writing code… you can add
> submorphs to a morph, change colors and sizes, … not much more, I think…
> nothing like a browser or an inspector. Maybe you should checkout Fabrik,
> eToys, and other similar ideas.
>
> On Thu, Nov 21, 2024 at 22:27 Ian Jeffries via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
>
>> Hi folks,
>>
>> I'm experimenting with turning morphs created via direct manipulation
>> back into source code and am looking for some tips.
>>
>> As an example use case: I'm making a world map and would like to put my
>> house in it. The image will be pretty simple: just three or four
>> rectangles for the house, a rectangle for the garage, and a few circles to
>> represent trees. Certainly I could just write this in code, but it seems
>> like more fun to use the direct manipulation features of Morphic to create
>> the scene (duplicate, rotate, etc), then serialize that scene to code.
>>
>> Here's the twist: I'm already familiar with Cuis-UI-Packager
>> <https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-UI/blob/a56d748ac25fadf3f1910f0666b7ea77bb3df286/tools/UI-Packager.pck.st> which
>> is very cool, but my goal here is different. I'd like the result to be
>> source code, not object files, ideally similar to what I would have written
>> by hand.
>>
>> First question: is there a term in the Smalltalk community or the
>> academic literature for this task? Specifically for turning runtime objects
>> back into idiomatic source code. (I realize this problem probably can't be
>> solved in the general case since it's such a hard one-- one of the reasons
>> I'd like to read more about it).
>>
>> Second question: there isn't already a package for this in Cuis (or even
>> in Pharo etc)? I wouldn't think so and can't find one by searching, but
>> wanted to check.
>>
>> I did find Morphic Designer
>> <https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer>
>> in Squeak, but that's a little different since you build the morphs in a
>> specialized app. I'm looking for something that you can target any
>> supported runtime morph with (though I don't care how small the set of
>> supported morphs is, any example would be helpful even if it only supported
>> one or two).
>>
>> I've got a little demo working for myself which has also given me some
>> implementation questions, but I'll save those for a later thread.
>>
>> Thanks,
>> Ian Jeffries
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20241127/646bda32/attachment.htm>
More information about the Cuis-dev
mailing list