A list of all the patterns I've discovered, as well as what they do.
After Enlightenment, I find myself acutely aware of certain patterns that aid with my newfound abilities. These patterns don't seem to require anything from me that I didn't have before; perhaps I was always able to cast them but was simply unaware of their existence. An unenlightened player will be able to use casting devices with these patterns.
Epiphany Purification (player entity → boolean)
Pushes whether the given player has achieved Enlightenment.
Sentience Purification (entity → boolean)
Pushes whether an entity has been "magically relieved of its mind". I feel this is strongly related to Flay Mind somehow...
Display iotas encode stylized text using a recursive model. The iota holds text, styling for that text, and other child display iotas, which may themselves contain children and have differing styles than the parent. Children are appended sequentially after the parent.
The properties of the parent's style propagate down to their children, provided the child has an unset value for that property. For example, the children of a red-colored display iota will be red, unless a child has a style for another color. That second color is then the color that gets passed down to its children.
Reading Purification (any → display)
Takes an iota and returns a display iota representing it. If taking a display iota, strips all the styles of it.
The patterns that interact with display iotas are strangely multifaceted. While resembling distillations, they are actually gambits.
If their described arguments are passed in, they modify the display iota's root according to their speciality (example of modification included).
If the top of the stack is just a display iota however, they push the current value of the setting that they target.
Parsing Purification (display → list of displays)
Gets or sets a list of display iotas corresponding to children of the display iota.
Lumière Gambit (display, vector → display)
Gets or sets a color encoded as a vector whose components range from 0 to 1. Pass in Null to defer to parent.
Calligrapher's Gambit (display, number → display)
Gets or sets a number, corresponding to the font a text is drawn in. Pass in Null to defer to parent.
0, 1, and 2 are the current fonts that I know of, corresponding to standard appearance, the runes I see surrounding an Enchanting Table, and a strange variant of it that is allegedly used by ancient villagers.
Gothic Gambit (display, boolean → display)
Gets or sets a boolean, corresponding to whether it is bold. Pass in Null to defer to parent.
Manutius' Gambit (display, boolean → display)
Gets or sets a boolean, corresponding to whether it is in italics. Pass in Null to defer to parent.
Notetaker's Gambit (display, boolean → display)
Gets or sets a boolean, corresponding to whether it is underlined. Pass in Null to defer to parent.
Editor's Gambit (display, boolean → display)
Gets or sets a boolean, corresponding to whether it has been struck through. Pass in Null to defer to parent.
Censor's Gambit (display, boolean → display)
Gets or sets a boolean, corresponding to whether it is obfuscated. Pass in Null to defer to parent.
Stylistic Distillation (display, display → boolean)
Returns whether the two display iotas have the same style.
Calculator Purification (display → number/null)
Returns the number the display iota's root says, or Null if it can not be determined.
Cleaving Distillation (display, display → list of displays)
Uses the second display iota as a delimiter to slice up the first into a list of display iotas. The elements do not retain their children.
Streaming Purification (display → list of displays)
Transforms a display iota into a long stream of styled single characters for parsing purposes, including its children.
A number of common patterns also work on display iota, listed afterwards. However, it is worth noting that these patterns only operate on the "root" text, that is the textual content of the highest level; it will not for instance include the added length of children when determining length, nor reverse the text of children.
Length Purification (display → number)
Returns the length of the display iota's text.
Integration Distillation (display, display → display)
Adds the second display iota as a child of the first display iota.
Derivation Decomposition (display → display, display)
Returns a copy with the provided display iota's text repeated.
Additive Distillation (display, display → display)
Append the second's text to the first's. Keeps the style of the first.
Multiplicative Dstl. (display, number → display)
Returns a copy with the provided display iota's text repeated.
Selection Distillation (display, number → display)
Returns the single character at the given position of the display iota's text and keeps children.
Selection Exaltation (display, number, number → display)
Extracts a range from the display iota's text and keeps children.
Surgeon's Exaltation (display, number, display → display)
Replaces a single character from the display iota's text with a potentially larger string and keeps children.
Excisor's Distillation (display, number → display)
Removes a single character from the display iota's text and keeps children.
Retrograde Purification (display → display)
Reverses the display iota's text and keeps children.