Skip to content

Releases: sktkkoo/Yorishiro

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 25 Jul 10:24

Highlights

Yori's face is alive while speaking. Until now Yori spoke with an idle face and a moving mouth. A speech reflex layer now derives brow/eye engagement, phrase-boundary blinks, and prosodic brow flicks from the lip-sync audio signal — no emotion is inferred from the audio, only physiological activation. On top of that, voice_say takes an optional mood, which fades in when the line starts and releases when it ends: an expression that lasts exactly as long as the words it belongs to.

A persona can bring its own body. Drop an avatar.vrm into a persona pack and switching to that persona — from Settings or through persona_goodbye_switch — changes the figure automatically. Previously the body only changed when a VRM path was pasted by hand.

Reflexes stopped being invisible. Trigger.description lets a pack state in one human-readable line what makes a reflex fire, and the new persona_reflex_list MCP tool lists a persona's triggers and responses — including whether it defines its own reflexes or inherits the bundled defaults wholesale.

A readable terminal over a scene. UI packs can set terminal backgroundOpacity (0–1) instead of an all-or-nothing transparency switch. The tint is bridged into the surrounding frame padding, so no gap shows between the panel and the window.

Also in this release

  • PersonaDefinition is now two axes: thinking and reflex. The declared-but-unconsumed world and logReading axes were removed; packs that still declare them keep loading unchanged.
  • Fixed user packs failing to bundle when scene.tsx / ui.tsx imported a pack-local module such as ./lib/palette.
  • The F2 debug panel's speech folder is now opt-in via localStorage.setItem("yorishiro:speech-debug", "1"), keeping Common for controls that matter whenever you open it.
  • README leads with the demo video, and the Contributing sections now say plainly that Issues and Discussions are wanted.

Full details: CHANGELOG.md


What's Changed

  • 発話反射層 + voice_say mood — 発話中の顔を生かす by @sktkkoo in #60
  • refactor(sdk): persona を思考+反射の二軸に — world / logReading 軸を削除 by @sktkkoo in #61
  • feat: 反射の可視化 — Trigger.description + persona_reflex_list by @sktkkoo in #62
  • feat: persona 切替時に pack 同梱 avatar.vrm を自動適用 by @sktkkoo in #63
  • fix(runtime): support pack-relative imports in TSX transpiler by @sktkkoo in #64
  • Support terminal background opacity by @sktkkoo in #65
  • chore(debug): Speech controls を localStorage opt-in にする by @sktkkoo in #66

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 20:42

What's Changed

  • fix: allow restoring bundled Yori VRM by @sktkkoo in #59

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 19:58

