D3: right columns are tab-group frames split vertically; migrated native windows keep their place

- Default's right column is a short Preview frame (fixed 76 pt: tab strip and a 46 pt body)
  over a Properties frame with Align, Audio and Effects & Presets as tabs. Essential Graphics'
  right column is one Properties / Effects & Presets frame. No built-in workspace uses
  accordions, so a frame there takes tabs and Maximize acts on one frame.
- Workspace files of version 1: a column of stacked frames becomes tab groups split top to
  bottom. Each open frame keeps all its tabs and its height as a fixed size; a closed frame's
  tabs join the open frame above it.
- Version 1 stored a native panel window's outer position; craft-ui places windows by their
  content. The migrated rect moves by the main window's frame offset once the main window
  reports it, and workspaces are not saved before.
This commit is contained in:
aiongg
2026-10-25 06:14:43 +00:00
parent e80aba8572
commit 0411cb205c
11 changed files with 278 additions and 104 deletions
+5 -3
View File
@@ -239,8 +239,10 @@ Saved workspaces (`workspaces.json`, version 2) hold craft-ui `Workspace`s: the
closed panels with where each goes back, the lock, and each floating window's desktop place. A
version 1 file (EffectCraft 0.10 and earlier) and the older unversioned record of
named workspaces load with every panel in place: the current layout, the named workspaces,
floating windows and their native window places. A stacked frame with several tabs becomes one
stacked panel per tab, the shown one keeping the frame's open state and height. Panels that were
closed stay closed and reopen at their default place. The first save writes version 2 and keeps
floating windows and their native window places. A column of stacked frames becomes tab groups
split top to bottom: each open frame keeps all its tabs and its height (as a fixed size), and a
closed frame's tabs join the open frame above it. A native window's place moves from the OS
window's outer position to its content's, by the main window's title bar, before the first save.
Panels that were closed stay closed and reopen at their default place. The first save writes version 2 and keeps
the earlier file as `workspaces.old.json`. A damaged, unknown or newer file loads as the default
layout and is left unchanged.