Thanks for the help! Those options are very educational.
This solution would totally fit my use case:
on click do go["tutorialized"] alert["just so you know, ..."] end
But I found this very educational:
on view do if !tooted.value tooted.value:1 alert["just so you know, ..."] end end
I tried the "hidden variable" option unsuccessfully, mainly because I couldn't figure out the syntax scripting wanted or expected and didn't find examples to work from. I know how assignment works in lil (the ":") and I had the "if" format from the lil reference card but got nowhere in general.
In fact I only just recently managed to get canvases working to contain images to use as "sprites". I fiddled around for a long while trying to use canvases as a canvas that I could draw on/in to make a sprite from within Decker. It's much better to paste an image from the clipboard but that has its own nonintuitive workflow (at least on Windows, where I can't copy from e.g. GIMP and use edit->paste as canvas / paste into canvas; I have to paste into a spare card as an image, then CTRL-C that, THEN what I think of as "Decker's" clipboard contains it properly.)
Anyway, I still managed to crank out a birthday card for a buddy in Decker: http://web.failmail.club/bday.html