指令式绘制(推荐)
核心思路:画布维护一个「图形对象列表」,每个图形是一个数据对象(类型 + 坐标 + 样式)。用户操作和 Agent 调用都是往列表里 push 对象,统一重绘。
WebMCP 工具:drawLine / drawRect / drawCircle / drawText / drawFreehand / undo / clear — 每个工具接收坐标参数,返回生成的图形 ID。
优势:状态可序列化、撤销简单(pop 最后一项)、Agent 和用户操作完全统一、易于调试。
劣势:自由画笔需要存大量点坐标,内存稍多。