# Facetory Build Watchfaces

> 连接 Facetory 内置 MCP 服务器，检查、创建、编辑、验证、保存和导出小米表盘项目，涵盖普通与息屏主题、动态数据绑定、本地图片/字体导入、图层顺序、可复用模板和导出排错。用于通过 facetory:// 资源或 facetory.* MCP 工具操作 Facetory、诊断内置服务器、续作已打开的 .facetory 项目、制作 Xiaomi/Redmi/Mi Band 表盘、修复 AOD 或导出错误，以及整理成品资源。

- Skill: `sakurakilove/facetory-build-watchfaces` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add sakurakilove/facetory-build-watchfaces`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sakurakilove/facetory-build-watchfaces/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Sakurakilove (https://skillmd.com/u/sakurakilove)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/sakurakilove/facetory-build-watchfaces

---


# Facetory 表盘开发

以 Facetory 当前编辑器状态为唯一事实来源。MCP 能表达操作时，不要直接修改 `.facetory` 二进制文件。

## 安全开始

1. 确认 Facetory 已打开且目标文档处于活动状态。
2. 每次文档工作流开始前读取 `facetory://document/current`。
3. 若 `status` 不是 `active`，停止修改并执行资源返回的恢复动作。
4. 原样传递不透明 `version`；不要解码、重建、手抄，亦不要跨 UI 修改复用。
5. 续作项目前先读取项目内 `AGENTS.md`、设计规范、素材清单和工作日志。

连接状态不明时运行 `python scripts/check_facetory_mcp.py`。选择资源、查询 URI 或写入工具时读取 [references/mcp-workflow.md](references/mcp-workflow.md)。

## 按事务修改

每次写操作均执行：

1. 检查精确当前版本和目标稳定 ID。
2. 使用范围最小的计划工具：新增可见元素用 Compose，导入可复用素材用 Import，稳定 ID 修改用 Edit，产出文件用 Export。
3. 检查计划摘要、影响、绑定、校验数量、源路径、覆盖策略和目标主题。
4. 只应用一次已确认的 `planId`。
5. 计划被拒绝或过期后重新读取当前版本并重新规划。
6. 检查返回的新版本，再原位保存已有标题的项目。

不要试探性应用计划。用户在 UI 修改画布或导出元数据后，不得继续使用旧版本。

## 修改前检查

使用带版本的文档资源获取完整主题、图层顺序、资源定义、素材、引用和校验问题。匹配排版前查询精确资源：图层对象提供坐标和层级，数据资源提供字号、文本框、颜色、数据源和内容。

不要从其他项目复制稳定 ID 或数据源 ID。通过实时查询和 `facetory.data_sources.search` 获取；日志中的 ID 仅作示例。

## 制作表盘

- 按手表物理尺寸判断效果，不只看手机放大画布。
- 时间应为最强视觉元素，次要数据保持紧凑。
- 在数据后方保留低细节、高对比的安全区。
- 导入设备精确尺寸素材，另行保留高分辨率母版。
- 全画布背景置底，并显式把所有动态图层移到其上方。
- Compose 使用 `layout.anchor`、`offsetX`、`offsetY`；Edit 使用稳定图层坐标。
- 使用 `#AARRGGBB`、明确文本框尺寸、初始零字距和 ASCII 分隔符。
- 仅替换美术时复用已验证的数据图层模板。

## 制作息屏主题

拓扑允许时优先使用唯一 `aod` Compose 元素克隆并净化普通主题。若已有空的共享 AOD，先检查，再决定填充或在 UI 中删除重建。

AOD 保持简洁：黑色背景、必要的时间/日期/状态和少量装饰。查询并复刻普通主题的每一层，包括用 1 像素偏移叠加实现的字重。图片遮罩必须保证所有像素 RGB 为零，只用 Alpha 表示覆盖；仅设置 `recolor=true` 不能修复含 RGB 的像素。AOD、素材权限或导出工作前读取 [references/pitfalls.md](references/pitfalls.md)。

## 验证与交付

- 用代表性数据分别检查普通主题和所有 AOD 主题。
- 要求 0 个错误，并理解每条警告。
- MCP PNG 漏掉动态文本时，以编辑器画布为准。
- 检查通过后保存；仅向允许的规范目标路径导出精确设备规格。
- 后续更新沿用一个非占位的稳定表盘 ID，并记录作者、标题、设备规格、哈希、数据绑定和限制。
- 整理母版、设备尺寸素材、参考图、提示词、许可、工具、预览和资源清单；明确标记过期备份。

## 遵守 Android 权限边界

优先使用非 root 路径。即使 Termux 能读共享存储，Facetory 也可能无权限。必须复制到应用私有目录时，逐条说明命令、来源、目标、效果、覆盖行为和风险，并在每次 root 命令前重新取得明确许可；禁止复用历史许可。

