Evaluate lifecycle-sensitive Observable stdlib helpers for notebooks #132
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#132
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Evaluate the remaining lifecycle-sensitive System Guide helpers that could fit the existing Lapis notebook runtime without reopening the broader decision against full Observable runtime compatibility.
Problem
The current notebook runtime already exposes the low-risk helper subset used by the System Guide, including
display,Inputs,html,svg,md,tex,d3,Plot,DOM,Generators, andPromises. The remaining helper gaps are harder:now,width,visibility, andinvalidationdepend on lifecycle, visibility, rerun, teardown, and resource ownership semantics that Observable normally derives from its observer runtime.Goal
Define which lifecycle-sensitive helpers Lapis notebooks can support under explicit notebook execution ownership, implement only the compatible subset, and document any helpers that stay unsupported by design.
Scope
now,width,visibility, andinvalidationagainst the existing notebook session model, worker/in-process split, DOM output registry, rerun commands, and teardown/cancellation behavior.Non-goals
mdandtexhelper behavior in this issue unless a lifecycle helper requires shared infrastructure.Acceptance Criteria
Implementation Notes
invalidationas the highest-risk candidate because it implies a per-cell resource lifecycle contract that must compose with worker termination and in-process DOM outputs.Suggested Files or Specs To Inspect
packages/notebook/stdlib/src/**packages/notebook/src/lib/runtime/**packages/notebook/src/notebook-plugin.tsspec/src/20-packages/plugins/notebook/documents-and-runtime.mdspec/src/20-packages/plugins/notebook/observable-system-guide-parity.mdValidation Commands
Follow-up Tasks
penguinsseparately from runtime helper semantics.Implementation Summary
Added now and rerun-scoped invalidation helpers, documented unsupported width/visibility, and updated language-service globals.
Add selected Observable System Guide stdlib helpers that fit the Lapis notebook runtimeto Evaluate lifecycle-sensitive Observable stdlib helpers for notebooks