Package-level declarations
Types
Mirrors BindingPresentation's shape for JSON persistence.
One page's persisted state: the document it holds (or scratch text), its query/history, and its resolutions - everything restoreWorkspace needs to recreate the page without re-running anything.
Mirrors ResolutionHistoryEntry's shape for JSON persistence; converted back via toResolutionHistoryEntry.
Mirrors SolutionPresentation's shape for JSON persistence; converted back via toSolutionPresentation.
The whole persisted application state - shared shape and capture/restore logic every frontend (ide-swing, ide-web, ...) can build on, regardless of how each actually stores it (a file, localStorage, ...).
Functions
Captures the pages currently open in state as a PersistedWorkspace, ready to save - shared by every frontend (ide-swing, ide-web, ...) regardless of how it actually stores the result (a file, localStorage, ...). pageFontSizes is consulted for each page's own zoom level, where the frontend supports one, falling back to the workspace-wide fontSize when a page never had its own; windowWidth/windowHeight/windowX/ windowY/lookAndFeel are left to null by frontends with no window or look-and-feel concept (e.g. ide-web).
Replays a previously-captured PersistedWorkspace as workspace/page actions against controller - every document, each with its query, query history, and resolution/Solutions-tree history. Applying the workspace's look-and-feel, window bounds, and each page's own editor zoom level (where the frontend has any of those) is frontend-specific and left to the caller; this function only touches the toolkit-neutral GuiController state.
Converts to the persisted, JSON-serializable shape.
ResolutionStatus.COMPLETED is the safe fallback for a status name this build no longer recognizes.