Repository navigation
animaEngine 1.5.0
animaEngine 1.5.0
The characters come to life, and the overlay finds a place in your day.
Most of it is off until you turn it on.
What you'll notice
- They are alive, if you want them to be. Tap a character, even
outside edit mode, and it hops, says one of its own lines and plays
its sound, with a few hearts. Characters can follow one another, play
tag, greet each other when they meet and bump into each other; they
fade in and out, keep hours of their own, and can be livelier in the
morning and slower at night. - Around your day. Reminders every so often or at a set time, said
by a character in a bubble — and, if you like, as a desktop
notification with a sound. A focus timer. Bedtime. Snooze for a
while from the tray. While you are away they doze, and greet you when
you come back. They step aside while a game, a video or a
presentation fills the screen, or while an app you choose is in
front, and can live behind your windows instead of over them. - Editing. Undo and redo (
Ctrl+Z,Ctrl+Shift+Z). Select several
characters — Shift+click or a rectangle — and move, change, group,
line up or space them together; drags snap. Copy, cut and paste
characters, or paste a picture copied in another app. Throw one. - Scenes and files. Save what is on screen under a name, with a
picture, and switch between scenes from the Scene tab, the palette,
the tray or on a schedule. Share a scene or one character as a single
file, save a character as a GIF, and back up everything in one file to
restore on another machine. - Sounds at the volume you want: one volume for everything and one
for each character, quiet at bedtime, mute from the tray, a shortcut
or D-Bus. - New global shortcuts:
Super+Alt+A,HandP(Win+Alton
Windows) open edit mode, hide the overlay and pause, in a new config.
The oldCtrl+Shift+A,HandPwere taken from every app while
this one ran — VS Code's command palette, Firefox's private window,
KDE's Deselect. An existing config keeps the shortcuts it has. - Without a mouse.
Shift+F10or the Menu key opens a character's
right-click menu,Ctrl+Aselects every character,Nsteps through
them, andTabmoves through the settings panel. The F-keys can be
bound. - Lighter. The overlay barely works while nothing moves: hidden,
snoozed, paused or asleep it wakes a few times a second, where native
Wayland used to draw sixty frames a second, and a hidden overlay on X11
as many as a shown one. With several monitors, each one's overlay
draws only when something on it changes. It also starts sooner and
sets up the GPU with less memory and fewer threads. And while
characters move, it can draw thirty frames a second instead of sixty
— always, or only on battery — at the same speed: on a laptop's
integrated GPU that halved the time drawing took. - Ten characters of its own, and a welcome. The ghost, the slime,
the heart, the star and the cat are drawn again — outlined, lit, with
eyes that blink — and a bunny, a frog, a robot, a cloud and a mushroom
join them, in Library's Built-in characters and the Meadow friends
preset. They walk, fall, dangle when you pick them up and fall asleep
when you are away, each with drawings of its own. The first time you open edit mode, a welcome lets you choose
which of them are on your desktop, the language and whether the app
starts at login. A new icon, too. - In your language, more of it. The tray, the presets, the reasons a
file is refused, a first run's characters and what delivers the global
shortcuts were English in every language; they are translated now, in
all ten, and the Keybindings tab names the keys as your keyboard
labels them. A count is said as your language says that number — "60
de minute", "5 postaci".
Fixed
A selection of what was wrong before 1.5:
- Global shortcuts on GNOME under Wayland —
Ctrl+Shift+A,H,
P— worked only while one of the app's own windows had the keyboard.
The app asked GNOME's shortcuts portal before GNOME knew which app was
asking, and fell back to an X11 grab. It says who it is now; the first
time, GNOME asks you to allow the shortcuts, and the app waits for
your answer for up to ten minutes. - Logging out or shutting down with the app running lost whatever it
had not saved yet — edits still in edit mode, a pause from the tray.
It saves on the way out now, as its own Quit always did. - Installed from a package and started from the desktop's menu, the app
made anassetsfolder in your home directory, for its demo
characters' pictures. They live in its data directory now; an
~/assets/demofolder left behind can be deleted. - Saving never wrote the sprite groups back: a deleted character's id
stayed in its group, and a character added later under the same id
joined that group at the next start. - Native Wayland drew sixty frames a second whatever the scene did, and
edit mode did on both backends. - Sounds stopped for good when the sound server restarted.
- Leaving edit mode or hiding the overlay in the middle of a drag left
the character frozen, or carried it to the pointer afterwards; on
native Wayland with several monitors, hiding left the other monitors'
characters on screen. - The right-click menu of a character on another monitor opened on the
wrong one; opened from the keyboard, no key reached it there and a
screen reader did not see it — it now opens on the panel's monitor. - On native Wayland at a scale above 1 — 150 %, 200 % — the settings
panel came out twice its size, clicks on it missed, and everything
was blurred. Each monitor is now drawn sharp at its own scale. - The settings panel's footer covered the last row of a long tab, and
the panel's text fields had no copy and paste. - The settings panel grew wider in some languages, on the Keybindings
tab in all of them, and a screen reader found some controls without a
name. - On native Wayland, starting the app again while its characters were
hidden did nothing; it shows them, as on X11. - A folder of PNG frames can be dropped, as one animation; a picture
saved under the wrong extension is known by what it holds; and an
unreadable picture is refused in your language, without the decoder's
jargon or the file's whole path. - Tabbing through the settings panel scrolls it to the focused control;
it used to go on out of sight below the panel's edge. - The command palette finds a label typed without its accents —
"atip" finds Ațipește, "theme" thème. - The tray's menu caught up with a click only up to three seconds later:
snoozed from it, it still offered to snooze. It changes at once now. HandIonly wrote to the log:Hopens the Keybindings tab now,
every shortcut, andIthe Inspector.+raises the opacity on a US
keyboard too, and on native WaylandCtrl+Shift+Hhides the overlay
in edit mode, as on X11.- After an upgrade, a new action's default could take a shortcut you had
set, and the Keybindings tab could not remove a new action's default. - Duplicate failed for the demo characters when the app was started from
the desktop's menu, and kept only a character's size and opacity. It
copies the whole character now. - Recording a shortcut, the key also did what it was already bound to:
Escape left edit mode,Ssaved — on X11 a global one too, as
Ctrl+Shift+Ppaused. - The frame cache kept every picture at its full size, and each start
made it smaller again: a 1024² sequence of 24 frames took 96 MB on
disk for the 6 MB it uses. It keeps them as they are shown now. - "Reset onboarding hints" did not bring "What's new" back, and a tour
started again began at its last step. - Two warnings could be written every frame — an X11 window on another
monitor, a picture read back on Windows — and fill the log; each is
said once now. A character listed in two groups did the same. - Building from source as the README said stopped on a clean system: a
library it needed was missing from the list, and six it named were
never used. The AUR package did not build on current Arch at all;
it does again. - A GIF cut short, dropped or added from the library, froze the app and
filled the log. Its frames before the cut show, or it is refused if
there are none. - With more than 256 pictures in the library, the Library tab would not
open. It does, and a broken file in it, or dropped, says why in your
language; a file deleted from the library folder leaves the list. - From the keyboard or a screen reader, the time fields took no arrow
keys and seven lists stayed open after a choice; renaming a group
typed in front of its name.
Changed
- A new app id,
eu.animaengine.Anima, after the project's domain,
animaengine.eu. If you pinned animaEngine to your dock, pin it again;
a desktop that granted its global shortcuts asks once more. Shortcuts
bound in sway, Hyprland or river with the old D-Bus name keep working. - On a laptop with an NVIDIA GPU beside an integrated one, the
NVIDIA GPU is left asleep: loading its driver woke it, and starting
and quitting each took some 3 s longer.prime-runstill draws on it. - Lighter with nothing moving. Characters animating at the same rate
change frames together now: five standing still draw a third of the
frames they did, and the compositor, which redraws the screen for each,
does a quarter of the work. - On X11 with a screen scale factor above 1, the characters are
drawn at it too, as the panel always was: at 200 % they were half the
size they are on native Wayland. - Sharp on a HiDPI screen. A picture larger than 256 pixels was kept
at 256 and, on a 200 % screen, drawn twice as large. It is kept at the
screen's scale now, up to 512 pixels, and shows at the same size —
on each monitor, at its own scale. - Messages show outside edit mode too, in the bottom-right corner,
and clicks go through them: one raised while the panel was closed — a
reload, a refused file, a pause from the tray — was gone before anyone
opened it. - Cycle character is on
N.Tabbelongs to the settings panel's
focus, where it never cycled on X11 and only once on native Wayland.
A config that still hadTabthere as it came moves toN; one set
by hand stays. - A config written by a newer version no longer costs the whole
file, nor does a scene, a shared file or a backup: what this version
cannot read is left out, with a banner or a toast, and kept in the
file for the version that wrote it. - Five things are on from the start, each with its switch: stepping
aside for full-screen apps, dozing after ten minutes away and the
welcome back, the little effects, and snapping while dragging.
Security
From an audit of 1.5 (security-audit-2026-10-15.md,
in Romanian) and the fuzzing of every new file reader:
- Every picture is decoded within the same limits on its size and
memory, whichever way it arrives; a GIF or WebP that claimed a huge
frame could ask for gigabytes, and a cut-short GIF looped forever. - Desktop notifications escape their text: a reminder from a restored
backup or a name from a shared scene could carry links or images to a
server that reads markup. - A paste from the X11 clipboard has a deadline, and a script's output
goes to the debug log only. - 23 crates left the build (URL and ICU parsing, a browser launcher) with
a link feature the app never used; the others are at their latest
compatible versions.
Compatibility
- Upgrading: additive. A 1.4 config loads with every value kept —
configs written by 1.0 and 1.4 themselves are test fixtures now. - Going back to 1.4 or earlier: they read a 1.5 config as long as it
holds nothing they lack. Once it does — a character that follows
another or plays tag, say — they start with the default scene and keep
your file beside it asconfig.toml.bak-corrupt; copy it back after
upgrading again. (Checked both ways with a build of 1.4.0.) - D-Bus: new methods
StartFocus,StopFocus,Snooze,Wake,
NextScene,SetMutedandToggleMute; the old ones are unchanged. - Flatpak: two more read-only D-Bus names, for the idle time
(org.gnome.Mutter.IdleMonitor) and the battery
(org.freedesktop.UPower). - The frame cache is in a new format: the first start after the
upgrade decodes each picture again, once, and replaces the old file. - New setting:
[global] frame_rate(smooth,light,
light_on_battery); 1.4 ignores it. - No change to the CLI, or to where the config and the data live; 1.5
adds folders inside them:scenes/besideconfig.toml, anddemo/
in the data directory for the first characters' pictures. See
stability-policy.md.
Known gaps in verification
Everything in 1.5 was run in the headless test rig on both backends —
sway with software rendering, a private D-Bus and PipeWire, stand-ins
for the portals, Mutter's idle monitor and the notification server —
plus the X11 shortcuts and two monitors on a real X server, the .deb
and the AppImage built by the release scripts and run, and the unit
tests under Wine.
On the maintainer's laptop (GNOME on Wayland, an AMD integrated GPU
beside a sleeping NVIDIA one) the installed .deb ran: the shortcuts
portal took the session, the NVIDIA GPU stayed asleep, and the GPU time
of thirty and sixty frames a second was measured. Still to be checked
there, with a sound card, Orca and the AppIndicator tray: the list in
gnome-checklist-1.5.md. The Windows build
compiles and its unit tests pass under Wine; it has not run on real
Windows. The new text is machine-translated in nine of the ten
languages.
The full list is in CHANGELOG.md.