What's Changed

  • Attention light: scene-owned cue for awaiting-input across all sessions by @sktkkoo in #25
  • In-app updater: 設定画面から1ボタンで自己更新 by @sktkkoo in #28
  • README: Homebrew インストール手順を追加 by @sktkkoo in #29
  • [codex] Add project-scoped scene selection by @sktkkoo in #27
  • [codex] Update README install and pack security notes by @sktkkoo in #31
  • Add per-directory scene selection by @sktkkoo in #30
  • Feat/reload curtain by @sktkkoo in #33
  • [codex] Rename Charminal to Yorishiro by @sktkkoo in #34
  • Reduce runtime frame allocation stutter (folder switch は reload 維持) by @sktkkoo in #35
  • [codex] Reduce runtime frame allocation stutter by @sktkkoo in #32
  • [codex] Sync terminal glow with attention light cues by @sktkkoo in #36
  • [codex] Polish settings labels and project folder paths by @sktkkoo in #38
  • [codex] Add persona goodbye switch flow by @sktkkoo in #39
  • Journal callback P1 — セッション開始時の記憶想起 by @sktkkoo in #40
  • Skip sad pulse for run-slow-completed in presence bridge by @sktkkoo in #41
  • README 刷新: 冒頭コピーの磨き込みと未記載機能の追記 by @sktkkoo in #44
  • journal 想起に「最近の記憶」を追加、配達経路のない agent では発火しない by @sktkkoo in #43
  • CLAI キャラクターガイドラインの追加(IP 管理の公開文書化) by @sktkkoo in #42
  • Fix production black screen: move boot styles out of inline <style> by @sktkkoo in #45
  • MCP スクショの右下サムネイル表示 + screenshot tool の一本化 by @sktkkoo in #47
  • Rename CLAI to Yori and fix Codex $yori skill discovery by @sktkkoo in #48
  • Show fixed "Main Agent" label on the main session tab by @sktkkoo in #49
  • Stabilize flaky focus assertion in RestoreConfirmDialog test by @sktkkoo in #52
  • Clarify character rights scope and model extraction policy by @sktkkoo in #50
  • Clarify light alerts and resume agents after workspace switches by @sktkkoo in #54
  • お別れの演出強化 — 声を聞き切ってから暗転、姿の切替、去る側の記憶 by @sktkkoo in #53
  • Ground journal entries in honest reflection by @sktkkoo in #55
  • docs(security): pack provenance boundary — local trusted code, defer integrity to distribution layer by @sktkkoo in #56
  • feat(packs): pack schema seam — bundled conformance + client version/platform gate by @sktkkoo in #57
  • docs: README・philosophy のコピー磨き+UI小修正 by @sktkkoo in #58

Full Changelog: v0.5.2...v0.6.0

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 04 Jul 06:39

What's Changed

  • fix(ci): run cargo build before fmt to generate build artifacts by @sktkkoo in #2
  • feat: custom title bar with settings + sidebar toggle by @sktkkoo in #1
  • feat(session-status): terminal awareness for agent attention by @sktkkoo in #3
  • feat: GPU shader fireworks (CPU-era look with glow) by @sktkkoo in #4
  • [codex] Preserve terminal input lines on clear by @sktkkoo in #5
  • fix(session-status): detect Codex and multi-choice permission prompts by @sktkkoo in #7
  • feat(ui): トップバーのサイドバーボタンで全画面 UI pack を閉じる by @sktkkoo in #10
  • feat(scene-layer): media controls — transform + off-screen cover panel, label/filename fixes by @sktkkoo in #9
  • [codex] fix terminal IME composition input by @sktkkoo in #6
  • style(simple-room): de-slop the palette — neutral charcoal + sage, flat background by @sktkkoo in #8
  • fix(window): タイトルバーでウィンドウをドラッグ移動できるようにする by @sktkkoo in #11
  • fix(tutorial): pack説明・影の説明修正・カラーテーマ強化・背景画像案内 by @sktkkoo in #12
  • chore: OSS release prep (docs, fresh-clone assets, CoC, test fix) by @sktkkoo in #13
  • [codex] reframe README concept docs by @sktkkoo in #14
  • [codex] init.js hot reload by @sktkkoo in #15
  • Move terminal tabs to the top bar by @sktkkoo in #16
  • Filter session tab badge events by @sktkkoo in #17
  • [codex] Protect main agent interrupts by @sktkkoo in #18
  • Unify reflex-contrast terminology to thinking layer by @sktkkoo in #19
  • [codex] Address OSS release blockers by @sktkkoo in #20
  • Philosophy 再検討 — 有用性と関係性の統合、反射/偽装の基準、対称性の範囲 by @sktkkoo in #21
  • Make awaiting-input badge detection deterministic by @sktkkoo in #23
  • Command blocks as internal-only observation structure by @sktkkoo in #22
  • Expand diagnostic line vocabulary and cut false positives by @sktkkoo in #24

New Contributors

Full Changelog: v0.5.1...v0.5.2

v0.5.1

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:17

