用途:该技能用于创建浏览器端的二维布局编辑器,适合排料清单、平面图、房间布置等可视化编辑需求。可用于构建带多个容器或板材的拖拽界面,开发编辑位置与尺寸的交互式浏览器 UI,以及由 Python 提供服务的单文件浏览器应用,并实现带校验与碰撞检测的实时位置编辑。不适用于简单表单即可满足、需要三维可视化或需要桌面应用的场景。
架构:JSON 文件负责存储,FastAPI 服务器管理状态,浏览器端为单 HTML 文件(内嵌 CSS 与 JS)。
主要能力:单用户编辑时用模块级全局变量代替数据库;提供布局读取与保存、单品更新、跨容器移动、重叠与边界校验等 API;使用 Pydantic 模型定义位置与更新结构;通过 SVG 矩形渲染二维布局;跨容器拖拽采用跟随光标的 DOM ghost 元素,因为不同 SVG 内的元素无法跨边界显示;服务端完成边界与重叠校验。
使用方式:CLI 增加 edit 命令,通过可选依赖安装 fastapi 与 uvicorn,运行后可在浏览器打开对应端口进行编辑。文件结构包含 cli.py、layout_io.py 以及 editor 目录下的 server.py、schemas.py 和 static/editor.html。
限制:仅支持二维,不支持三维;面向单用户,非多用户协作;依赖 FastAPI 与 uvicorn 可选依赖。具体安装命令与完整拖拽模式等细节暂未提供。