mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-28 03:57:44 -06:00
The Project panel (like other panels) runs comp.open while it draws, so the new comp became the active comp mid-frame. Later in the same frame the active, locked viewer drew and recorded the active comp as its own. On the next frame on_open_comp compared that record with the opened comp, found them equal and skipped the lock, so the locked viewer switched comps. The active viewer no longer records its comp while an OpenComp event is pending (it asks for a repaint instead); on_open_comp then sees the comp the locked viewer really shows and routes the new one to an unlocked or new viewer. The viewers test's click helper now releases a frame after the press, as a hand does: a press in a tab strip focuses the shown panel first, and a same-frame press and release refocused it after the tab's own click. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>