This visual trace shows how TypeScript uses union types combined with template literals to create a new string type. First, union types for Color and Size are defined. Then, a template literal type Shirt is created by combining these unions with a dash. Variables of type Shirt can only hold strings matching these combinations. Assigning a string like "red-small" is valid, but "green-small" causes an error because "green" is not in the Color union. The execution table tracks each step, showing how TypeScript builds the type and checks assignments. The variable tracker shows the value of myShirt changing from undefined to "red-small" and then an error on invalid assignment. Key moments clarify why certain assignments fail and how TypeScript generates all valid strings. The quiz tests understanding of these steps and the effect of changing unions.