| Age | Commit message (Collapse) | Author | Files | Lines |
|
A DJ burst ranks just below the headphones sing, so both arriving together
sings first. Music turns only the first idle stage into a groove: yawning
and lying down still win, so music does not keep her awake and the
screensaver handoff is unchanged. The groove pick is an input, keeping
pick() pure.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
She now reacts to the headphones connecting with a short singing pose:
eyes shut, blindfold gone, mouth wide open, headphones on, a few musical
notes. The frames are new klein edits in frames.txt (dress/sing from
dress/base, leotard/sing from dress/sing), so a post-self-destruct sing
has its own art.
Detection is the island's rule (StatusPill.qml): by model prefix, since
BlueZ gives no class that says "headphones". The device's BlueZ Name is
WH-CH720N, which the alias does not affect. The reaction is a one-shot
hold in Mood.js (singHold, 4 s), placed after wave like the other event
reactions. A 4 s startup grace keeps a shell start with the headphones
already on from counting as a connection, since Bluetooth reads empty
for about 2 s.
|
|
SUPER+\ now plays a short goodbye instead of dropping her at once: she cycles wave-l and wave-r around the existing wave for a sway, then the normal drop. One hide in four she also says a bye line, non-forced so the usual 30 s cooldown applies; the hold matches what showed, 2 s with a line and 1 s silent.
The sway is klein edits of dress/wave rather than base, so the arm stays up and only the hand moves; the leotard twins come from their dress frames. The leotard rerolled to seed 7 because the first seed left a faint alpha fringe that widened the canvas and made the flip jitter.
Fullscreen, the lock screen and the monitor hop keep their own exits and do not wave.
Also carries the pending onFocusedChanged guard: with no focused monitor, or already away, she moves at once rather than waiting for an exit that will never settle.
|
|
Settings > Desktop > Companion takes the seconds she stays in the
leotard after the self-destruct, 60 as before. Switched off, she keeps
it until she is hidden and shown again, which already put the dress
back early. Mood.outfit takes the time instead of reading T.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The watch back view for 1.5 s, then blush3 for 3 s, at most every 3
minutes. Below clicks, so a click during it wins; above the mock and
typing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The balloon arrives almost at once, so 1.2 s of stumbling outlasted the
push. She turns mad beside it after half a second.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The shoved frame held for as long as a balloon stayed, which read as
her stumbling for ten seconds. It now lasts T.shoveHold (1.2 s), then
she is mad beside the balloon until it goes. shovedAt is reset to 0 when
the shove ends and 0 reads as the shove's first instant, so the binding
cannot show mad for a tick before the handler stamps the time.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The spec's priority table as a pure function over a snapshot of her
inputs, with the click burst, the outfit after the self-destruct, the
mock and line cooldowns and the monologue's odds beside it. Pure so the
node check can drive it with a fake clock; Companion.qml will own the
inputs and timers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|