fix(ui): scope spatial tools to scene

This commit is contained in:
DCCONSTRUCTIONS
2026-07-18 11:31:44 +03:00
parent 574a494759
commit 0ac6424c46
9 changed files with 216 additions and 142 deletions
+4 -2
View File
@@ -36,8 +36,10 @@ sessions contain no recoverable video.
the right half of the bottom timeline. The left half changes point-cloud
accumulation. The recorded timeline is zero-based `session_time`.
8. Use the first disk button to save the current workspace layout. The next
opening restores display settings, tool windows and dynamic source-window
positions. This action saves no sensor evidence.
opening restores display settings and dynamic sensor-source window
positions. The transient **Движок / Слои / Отображение** tool windows are
scoped to the mounted spatial workspace and are never persisted. This action
saves no sensor evidence.
Mission Core does not switch an active acquisition to another spatial source.
Every nonterminal or unknown acquisition state fail-closes saved-session replay,
@@ -167,16 +167,19 @@ The first disk action in the spatial workspace saves only the versioned
`observation.spatial` layout document:
- scene display settings;
- open tool windows and their z-order;
- visible dynamic source identifiers;
- active floating source;
- source-window rectangles normalized to the observed viewport.
The document uses optimistic revision control (`ETag` and `If-Match`) and is
restored automatically on the next opening. Unknown source identifiers remain
desired state so a temporarily disconnected camera can recover its saved
window when that source returns. The save action never starts, completes or
modifies an observation session.
Schema v2 deliberately excludes open/closed state and z-order of the transient
**Движок / Слои / Отображение** tool windows. They are children of the mounted
spatial workspace, close on every workspace/root/content exit and always start
closed. Startup migration removes the obsolete `tool_windows` object from a
stored schema-v1 row. The document uses optimistic revision control (`ETag` and
`If-Match`) and is restored automatically on the next opening. Unknown source
identifiers remain desired state so a temporarily disconnected camera can
recover its saved window when that source returns. The save action never starts,
completes or modifies an observation session.
### API boundary