SCENEGOD/logs
type-two df4e06f047 [laneA] M4-A visemes + applyState source:none fix
- stage: detectVisemes() maps CC/ARKit/plain morph names -> canonical
  A/E/I/O/U/MBP/FV/L at character load; visemeTargets(id) + setMorph(id,name,w)
  for the timeline to drive lip sync; visemeSelfCheck() asserts the matcher
- dock: inspector 🗣 badge (greyed when a rig has no mouth morphs)
- stage: camera/light default source:{type:'none'} (PLAN §4.1); applyState
  skips only upload mesh/backdrop bytes -> rig survives save/load (SYNC4)

Verified live at :8020: selfcheck ok=[A,FV,L,MBP,U]; save/load keeps cam+light.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 21:19:07 +10:00
..
shots [laneA] M3-polish: PiP cap+swap, spec-gloss GLB fix (lady renders textured) 2026-07-18 20:49:22 +10:00
laneA.md [laneA] M4-A visemes + applyState source:none fix 2026-07-18 21:19:07 +10:00
laneB.md [laneB] log: M2 session 3 2026-07-18 20:41:59 +10:00
laneC.md [laneC] log: rhubarb endpoint 2026-07-18 21:10:54 +10:00