feat: reveal all hidden shapes with Shift+H, release SAM3 VRAM on idle and on demand (REQ-191, REQ-192)

This commit is contained in:
asus committed 2026-10-07 11:55:00 +07:00
1 parent f5be7880b0
commit fd608848bf
16 files changed
+290 -20

No files matched your search

+17
View File
@@ -276,6 +276,13 @@ changes.
auto-overridden so the user sees what they just made. Like the class eye, this is session
state: it survives frame changes, resets when the review page is left, and never touches
stored data.
- **REQ-191** — `Shift+H` in the review editor toggles a **reveal-all overlay**: every hidden
shape — `H`-hidden shapes and shapes of hidden classes alike — is drawn on the canvas again
while nothing about what is actually hidden changes. A second `Shift+H` turns the overlay
off and the previous hidden state is back exactly as it was. While the overlay is on, the
"Shapes on this frame" panel shows a chip saying shapes are being revealed, and a plain `H`
drops an active overlay first instead of hiding anything, so from then on the keystroke
edits the real hidden state. Session-only, like the hide state itself.
## E4. Live counting preview
@@ -479,3 +486,13 @@ changes.
folder has moved once already and everything in it must survive the next move), which
strengthens the never-hardcoded rule of REQ-072. Training, preview, the batch job, model
download and live counting all reach the same weights through this one resolution.
- **REQ-192** — The SAM3 model's ~4 GB of VRAM is not held forever. After
`SAM3_IDLE_UNLOAD_S` seconds (default 1200 = 20 minutes; `0` never; an environment
variable, per REQ-072) without any SAM3 use, the model is released — through the same
release path training already uses (REQ-065) and under the same one-holder rule: a job or
an interactive assist in flight postpones the release to the next check, it is never
interrupted. `POST /api/sam3/release` frees it immediately instead of waiting, and answers
`409` while the GPU is busy. `/api/health`'s `model_loaded` field reports the state, and the
topbar badge shows `SAM3: Loaded` (green, clickable to release) / `SAM3: Idle` (not in VRAM,
loads on next use) / `SAM3: Off` (not enough free VRAM to load). The next call after a
release rebuilds the model from the local cache in about 12 seconds.