0.5.1

  • The SDK author guide is now shipped to ~/.charminal/sdk-guide.md (rewritten on every startup), so the inhabitant AI can read the pack-authoring narrative even in packaged builds where the source tree is absent.
  • Every bundled pack now ships a README, and the /charm command docs reference packs and SDK types through production-available paths (bundled_example_read MCP tool, ~/.charminal/sdk.d.ts / sdk-guide.md).
  • CLAI's idle-triggered TextPhysics mischief is back (a single low-probability roll after a long idle).
  • Camera fixes: camera-move now works while tracking is off, F2 opens with tracking off by default, and the tutorial camera paths were corrected.
  • The shoot timeline is now single-flight, so rapid repeated presses no longer overlap.

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:16

0.5.0

  • Motion size: a Settings slider and motionIntensity config field (0–3, default 1.0) scale CLAI's idle sway, breathing, and head/posture motion; inhabitants can adjust it through the motion_intensity_set MCP tool.
  • Richer idle aliveness: idle beat scheduler (glances, micro-aversions, anticipation), eye-lead gaze with head recruitment, physiological state-dependent blink rates (suppressed while reading), and StatePose blending in ProceduralBones.
  • User scene packs can be authored as R3F (TSX) components, with live reload from nested source edits.
  • Scene layers support a drop-shadow filter.
  • Inhabitants can read bundled pack sources through MCP (bundled_example_read) as authoring references.
  • The restore UI now lists up to 30 snapshots.
  • The first-run tutorial was reworked: fixed sleeps removed, effect shortcuts (F1/F3/F4) demonstrated in place, scene color-theme collaboration shown, and the flow now carries through the pack-creation experience.
  • Terminal agent launch is now backed by TerminalAgent adapters for Claude Code, Codex, and OpenCode.
  • Codex installs Charminal commands as $charm-* skills instead of /charm:* slash commands.
  • OpenCode receives Charminal commands as /charm-* custom commands through OPENCODE_CONFIG_CONTENT.
  • OpenCode persona overlay is injected through agent.build.prompt and agent.plan.prompt file references so primary agents receive Charminal's system prompt.
  • OpenCode TUI starts with a session-scoped OPENCODE_TUI_CONFIG temp config using the system theme, and Charminal sends OpenCode's SIGUSR2 theme refresh hook on scene changes so panel/input colors re-sample the terminal palette without rewriting user OpenCode config files.
  • Codex and OpenCode now receive Charminal journal/voice reminders through their launch prompt overlays instead of Claude Code hook output.
  • Documented that Claude Code hooks are not a cross-agent contract; Codex/OpenCode hook-like surfaces require explicit per-agent capabilities before Charminal treats them as shared behavior.
  • Agent defaultProfile values such as "opencode" now launch that agent instead of falling back to terminalAgent.
  • The Settings Agent dropdown and the Status panel now report the agent that actually launches (honoring defaultProfile). When defaultProfile pins an agent, the dropdown shows that agent and is disabled with a "fixed by defaultProfile" note.
  • Agent install directories and charm command syntax are now declared by each TerminalAgent adapter (single source of truth); the Status panel warns if the Rust adapter registry and the TypeScript mirror drift.
  • terminalAgent: "opencode" is accepted in config. OpenCode end-to-end smoke is deferred and remains unverified on this machine.
  • UiAppAPI.setTerminalAgent and related SDK/config types now accept string adapter ids instead of only "claude" | "codex".

Full Changelog: v0.4.0...v0.5.0

v0.4.0

v0.4.0 Pre-release
Pre-release

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:15

0.4.0

  • macOS is now the only supported platform. Windows still compiles but its runtime behavior is unstable, and Linux is not yet available.
  • Signed macOS builds are produced through GitHub Actions with code signing and notarization; release assets and private assets are fetched from R2 during CI.
  • First-run health diagnostics surface environment problems before they become silent failures.
  • A runtime crash recovery boundary keeps the app usable after a render-layer crash.
  • Safe mode (CHARMINAL_SAFE_MODE=1) lets you recover from broken packs.
  • Pack workbench refinements: kind groups, inline toggles, an active bar, and auto-refresh.
  • Pack doctor diagnostics and a pack diagnose MCP tool for validating local packs.
  • Pack repair handoff actions, hardened against id injection and double-click.
  • Settings now show each pack's description, author, and trust tier; Quick Actions moved to the top.
  • Settings UI labels are localized (Japanese / English); product terms stay in English.
  • Render loop scheduling optimized to reduce idle CPU/GPU usage.
  • Default bundled fallback scene changed to simple-room.
  • Legacy clai persona removed; only clai-en and clai-ja remain.

