771b8ef180
The frame writer initialized lastFrame to "" and also reset it to "" on clear(). Since commit() calls clear() then write(), any component that painted to an empty string (e.g. Transform with no children, or a component returning null after unmounting children) would be deduplicated against the cleared state and never emitted. Use null as the sentinel for "no previous frame" so the first write after a clear always goes through, even when the frame is empty. Fixes: Transform with null/undefined children tests Fixes: Focus unmount crash tests (stale frame persisted) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>