Urgent.News

What's breaking now, across thousands of outlets.

Tech

What should a vector editor remember after you hide its panels?

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…

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.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

在多台远程服务器上并行跑 Codex:worktree 应该怎么分

并行跑 AI 任务,常见的阻碍往往不是模型能力,而是目录。 两个会话在同一个工作目录里改代码,A 刚写完的文件可能被 B 覆盖;你打开文件准备保存,界面提示版本已经过期;测试失败时,也很难判断是哪一个任务改坏的。机器一多,问题还会多一层:任务到底跑在哪台服务器、哪个目录、哪个分支? Git worktree 能解决其中一部分问题,但它不是「把同一个目录挂到多台机器」的魔法。这篇讲清楚…

ElevenLabs free plan: 10,000 credits is about ten minutes of audio

Ten thousand credits sounds like a lot until you convert it: about ten minutes of finished speech a month. What the free plan includes Item Free plan Monthly credits 10,000 Roughly 10 minutes of…

  • ElevenLabs free plan offers 10,000 credits
  • Credits equate to about 10 minutes of audio per month
  • Commercial license required for monetized use

More from Monday 2 November →