{
  "id": 17794861,
  "title": "What should a vector editor remember after you hide its panels?",
  "url": "https://urgent.news/2026/11/02/what-should-a-vector-editor-remember-after-you-hide-its-panels",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-02T12:37:35.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/_f2ad1d4a811a87449655b/what-should-a-vector-editor-remember-after-you-hide-its-panels-afd"
  },
  "original_language": "en",
  "account": "In the Si browser-based vector editor, three levels of hiding the workspace interface exist: allHidden, sideHidden, and collapsed. These fields describe hiding the entire interface, only the side area, and maintaining a compact panel arrangement, respectively. The reducer toggles these fields independently, and an explicit panel selection clears the hiding flags, allowing the previous layout to be restored. The layout and selected panel preferences are essential for retaining user experience, so a temporary hide command should not permanently erase these settings. The writeWorkspace function persists the layout by storing three fields (allHidden, sideHidden, and tool) in the browser's local storage. The read path initializes from default values, checks the storage version, accepts recognized panel names and units, and limits the width to 220-420 pixels. If invalid JSON or storage failures occur, the system defaults to the preset preferences. The keyboard boundaries also play a role in preserving the workspace state. Shift+Equal could sometimes be interpreted as = instead of +, but the current keyboard normalizer resolves these inputs to the Plus symbol, mapping it to the tool.addAnchor command. Ten isolated source checks, including keyboard routing, composition rejection, reducer transitions, transient reset, width bound, and malformed JSON fallback, all passed successfully. These tests validate that normalized input changes explicit state, persistent preferences survive reload, and temporary interactions do not become permanent preferences.",
  "summary": "A familiar editor layout has to do more than resemble its reference. In Si, our browser-based vector editor, the workspace must distinguish a persistent preference from a temporary interaction. This is the second development entry, following a study of request-time document snapshots. Three meanings of “hidden” The current workspace source has three separate fields: allHidden , sideHidden , and…",
  "key_points": [
    "Si browser vector editor has three hiding levels: allHidden, sideHidden, collapsed",
    "reducer toggles hiding fields independently, panel selection clears flags",
    "writeWorkspace persists layout in local storage with allHidden, sideHidden, tool fields"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}