Mori

DESIGN BOOK · v1.0

Tray

SYSTEM TRAY · ICONS · SPRITES · MENU

系統匣 icon 規範 + 6 個 sprite 表情 + menu icon 庫 + interaction states。
讓 Mori 在 panel 上是「會呼吸的森林精靈」,不是死木頭按鈕。

Design Reference

Mori tray design system

Tray Icon (App Identity)

Mori logo

系統匣的「app icon」永遠是 logo 圓徽,不是 sprite 表情。原因:

檔案來源

單色版規則

系統匣有些桌面環境(GNOME / macOS dark panel)會自動把 icon 染成 monochrome。 要對應:

Sprite Sheet(動態狀態)

Floating widget 用 6 個 sprite state,5P 起每個 state 是 1024×1024 4×4 sheet(16 frame),從 active character pack 讀(~/.mori/characters/<active>/sprites/<state>.png)。 完整規範見 character-pack.md; state → phase 對照見 character.html。 下方 thumbnail 用的是 design book 內的單 frame 預覽,不是實際播放的 sheet。 tray dynamic icon 也走同一套(planned)。

idle
idle · 待命
mori-idle
recording
recording · 聽中
mori-recording
thinking
thinking · 想中
mori-thinking
done
done · 完成
mori-done
error
error · 出錯
mori-error
sleeping
sleeping · 休眠
mori-sleeping

Tray Menu(系統匣選單)

Right-click / left-click tray icon 出現的選單,目前實作在 main.rs:

項目動作
顯示 Morishow main window + 把 floating set_always_on_top
隱藏hide main window
對話模式Mode::Agent
語音輸入模式Mode::VoiceInput
休眠(關麥克風)Mode::Background
Voice Profile ▸~/.mori/voice_input/ 列出全部 .md(5K-2)
Agent Profile ▸~/.mori/agent/ 列出全部 .md
重新開始對話清空 conversation history
離開app.exit(0)

Interaction States

狀態tray iconfloating spriteaura / 效果
idlelogo(靜態)mori-idle呼吸 5s + 微光暈
recordinglogo + 紅點(planned)mori-recording水波紋天空藍 ring + 音量光暈 + ripple
thinkinglogo + 旋轉點(planned)mori-thinking森林綠雙環 spin + 葉間光斑 breathe
donelogo(短暫綠光)mori-done柔暖光暈 + 微 bounce
errorlogo + 黃 badge(planned)mori-error微紅 + 抖一下
sleepinglogo(灰)mori-sleeping淡化 + 下沉

Notifications

Mori 主動通知時(背景排程提醒 / 失敗 / etc.):

實作位置