Page 1 of 1

Chat-Compiling CAD

Posted: Sat Apr 22, 2023 2:29 am
by beholderface
A hex designed to be run in a casting item that reads your last chat message, and uses a lookup table stored in an akashic record to compile a hex based on that message. Requires MoreIotas.
Since you have to build the lookup table manually, and using this can get a bit expensive on meta-eval depending on how long your hex is, it's best used for fairly simple and/or niche hexes that you might not want to put in your spellbook for the sake of space.

The syntax for using this is as follows:
"[thing to do after compiling],pattern 1, pattern 2, etc"
So, if you want to just cast immediately after compilation, "[thing to do after compiling]" would be whatever string maps to Hermes' Gambit in your lookup table. If you want to write it to a focus, use the string that you've mapped to Scribe's Gambit. You can even use a string that maps to a full pattern list, like if you want to append something to the end of a focus's contents you can map a string to [scribe's reflection, jester's gambit, combination distillation, scribe's gambit].

You can of course map strings to any iota, but if you want to do that for iotas that aren't patterns or numbers (it parses numbers in the chat message automatically, you don't have to put them in the lookup table) you have to use the [intro, embedded thing, retro, flock's disintegration] trick in order to use them in the compiled hex.
The akashic record must be at your sentinel's position, and the bookshelf holding the lookup table should have the pattern for Whisper Reflection (though of course you can change this easily).

The proper format for the lookup table is a list containing [string key 1, iota 1, string key 2, iota 2, and so on]

Demonstration video: https://youtu.be/SRGT4s8TVzY

Code: Select all

//get list of keys and patterns
Locate Sentinel
{
    Whisper Reflection //this is just the key for the akashic record, you can change it if you want
}
Flock's Disintegration
Akasha's Distillation
Gemini Decomposition
//pattern list for thoth
{
    Gemini Decomposition
    Input Purification
    Augur's Purification
    {
        Bookkeeper's Gambit: vv-
        {
            {
                Bookkeeper's Gambit: -
            }
            Flock's Disintegration
        }
        Gemini Decomposition
        {
            Bookkeeper's Gambit: -
        }
        Flock's Disintegration
        Locator's Distillation
        Rotation Gambit
        Input Purification
        Surgeon's Exaltation
        Flock's Disintegration
    }
    {
        Locator's Distillation
        Numerical Reflection: 1
        Additive Distillation
        Selection Distillation
    }
    Augur's Exaltation
    Hermes' Gambit
}
//get list of strings to be iterated on by thoth
Whisper Reflection
Comma Reflection
Separation Distillation
Speaker's Decomposition
//put post-compilation instruction into ravenmind to be used later
Huginn's Gambit
Thoth's Gambit
//act on post-compilation instruction
Rotation Gambit II
Muninn's Reflection
Locator's Distillation
Numerical Reflection: 1
Additive Distillation
Selection Distillation
Hermes' Gambit
The contents of the lookup table I have in my test world:
Image

Re: Chat-Compiling CAD

Posted: Sat Apr 22, 2023 2:31 am
by walksanator
I really need to finish my hexpattern -> focus compiler using ducky peripherals
so that i dont have to spend the hour of debugging this because i mis-placed a stroke

Re: Chat-Compiling CAD

Posted: Sat Apr 22, 2023 2:34 am
by beholderface
why not just do reveal on your pattern list and give it to HexBug with /decode?