mirror of
https://github.com/nyakang/nyaterm.git
synced 2026-10-05 00:01:00 +00:00
While tracing consumers for the previous commit two things turned up that the next person should not have to rediscover. `OverlaySnapshot` is a same-render round-trip. `Render` publishes it in its prologue and `overlay_host` reads it back a few calls later; when the snapshot is absent, the fallback recomputes every field from the same `self` fields it was published from. That fallback is proof the renderer never needed the store. It is not a staleness bug today only because the publish happens earlier in the same pass. And `AppShell` deliberately does not observe the stores — there is a comment explaining that store-observe was amplifying every publish into an extra shell paint — so the `cx.notify()` inside each publish has no subscriber. Both point at the same conclusion for `Workspace`/`Session`/`Overlay`, but that change lands in the render path and the publish throttle, so it belongs in its own round after the current one is verified.