VDL Documentation

CakesVDL Documentation

Last updated: September 27, 2019

2 Firing patterns for cake and slice rows

The VDL language supports whatever degree of detail you want to include in your cake descriptions.  Descriptions can be generic, like,

49 Shot Red Pearl Z-Shape Cake

or more specific, like,

49 Shot 5s (a) Red Pearl + (b) Blue Pearl Cake Z-Shape, 7 Rows, Row 1,3,5 (aaaaaaa), Row 2,4,6 (bbbbbbb), Row 7 (1.2/abababa/FNT)

If you want to specify the firing pattern for each row of a cake, then your VDL cake description will look more like the specific example, above, and it will contain row descriptions for every row in the cake. In this example, rows 1, 3, and 5 have a simple row description, specifying seven shots of effect (a), the Red Pearl. Rows 2, 4, and 6 are similar for effect (b). But row 7 includes more specifications. The three letter “FNT” at the end of the row 7 specifications is the “Firing Pattern Keyword”, which specifies the angles of the shots in the row, and whether there are delays between the shots, and which end of the row is ignited to shoot first.

In this specific example, the term “Z-Shape” in the body of the cake description defines the default firing pattern for the cake as a whole.  Z-Shape declares the rows will fan shots from left to right and back, alternating with each row.  Since the firing descriptions for rows 1-6 do not specify any changes to that default firing pattern, the Z-Shape firing patterns will apply to rows 1-6.  But row 7 does specify a change, with the firing pattern keyword, FNT.  The term “FNT” stands for Fan-together.  This last row of the cake is thus an all-at-once fan of seven shots of alternating colors based on the letters (a) and (b).

If a cake description doesn’t include any firing patterns in the body of the description, then the default firing pattern for every row will be the Up-Sequence firing pattern, abbreviated “STR“, which means all the tubes are aiming straight up (the “ST” for straight up) and they are fired in left to right order in the row (the “R” for left to right order). A similar firing pattern is Up-Reverse, abbreviated “STL“, which is the same except fired in the reverse order, right to left.   The left-to-right or right-to-left order distinction matters when the row contains multiple kinds of effects (the a’s and b’s, for example) in a non-symmetric pattern.

A third straight up example is Up-Together (“STT“) which is all tubes firing at the same time.  Two other common fan firing patterns are “FNR“, and “FNL“, for Fan-Right, and Fan-Left.  The full list of firing patterns is defined in Table 1.


Table 1 – Firing pattern keywords

Firing pattern keywords
Term Pattern Timing Description Ignited from which end Also called
STR ||| Sequential Up-Sequence Left STW
STL ||| Sequential Up-Reverse Right
STT ||| All-At-Once Up-Together Undefined
ALR \\\ Sequential Left-Sequence Left AGW
ALL \\\ Sequential Left-Reverse Right
ALT \\\ All-At-Once Left-Together Undefined AGT
ARR /// Sequential Right-Reverse Left
ARL /// Sequential Right-Sequence Right
ART /// All-At-Once Right-Together Undefined
FNR \|/ Sequential Fan-Right Left FNW
FNL \|/ Sequential Fan-Left Right
FNT \|/ All-At-Once Fan Undefined ATF
BLR \| Sequential Stand-Right Left BKW
BLL \| Sequential Fall-Left Right
BLT \| All-At-Once Left-Bookend Undefined BKT
BRR |/ Sequential Fall-Right Left
BRL |/ Sequential Stand-left Right
BRT |/ All-At-Once Right-Bookend Undefined
CTO \|/ Sequential Center-Out Center CRN
OTC \|/ Sequential Outside-In Left And Right
TRI \|/ All-At-Once W-Shape * Undefined
TRX \|/ All-At-Once W-Shape * Undefined
VST \/ All-At-Once V-Shape * Undefined


* The description TRI in the body of the effect name will also imply three tubes per row as a default. TRX is the same as TRI except when the number of tubes in a row is not divisible by 3: TRI adds the remainder as straight tubes; TRX adds the remainder as angle tubes. For example, TRI of 11 tube rows has the pattern 3-5-3, whereas TRX has the pattern 4-3-4. The description VST will imply two tubes per row as a default.