sam70361/aora-bot

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

해결하는 문제

Emotion Ball은 AI 어시스턴트, 챗봇, 데스크톱 펫에 시각적 감정 계층을 제공하기 위해 설계된 가벼운, 의존성 없는 표현 엔진입니다. 단순한 ID 기반 프로토콜을 사용하여 32개의 사전 정의된 감정 상태(예: 생각 중, 기쁨, 수면 중 등)를 쉽게 전환할 수 있으며, 복잡한 이미지 자산이나 무거운 프레임워크가 필요하지 않습니다.

작동 방식

엔진은 순수한 SVG와 범용 JavaScript를 사용하여 실시간으로 캐릭터를 렌더링합니다. 표현은 '눈 고리 풀', 애니메이션 프리미티브(예: 사인파, 진동 등), 키프레임 시퀀스의 조합으로 정의되는 데이터 기반 구성 시스템에 기반합니다.

주요 기술적 특징:

  • 구면 투영: 경도 변환과 코사인 압축을 사용하여 눈을 몸체의 윤곽에 매핑하여 3D 느낌을 유지합니다.
  • 동적 적응: 동일한 애니메이션 시스템이 블롭, 와이드, 진주 세 가지 다른 몸체 형태에 자동으로 적응합니다.
  • AI 통합: 강력한 handleAIMessage 메서드는 JSON 문자열 또는 객체를 수락하며, AI가 단순히 emotionId를 출력함으로써 표현 변경을 트리거할 수 있습니다.
  • 성능: 모든 인스턴스가 단일 requestAnimationFrame (rAF) 하트비트를 공유하여 CPU 오버헤드를 최소화합니다.

대상 사용자

  • AI 개발자: LLM 기반 어시스턴트나 에이전트를 개발하고 비언어적 감정 인터페이스가 필요한 사람.
  • 프론트엔드 엔지니어: 플로팅 어시스턴트나 Electron 기반 데스크톱 펫용 가벼운 SVG 기반 애니메이션 시스템을 찾는 사람.
  • UI/UX 디자이너: 개별 프레임 애니메이션을 만들지 않고도 사용자 정의 가능한 데이터 기반 캐릭터 표현을 원하는 사람.

주요 특징

  • 32개의 사전 정의된 상태: 깨어남/수면과 같은 라이프사이클, 감정 반응, 에이전트 고유 상태(검색 중/생각 중/오류)를 커버합니다.
  • 의존성 없음: HTML, SVG, 범용 JS로 구축되어 있어 어떤 웹 환경이나 Electron 앱에도 쉽게 통합 가능합니다.
  • 사용자 정의 가능: 런타임에 새로운 표현과 사용자 정의 몸체 형태/색상 등록을 지원합니다.
  • 인터랙티브: 마우스 시선 추적(지수 평활화 포함)과 축하용 물리 기반 입자 효과를 포함합니다.
  • 애니메이션 프리미티브 코어 세트: 사인, 스캔, 펄스, 진동, 스캔, 깜빡임 등 6가지 애니메이션 유형 라이브러리를 사용하여 복잡한 행동을 생성합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트