face: her postures reach the rig, and she stops miming on startup
`posture()` called window.live2dMotion, which does not exist — measured undefined on the device. Nine states advertised to her in the prompt and wired to nothing. The bundle exposes two levers: #live_talk, a motion slot it reads every frame, and its own head/body hit test. The nine collapse onto those rather than pretending: speaking talks, idle rests, and the rest are a look — head for attention, body for effort. #live_talk starts at "0". "1" means start a talk motion, so she came up mouthing words with no voice behind them. The gaze socket used onConnectedChanged; Quickshell's Socket emits onConnectionStateChanged, so the subscribe was never sent — a handler for a signal that does not exist.
This commit is contained in:
parent
e218601199
commit
47e8135cdc
2 changed files with 56 additions and 4 deletions
|
|
@ -329,7 +329,13 @@ Singleton {
|
|||
path: (Quickshell.env("XDG_RUNTIME_DIR") || "/run/user/1000") + "/souveraine/viewtop.sock"
|
||||
connected: root.joined
|
||||
|
||||
onConnectedChanged: {
|
||||
// `onConnectionStateChanged`, not `onConnectedChanged` — Quickshell's
|
||||
// Socket emits the former, so the latter is a handler for a signal
|
||||
// that does not exist and never runs. The subscribe was therefore
|
||||
// never sent, the compositor never pushed, and she never followed a
|
||||
// finger. `ViewtopControl`'s feed had the right idiom the whole time.
|
||||
onConnectionStateChanged: {
|
||||
console.log("[face] gaze socket connected=" + gaze.connected);
|
||||
if (gaze.connected)
|
||||
gaze.write('{"op":"gaze"}\n');
|
||||
}
|
||||
|
|
@ -343,6 +349,9 @@ Singleton {
|
|||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
if (root._gazeSeen === undefined) root._gazeSeen = 0;
|
||||
if (root._gazeSeen++ < 4)
|
||||
console.log("[face] gaze push: " + line);
|
||||
if (m.ok !== undefined && m.down === undefined)
|
||||
return;
|
||||
if (!m.down) {
|
||||
|
|
@ -357,6 +366,7 @@ Singleton {
|
|||
// Where her window sits on the panel. Read from the compositor's own
|
||||
// furniture report rather than assumed, because the layout decides it and
|
||||
// it moves with the zone.
|
||||
property var _gazeSeen: undefined
|
||||
property real originX: 0
|
||||
property real originY: 0
|
||||
|
||||
|
|
@ -364,7 +374,7 @@ Singleton {
|
|||
id: whereAmI
|
||||
path: (Quickshell.env("XDG_RUNTIME_DIR") || "/run/user/1000") + "/souveraine/viewtop.sock"
|
||||
|
||||
onConnectedChanged: {
|
||||
onConnectionStateChanged: {
|
||||
if (whereAmI.connected)
|
||||
whereAmI.write('{"op":"state"}\n');
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue