fix(sheetset): wasm build, lock files and sheet set field refresh

- `.dst` read/write go through native-only helpers (a browser answers
  "Not available"); the folder pickers are web no-ops; time stamps use
  iced::time (web-safe).
- Lock files are written only for drawings that are sheets of an open set,
  released when the last set closes, and a lock a crashed session left
  (recorded with its process id, same user and machine) is taken back.
  The `.dwl2` header is well-formed and the date line comes from the OS
  long date on every platform. The 1 Hz poll runs only while a set is open.
- Refreshing sheet set fields never stores `####`: fields no open set
  resolves keep their value, and only the hosts that changed are redrawn
  (and their tab marked modified).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-06 09:29:14 +03:00
1 parent 078306d8fc
commit 76f4bb97dc
5 files changed
+219 -71

No files matched your search

+1 -1
View File
@@ -67,7 +67,7 @@ pub struct SheetSetManager {
pub seen: std::collections::HashMap<String, std::time::SystemTime>,
/// Sheet status by sheet id (SSMSHEETSTATUS) and when it was taken.
pub status: std::collections::HashMap<String, SheetStatus>,
pub status_at: Option<std::time::Instant>,
pub status_at: Option<iced::time::Instant>,
/// Sheet Views: by category (else by sheet).
pub by_category: bool,
/// Model Views: location id, folder and its drawings.