BonitoSlate: live WGLMakie/Bonito over Slate's transport (issue #7) #9
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kahliburke/KaimonSlate.jl!9
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-feat+bonito-support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #7 (Bonito/WGLMakie support).
Routes interactive Bonito.jl / WGLMakie figures over Slate's own per-notebook
transport (no extra port), including reliable browser-reload of live figures.
Ships as the
BonitoSlateexample extension on top of new core plumbing.Core (affects all Slate users — additive, low-risk)
provide_served_asset!/served_asset(content-addressedbyte serving), the
slate_live_rendertrait, andon_live_reset/run_live_resets.GET /n/{id}/served/{hash}(lazy worker fetch, cached, immutable) + worker/gate tools + a no-evict store.
(
_LIVE_OUTPUTS), re-run it fresh per connect, deliver via a flat base64 gatereturn; page-serve swaps a live figure for a non-booting placeholder so a stale
fragment never collides with the fresh re-render; one immortal per-notebook
debouncer coalesces reload bursts. All of this no-ops for notebooks without
slate_live_renderoutputs, andlive_placeholderonly rewritesbonito-fig-card.slider in Settings (covers ECharts too).
use_slate_theme!()instead of forcingtheme_dark().BonitoSlate extension (experimental)
SlateConnection(Bonito frames over Slate's WS),SlateAssetServer(bundle servedonce), figure card + served Bonito runtime, shared page-root for arbitrary figures.
Reliability status (honest)
close+reopen cycles, can wedge the hub re-render until an extension restart. Scoped
to the live-WGLMakie feature; ordinary notebooks are unaffected. WGLMakie itself is
officially experimental and doesn't render the
Axis3box (see NOTES, not committed).Integration & tests
Merged current
origin/main(36 commits: cell actions,provide_assets!, ECharts fixes,teardown-deadlock refactor, SlateAFM, …). Conflicts resolved in
capture.jl,server_complete.jl(kept origin's deadlock-safe teardown + re-added the live-rerenderstop), and the SEB test. Full suite: 4801 pass / 0 fail / 0 error.