Alright. I've revised this, ended up accidentally turning it into something that closely resembles Aarex's Graham Generator, and cut it off before I got too weird with dots. I believe, based on what I've observed with other functions, that the basic White-Hex Level has a maximum growth rate of ω+3 in the fast-growing hierarchy, but the black hexagon might take it up to ω2.

**White-Hex Level:**

__1.__ *a*•⬡•*b* = *a*↑↑↑↑*b*

__2. __*a*•⬡*n*•*b* = *a*↑^{a}^{•}^{⬡n-1}^{•}^{b}*b*

__3/3b.__ *a*•(*n*⬡)•*b* = *a*•(*n*-1⬡)*a*↑↑↑↑*b*•*b*

__5.__ *a*•⬡* _{n}*•

*b*=

*a*•⬡

_{n}_{-1}((

*a*↑↑↑↑

*b*)⬡)•

*b*

Explanation:

__1.__ *a*•⬡•*b* = *a*↑↑↑↑*b*, in Knuth up-arrow notation (hexation, hence the notation's defining shape)

__2.__ If, at the end of an expression, there is a number after a single hexagon, decrement the number by one and use the new expression as the number of up-arrows. (When that number reaches 1, remove it.)

*a*•⬡2•*b* = *a*↑^{a}^{•}^{⬡}^{•}^{b}*b *= *a*↑^{a}^{↑↑↑↑}^{b}*b*

*a*•⬡3•*b* = *a*↑^{a}^{•}^{⬡}^{2•}^{b}*b *=* a*↑^{a}^{↑}^{a}^{•}^{⬡}^{•}^{bb}*b *= *a*↑^{a}^{↑}^{a}^{↑↑↑↑}^{bb}*b*

(in this way 3•⬡64•3 = Graham's number)

__3.__ If, at the end of an expression, there are multiple hexagons but no number, remove the last hexagon and replace it with (*a*↑↑↑↑*b*).

__4.__ A string of *n *hexagons can be written (*n*⬡) – parentheses mandatory, to avoid confusion. In this way you can replace rule 3 with:

__3b.__ If, at the end of an expression, there is a number before a single hexagon, both of which are enclosed in a set of parentheses, decrement the number by one and place *a*↑↑↑↑*b* after the parentheses but before the second dot. (When the parenthesized number reaches 1, remove it.)

__5.__ If there is a hexagon with a numerical subscript, decrement the subscript's number by one and place *a*↑↑↑↑*b* hexagons directly after the subscripted hexagon but before the second dot. (When the subscripted number reaches 1, remove it.)

So I've just set up a series:

Stage 1. the number after a hexagon determines the height of the "up-arrow tower"

Stage 2. each hexagon (*n*⬡) stacks the "up-arrow tower" *a*↑↑↑↑*b *times (iterating on its height)

Stage 3. ⬡* _{n }*determines the number of iterations of

*stacking*

Stage *a*↑↑↑↑*b*...?

This is where the black hexagon comes in. I'll need to rewrite the old notation so everything makes a bit more sense:

*a*•⬡*n*•*b* = *a*•[⬡*n*]•*b*

*a*•(*n*⬡)•*b* = *a*•[⬡^{2}*n*]•*b*

*a*•⬡_{n}*•b* = *a*•[⬡^{3}*n*]•*b*

*a•*⬢•*b* = *a*•[⬡^{a}^{↑↑↑↑}^{b}*n*]•*b*

I'll need to work on explaining the rules though. Consider this part a work in progress.