aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/companion/Figure.qml
AgeCommit message (Collapse)AuthorFilesLines
14 hourscompanion: stay out of view when the shell starts with her hiddenDanilo M.1-0/+7
A shell started with Prefs.companion false created the Figure with out already true. A starting value fires no onOutChanged, so the drop never ran and she was drawn in place. Hidden, her 200 ms clock does not tick, so every timed step froze: an empty desktop left her on the watch frame of the wallpaper blush, and a balloon left her on shoved, never mad. Toggling her on made the bug look fixed until the next restart. The body is now invisible while out and not animating, and the first entrance after such a start begins from below like any other. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 hourscompanion: she trembles while she blushes at a wallpaperDanilo M.1-3/+15
A 1.5 px shiver side to side, 160 ms a cycle, for the blush3 half of admire only; a click burst's blush3 stays still. Put back to rest on stop, since an infinite animation stopped mid-swing keeps its offset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 hourscompanion: the window, her inputs and her drawingDanilo M.1-0/+147
Companion.qml is a Top-layer PanelWindow bottom-right of the focused monitor, masked to her body so every other click passes through. It gathers the inputs (Hyprland's custom typing and delete events, the assistant's state and replied signal, the balloons on her screen, three IdleMonitors, clicks and a hover), hands a snapshot to Mood.js, and speaks from Lines.js. Figure.qml crossfades frames, bobs, drops out of view and back, and plays the self-destruct. Figure.qml was planned as Sprite.qml, but QtQuick ships a Sprite type and an explicit import beats the directory's own file: the shell failed to load with "Cannot assign to non-existent property onSettled". Maximised windows report fullscreen 1 and most windows here are, so only 2 hides her. She only feels the pointer once it is on her, so the dodge waits 0.6 s and a quick click still lands. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>