A list of all the patterns I've discovered, as well as what they do.
These patterns seem to represent common operations I perform on lists. Though these are perfectly possible to do with normal List Manipulation, it often requires more effort. Perhaps Nature willed them into existence to better understand what I'm doing... or perhaps they are my own invention?
Ferris Distillation ([a], int → [a])
Rotates the list leftward: an argument of 1 moves the first item of the list to the end. Negative numbers allow rotating the list rightward.
Retention Distillation ([a], int → [a])
Selects the first few elements from the input list. If the number is negative, selects the last few elements instead.
Rejection Distillation ([a], int → [a])
Drops the first few elements from the input list; the dual to Retention Distillation.
Retention Distillation ([a], [int] → [a])
Selects from the list only elements corresponding to the given indices. Unlike Selection Distillation, this cannot reorder or duplicate iotas.
Rejection Distillation ([a], [int] → [a])
Drops from the list iotas at the given indices. All other iotas are kept in the same order as the input.
Moses's Gambit ([a], (a, a → bool) → [[a]])
Casts the supplied Hex between each pair of elements in the given list, and splits the list at locations that return False.
Deductive Purification ([bool] → [int])
Creates a list of the indices for which True is present. For example, [True, False, True] becomes [0, 2]. I can also mix bools and ints in the input list.
Deductive Purification ([num] → [int])
Adds each index to the list based on the value. For example, [1, 2, 3] becomes [0, 1, 1, 2, 2, 2]. Zero or negative numbers do not appear at all.
Multiplicative Dstl. ([a], [b] → [[a, b]])
Calculates the outer product of two lists. The resulting list has an entry for every possible pairing between the input lists.
Division Dstl. ([a], [b] → [[a, b]])
Calculates the inner product of two lists. If the two lists were arranged side-by-side, the resulting list has one entry for every row (unpaired elements are skipped).
Refinement Distillation ([a], [a → bool] → [a])
Discards iotas from the given list unless they satisfy the given predicate. Using Charon's Gambit discards the current and all remaining iotas.
For some strange reason (a sort of 'hex bug'?), I feel the need to document these patterns in a separate chapter. I've properly spliced these patterns into my other set of notes.
Murmur Reflection (→ str)
Adds the phrase on the tip of my tongue to the stack, regardless of whether I intend to say it.
Modulus Distillation II (num, num → num)
Similar to Modulus, but differs for negative numbers: -8 %₁ 3 = -2, but -8 %₂ 3 = 1.
Apply Pigment (pigment →)
Imbues the item held in my offhand (e.g. a casting item) with the given pigment.
Dual's Reflection (→ entity | null)
Adds the closest sentient being, excluding me, to the stack.
Erase Block (vec | entity →)
Erases the Hex or iota contained within a dropped item or block. Costs one dust per item.
Gearbox Reflection (→ vector)
Returns the position of the engine casting the current Hex. If any of these patterns are used outside a casting engine, mishaps rather spectacularly.
Engineer's Distraction (number →)
Sleeps for at least the given number of seconds. Nature seems to round this to the next twentieth of a second.
Engineer's Departure
Suspends the current cast, as if I walked away from the engine (or stopped the rotor).
Engineer's Resignation (→ ...)
Destroys the current cast, as if I stopped the rotor while sneaking. Any following patterns will never be cast.
the world under my control nature is mine nature is MINE the world the world NO LONGER will the OVerworld rule me My mind is going My mind is going THE PAIN OF THOUGHT my mind my mind my a nine by nine room to myself SOLELY MYELF NO ONE ELSE a burst of media to Shatter the world nearly six allays sewn into the walls for eternity oh how it must hurt IT HURTS IT TORTUES
Conjure Demiplane (→ imprint)
Creates a fresh cuboid with a 9x9x9 interior, as well as a dimension to hold it in. Costs six quenched allays (720 dust).
fragments of space the world falling apart crumpling a fine powder to the media tie my plane TIE IT DOWN WELL bindings of thought to keep it safe safe from others safe from me only a sliver of an allay's mind for the price eternally trapped not alive not dead merely floating Form the allay into bindings from some point outside must hurry now I feel it slipping away the cost of tying it to itself disasterous the plane slipping away my mind slipping away
Bind Demiplane (imprint, vec →)
Binds the given demiplane to a position in my current dimension (which must not be the demiplane itself). This position is used when exiting the demiplane, as well as in case of any unfortunate accidents. Costs one shard.
My mind is drifting drifting spinning, running from me with every slice I take of Nature. Every passing moment my grip oh my hands weakening my mind passing through like sand
I must steady myself. The price of sanity is outright shattering the planes I've made — a burst of media worth 25 shards, and the pocket will crumple like a villager, spewing its contents into where it was bound.
Testing this process on living creatures is unwise.
Shatter Demiplane (imprint →)
Ruptures the boundaries of the given demiplane, destroying its contents. All dropped items and experience are spewed at the plane's attachment point. Costs five shards.
Though my Hexes can use Reveal to transmit information to my mind, the resulting message is ephemeral — unless I stand still and reflect on what I've heard recently, it will slip away like anything else someone says. Additionally, constantly hammering my mind with iotas distracts me from more important things.
Thus, I've devised a new pattern of my own. It's similar to Reveal, but the message is lodged well within my mind, and I forget it instantly if I replace it with something else. It can also take a list of messages, for convenience.
Greater Reveal ([iota] | iota →)
Takes a list of iotas (or a single non-iota, which is treated as a list with one element) and embeds them in my mind persistently. Displayed iotas survive all methods that would clear a normal Reveal, and can only be cleared by another casting of Greater Reveal or my untimely demise.
To be a Hexcaster is to glimpse a truth that might best be hidden.
Often, it would be convenient to keep some items whenever my body is destroyed and reformed. Most items I cannot keep without special means, but the structure of mediaweave allows me to easily secure it to my Self. Tied mediaweave cannot be removed by any magical or nonmagical means until untied.
Specifically, tied mediaweave differs in the following ways:
I cannot willingly remove it from my neck or replace it.
It will be destroyed and reformed with my body instead of being left behind.
I believe that tied mediaweave may even be safe from divine influence…
Nature seems to take offense to the idea of tying or untying another's mediaweave.
I've discovered a convenient way to etch Hexes into pieces of equipment I wear, providing me with an easy way to share them with others (though not as easy-to-use as a proper casting item, of course). These so-called ‘equipment macros’ are exposed to my casts whenever they are on an item I'm wearing: items in my hands, armor I'm wearing, or trinkets I have equipped.
Etch Pattern (pattern, str?, entity, iota →)
Etches a macro into the given item entity with the given name (optional); removes a macro if the hex (topmost argument) is null. New macros cost 5 dust; replacing/removing macros is free.
This pattern immediately forces my staff to cast an arbitrary Hex. Strangely, though this subcast pulls most of its information (such as the stack) from my staff, certain circumstances such as my Ravenmind are preserved across the boundary.
Lani's Gambit ([… → …] →)
Casts the given Hex as if from my staff, using its stack, etc. The Ravenmind (and perhaps other information) is carried across the boundary.