[Cuis-dev] Turning morphs back into source code
Ian Jeffries
mail at ianjeffries.net
Thu Nov 21 07:26:47 PST 2024
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20241121/a094817a/attachment.htm>
More information about the Cuis-dev
mailing list