Skip to content

v0.3 Plan

Status: Released to npm as @yangyus8/emotile@0.3.0.

Goal

Make Emotile usable outside the library.

v0.3 should turn the v0.2 expression runtime into a small integration toolkit: theme-aware output, SVG export, CLI workflows, machine-readable schema, and examples that help downstream users inspect real results.

Scope

  1. External theme / palette runtime

    • Add a theme object passed alongside expressions or frames.
    • Prefer external palette input over embedding theme data in EmotileExpression.
    • Keep the expression schema unchanged.
    • Keep semantic colors (primary, accent, shadow, transparent) as the internal renderer contract.
  2. SVG renderer

    • Convert PixelFrame to an SVG string.
    • Keep output pure data: no DOM, Canvas, browser runtime, GPU, native dependency, or filesystem side effect.
    • Support simple options such as pixel size, palette mapping, and optional background.
  3. Lightweight CLI

    • Provide command-line workflows for validate, repair, preview, and render svg.
    • Use Node built-ins and existing package APIs first.
    • Avoid large CLI frameworks and runtime dependencies.
  4. JSON Schema export

    • Export the current Emotile expression JSON Schema for agent structured output.
    • Match the existing expression format and validation guarantees.
    • Do not bump or alter the expression schema as part of this work.
  5. Gallery examples

    • Add readable examples that show composable expressions and motion behavior.
    • Include theme/SVG outputs when those features exist.
    • Do not create a preset expression catalog or complete preset IDs such as happy_01.

Suggested Build Order

  1. Theme / palette runtime.
  2. SVG renderer.
  3. Lightweight CLI.
  4. JSON Schema export.
  5. Gallery examples.

The CLI can render SVG after the SVG renderer exists. Gallery examples should be last so they can demonstrate the completed v0.3 surface.

Non-Goals

  • Desktop pet runtime.
  • Canvas or browser runtime.
  • Visual editor.
  • PNG / GIF native export.
  • Live2D.
  • Large dependencies.
  • Preset expression catalog.
  • Expression-embedded theme field.
  • Schema version bump.

Acceptance Themes

  • Emotile remains platform-independent.
  • Runtime APIs stay deterministic and pure-data.
  • Agent-facing inputs remain validated, normalized, and repairable.
  • Renderer changes must not weaken schema guarantees.
  • New docs must stay consistent across README, docs, specs, and Chinese docs where applicable.

Released under the MIT License.