As a glimpse into the live of a Leon, I can report that the much-touted "Bitbucket import" feature of Heptapod, which I was hoping to use within the next 24 hours, has been going surprisingly poorly.
For those interested in my welfare, fortunately my repo was eventually successfully exported, by a means different to the one I was attempting in the preceding tweets. So, the new location of my project shall be revealed… shortly.
It's OK, though. No worries. I have a backup plan of just uploading the repo and then manually copying and pasting all 3 pages of open Bitbucket issues for my project. Simple and effective. Really, the fault is on me for having 3 pages of open Bitbucket issues in the first place.
I'm glad that at least the Super Smash Bros. Melee comp players are happy because a ROM hacker spent months hacking the ROM and the Dolphin emulator to add rollback netcode. At least one corner of the FGC is getting some relief in their purgatory.
Anyway, that's just a brief pause for news of my recent programming activities, which will hopefully benefit you in the near future. But for now, please, read tweets that aren't mine.
There are a few more features I'll be working on shortly which lead on from these – such as using custom macro type-signatures to add gradual dynamic typing to (set:), and maybe using code hooks as an optional type for other macros that accept code in string form, like (confirm:)
One other feature is the (palette:) macro, a rapid-prototyping macro for quickly obtaining acceptably interesting text colours when given a base background colour. I tried to make sure it only picks colours with strong CIELAB lightness differences from the given background.
In combination, this can produce fascinating effects. By (enchant:)ing each character in a passage with a differing (transition-delay:) based on pos, the VN/RPG "type-out" text transition is finally available, in just one line of Harlowe code.
Another feature: the "pos" identifier can be used in the language's functional iteration constructs ("lambdas") to get the iteration number (usually, element position). Additionally, (enchant:) can now use lambdas to apply different changers to each element it selects.
You'll notice the macro's code is in a hook in argument position, for the first time ever. This was the biggest sticking-point, design-wise, but I decided the awkwardness of letting these hooks be macro data instead of passage prose was unavoidable to make this work with (set:).
I've finally added a macro with which to create custom macros, as well as various data-types and syntactic structures necessary to do so. This has been a very long time overdue, but my long-term vision for this language has always wanted this, and I had to get it done someday.
I haven't been wanting to tweet about myself during this time, but I suppose now I might as well mention what features I've been working on with the next version of my Twine story format, Harlowe.
Police/prison abolition and universal basic income were both similarly unacceptable in the mainstream at the start of the century. Only the latter has received any traction recently because UBI can potentially be diluted to the benefit of capital. Abolition is too cut-and-dry.