Skip to content

v0.3 计划

状态: 已发布到 npm:@yangyus8/emotile@0.3.0

目标

Make Emotile usable outside the library.

v0.3 应把 v0.2 的表达式运行时推进成小型集成工具包:支持主题化输出、SVG 导出、 CLI 工作流、机器可读 schema,以及帮助下游用户检查真实结果的示例。

范围

  1. 外部主题 / 调色板运行时

    • 添加与表达式或 frame 并行传入的 theme object。
    • 优先外部 palette input,不把 theme 数据嵌入 EmotileExpression
    • 保持表达式 schema 不变。
    • 保持语义颜色(primaryaccentshadowtransparent)作为内部 renderer contract。
  2. SVG renderer

    • PixelFrame 转换为 SVG 字符串。
    • 保持输出为纯数据:无 DOM、Canvas、浏览器运行时、GPU、native 依赖或文件系统副作用。
    • 支持简单选项,例如像素大小、palette 映射和可选背景。
  3. 轻量 CLI

    • 提供 validaterepairpreviewrender svg 命令行工作流。
    • 优先使用 Node 内置模块和现有 package API。
    • 避免大型 CLI framework 和运行时依赖。
  4. JSON Schema 导出

    • 导出当前 Emotile expression JSON Schema,供 Agent 结构化输出使用。
    • 与现有 expression format 和验证保证保持一致。
    • 此项工作不提升或修改 expression schema。
  5. Gallery examples

    • 添加展示可组合表达式和 motion 行为的可读示例。
    • 在 theme / SVG 功能完成后包含对应输出示例。
    • 不创建 preset expression catalog,也不添加 happy_01 这类完整预设 ID。

建议构建顺序

  1. 主题 / 调色板运行时。
  2. SVG renderer。
  3. 轻量 CLI。
  4. JSON Schema 导出。
  5. 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 和中文文档之间保持一致。

Released under the MIT License.