v0.3 计划
状态: 已发布到 npm:
@yangyus8/emotile@0.3.0。
目标
Make Emotile usable outside the library.
v0.3 应把 v0.2 的表达式运行时推进成小型集成工具包:支持主题化输出、SVG 导出、 CLI 工作流、机器可读 schema,以及帮助下游用户检查真实结果的示例。
范围
外部主题 / 调色板运行时
- 添加与表达式或 frame 并行传入的 theme object。
- 优先外部 palette input,不把 theme 数据嵌入
EmotileExpression。 - 保持表达式 schema 不变。
- 保持语义颜色(
primary、accent、shadow、transparent)作为内部 renderer contract。
SVG renderer
- 将
PixelFrame转换为 SVG 字符串。 - 保持输出为纯数据:无 DOM、Canvas、浏览器运行时、GPU、native 依赖或文件系统副作用。
- 支持简单选项,例如像素大小、palette 映射和可选背景。
- 将
轻量 CLI
- 提供
validate、repair、preview和render svg命令行工作流。 - 优先使用 Node 内置模块和现有 package API。
- 避免大型 CLI framework 和运行时依赖。
- 提供
JSON Schema 导出
- 导出当前 Emotile expression JSON Schema,供 Agent 结构化输出使用。
- 与现有 expression format 和验证保证保持一致。
- 此项工作不提升或修改 expression schema。
Gallery examples
- 添加展示可组合表达式和 motion 行为的可读示例。
- 在 theme / SVG 功能完成后包含对应输出示例。
- 不创建 preset expression catalog,也不添加
happy_01这类完整预设 ID。
建议构建顺序
- 主题 / 调色板运行时。
- SVG renderer。
- 轻量 CLI。
- JSON Schema 导出。
- Gallery examples。
CLI 可以在 SVG renderer 完成后提供 SVG 渲染。Gallery examples 应最后完成, 这样才能展示完整的 v0.3 能力面。
非目标
- 桌面宠物运行时。
- Canvas 或浏览器运行时。
- 可视化编辑器。
- PNG / GIF native 导出。
- Live2D。
- 大型依赖。
- 预设表情目录。
- 表达式内嵌 theme 字段。
- Schema version bump。
验收主题
- Emotile 保持平台无关。
- Runtime API 保持确定性和纯数据。
- 面向 Agent 的输入保持可验证、可归一化、可修复。
- Renderer 变更不能削弱 schema 保证。
- 新文档需要在 README、docs、specs 和中文文档之间保持一致。