#define system
{{{system_prompt_panda}}}

{{{draw_setup_code}}}

{{{skill_preface_draw}}}

{{{draw_skills}}}

{{{cap_role}}}

# user message
State: DrawState(frames=[])
Goal: Draw a square with side lengths of 20cm. 

# assistant message
```python
def gen_plan(state: DrawState):
    
    pos = [.5, .35]                 # Center of the drawing board (cm)
    size = .2                       # Square side length (cm)

    x, y = pos

    # Define base square corners in order (clockwise)
    base_corners = [
        [x, y],                   # bottom-left
        [x + size, y],            # bottom-right
        [x + size, y + size],     # top-right
        [x, y + size]             # top-left
    ]

    # Create draw_line actions
    actions = []
    for i in range(4):
        x0, y0 = base_corners[i]
        x1, y1 = base_corners[(i + 1) % 4]  # Wrap around to close the square
        actions.append(Action("draw_line", [x0, y0, x1, y1]))

    return actions
```
