openpencil/crates/op-host-native
Kayshen-X 89151683b0 refactor(desktop): extract collab runtime into op-collab-host crate
The 9.8k-line collaboration runtime was welded to the desktop GUI
(WidgetHostNative + winit EventLoopProxy), so the web daemon and future
satellite hosts could not run sessions. Split the host coupling behind a
CollabHost trait + wake notifier closure, then move the runtime, JWKS
fetcher, and tests into the new leaf crate op-collab-host:

- CollabHost (CollaborationEditorHost + dirty/id-namespace hooks) with a
  HeadlessCollabHost for daemon and test use; the WidgetHostNative impl
  lives behind op-host-native's gl-host feature
- async work reaches sync relay/JWKS code through an injected
  BlockingExecutor (process-global OnceLock) instead of depending on
  op-host-services, keeping the crate graph acyclic
- desktop keeps a thin shim (type alias + wake closure); call sequence
  and test assertions unchanged, 154 runtime tests moved as-is
2026-08-07 19:55:26 +08:00
..
assets fix(web): use browser fonts in canvaskit shell 2026-06-19 02:39:34 +08:00
examples feat(desktop): adopt the casement winit fork 2026-05-18 21:45:09 +08:00
notes
src refactor(desktop): extract collab runtime into op-collab-host crate 2026-08-07 19:55:26 +08:00
tests feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
Cargo.toml refactor(desktop): extract collab runtime into op-collab-host crate 2026-08-07 19:55:26 +08:00