sam70361/aora-bot

Emotion Ball 是一套面向 AI 助手的表情引擎:32 种状态表情全部由纯 SVG 与原生 JavaScript 实时驱动,零框架、零图片资源。AI 侧只需输出一个 emotionId,小球即可切换到对应表情,可直接用作聊天机器人、桌面宠物、悬浮助手的情绪表达层。

何を解決するか

Emotion Ball は、AIアシスタント、チャットボット、デスクトップペットに視覚的な感情層を提供する軽量で依存関係のない表現エンジンです。単純なIDベースのプロトコルを使用して、32の事前定義された感情状態(思考中、喜び、睡眠中など)を簡単に切り替えることができ、複雑な画像アセットや重いフレームワークの必要がありません。

動作方法

エンジンは純粋なSVGとVanilla JavaScriptを使用して、リアルタイムでキャラクターをレンダリングします。表現は「目輪プール」、アニメーションプリミティブ(正弦波やジッターなど)、キーフレームシーケンスの組み合わせによって定義されるデータ駆動型の構成システムに基づいています。

主な技術的特徴:

  • 球面投影:経度変換とコサイン圧縮を使用して、目の位置をボディの輪郭にマッピングし、3Dの印象を維持します。
  • 動的適応:同じアニメーションシステムが、3つの異なるボディ形状(ブロブ、ウェッジ、ジェム)に自動的に適応します。
  • AI統合:強力な handleAIMessage メソッドはJSON文字列またはオブジェクトを受け取り、AIが単に emotionId を出力するだけで表現の変更をトリガーできます。
  • パフォーマンス:すべてのインスタンスが単一の requestAnimationFrame (rAF) ハートビートを共有し、CPUのオーバーヘッドを最小限に抑えます。

対象ユーザー

  • AI開発者:LLMベースのアシスタントやエージェントを構築し、非言語的な感情インターフェースが必要な人。
  • フロントエンドエンジニア:浮遊型アシスタントやElectronベースのデスクトップペット用の軽量なSVGベースのアニメーションシステムを探している人。
  • UI/UXデザイナー:個別のアニメーションフレームを作成せずに、カスタマイズ可能でデータ駆動型のキャラクター表現を望む人。

特徴

  • 32の事前定義された状態:目覚め/睡眠のライフサイクル、感情反応、エージェント固有の状態(検索中/思考中/エラー)をカバー。
  • 依存関係ゼロ:HTML、SVG、Vanilla JSで構築されており、任意のWeb環境やElectronアプリに簡単に統合可能。
  • カスタマイズ可能:実行時における新しい表現やカスタムボディ形状/色の登録をサポート。
  • インタラクティブ:マウスの視線追跡(指数平滑化付き)と、祝賀用の物理ベースのパーティクルエフェクトを含む。
  • アニメーションプリミティブのコアセット:正弦波、ちらり、パルス、ジッター、スキャン、瞬きの6種類のアニメーションタイプのライブラリを使用して、複雑な行動を構築。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト