Home About Projects Blog Graph Resume Contact 中文
Back to list
2026年7月1日

FLL Desktop Pet

A Windows desktop pet built with Vue 3, Tauri and Live2D, with cursor tracking, six-part hit-area calibration and AI chat.

#Vue 3#TypeScript#Tauri#Live2D#PixiJS

FLL is a Live2D pet that lives on the Windows desktop: the character sits in a transparent window, turns its head to follow the cursor, opens a radial menu on right click, and can hold a conversation.

What I built

  • Live2D rendering: PixiJS + Cubism 4 driving the model, with model3 / moc3 / physics / expression assets. Falls back to the Hiyori sample when the real assets are not in place.
  • Cursor tracking: eyes, head and body track in three separate layers, and it keeps following even when the cursor leaves the window. Turning tracking off resets every parameter immediately with no leftover inertia.
  • Hit-area calibration: four points each for head, torso, both hands and both legs, plus the centre of both eyes. The calibration decides which pixels respond and which let the cursor pass through.
  • Dynamic click-through: the transparent window passes the cursor through by default, and only reacts on the character body. The radial menu opens on the body only, and click-through resumes the moment it closes.
  • Interaction feel: a short tap plays an action; the window only becomes draggable after holding for about 90ms, so you don’t drag the window when you meant to tap.
  • Service layer: conversation, notes and personality are separate services, so logic and UI are maintained independently.

Stack

Vue 3 + TypeScript + PixiJS + Live2D Cubism 4, with Tauri and Rust for the desktop shell.

What it left behind

Every step is archived as a dated log — asset placement, four-point calibration, click-through, a white-screen fix and the radial menu extension — each one recording the symptom, the root cause and how it was verified.