Syllable builder
Thai tone is not written directly. It falls out of four things: the class of the initial consonant, the length of the vowel, whether the syllable ends live or dead, and the tone mark. Assemble a syllable and watch which tone those four produce.
Initial consonant
RequiredConsonants sort into three classes. The class is a property of the letter, not a tone: a high class consonant does not make a high tone. That is why classes are grouped here rather than colour coded.
Vowel
RequiredLength matters for dead syllables. The dotted circle stands for where the consonant goes.
Final consonant
OptionalA syllable ending in nothing or in a sonorant is live. One ending in a stop is dead, and dead syllables take a different set of tones.
Tone mark
OptionalA mark does not name a tone. It shifts whatever tone the class and the ending already produced.