Full Changelog: v0.3.0-alpha...v0.4.0

v0.3.0-alpha

v0.3.0-alpha Pre-release
Pre-release

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:15

v0.3.0-alpha

Highlights

  • Windows ビルド対応(準備)HOMEdirs::home_dir() 統一、hooks の PowerShell 分岐、npm shim 検索の platform 対応。動作確認はこれから
  • デフォルト VRM キャラクターモデル同梱 — CLAI.vrm をバンドル
  • Controls MCP — カメラ・ライティングの MCP tools を公開、SDK controls store を scene に統合
  • Scene 切替の安定化 — layer override の orphan 問題修正、切替時の state carryover 解消

Features

  • Controls MCP tools(controls_get / controls_set / controls_transition
  • SDK scene controls registration + leva 連携
  • state_get に lighting 情報を追加
  • get_ui_state / set_ui_state の active scene fallback
  • グローバル system prompt に Charminal 環境情報フラグメントを追加
  • F1 キーで charminal-settings を開く
  • Controls transition API

Fixes

  • Scene 切替で sceneLayerOverrides を正しく clear
  • Scene layer override の auto-create を廃止(no-op + warn に変更)
  • ThreeRuntime の default light を削除、lighting は scene pack 専有に
  • Animation load 失敗時のエラー握りつぶしを解消
  • Tutorial 構成を再設計(モーション → Light → カメラ → Scene → 花火 → Effect 案内)

Refactor / Chore

  • Legacy parameter MCP tools を削除
  • camera-lighting-panel bundled pack を削除(reference pack 化)
  • .worktrees/ を gitignore + vitest 除外に追加

Docs

  • トリガー・リアクションシステムの統合 architecture overview
  • Scene controls API の 2-panel 構造を確定
  • Scene layer override semantics の決定を記録
  • ~/.charminal/ データディレクトリの説明を README に追加

Platform

Platform Status
macOS (Apple Silicon) ✅ 動作確認済み
macOS (Intel) 未確認
Windows ⚠️ ビルド対応済み・動作未確認
Linux 未対応

v0.2.0-alpha

v0.2.0-alpha Pre-release
Pre-release

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:15

What's New

Session Tabs

Open multiple shell sessions alongside the main agent terminal.

  • Cmd+T — open a new shell tab
  • Ctrl+Tab / Ctrl+Shift+Tab — cycle between tabs
  • Cmd+W — close the current tab
  • Cmd+19 — jump to Nth tab

The main agent session is protected and cannot be closed. If it exits unexpectedly, Charminal automatically restarts it. A minimal indicator at the bottom of the screen shows active tabs when two or more sessions exist.

Improvements

  • Per-session Tauri commands for multi-session PTY management
  • Scene pack theme automatically applied to all terminal sessions
  • Attention aura follows the active tab
  • Session events emitted to EventBus for ICI integration
  • Sessions survive WebView reload
  • Replaced WebglAddon with Canvas renderer to avoid WebGL context limit with multiple tabs

Bug Fixes

  • Fixed agent process exit with no recovery path (auto-respawn)
  • Fixed replace-kill during session spawn triggering false auto-respawn loop
  • Fixed terminal layout breaking when switching scene packs with shell tab active

Full Changelog: v0.1.0-alpha...v0.2.0-alpha

v0.1.0-alpha

v0.1.0-alpha Pre-release
Pre-release

Choose a tag to compare

@sktkkoo sktkkoo released this 23 Jun 00:15

Initial preview release.

See README for details.