Commit Graph
14 Commits
Author SHA1 Message Date
Hakan SevenandClaude Opus 5.5 310bf568f5 fix(sheetset): translate the sysvar messages and insertion prompt
- SSM* / SS* sysvar messages and the Place on Sheet prompt go through
  t!/tf!, reusing the existing catalog entries where they exist; one new
  key (integer range) is translated in all 21 locales.
- The SETVAR prefix is matched case-insensitively.
- The stale "SHEETSET ... not yet implemented" key is removed from the
  catalog and every locale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:39:35 +03:00
Hakan SevenandClaude Opus 5.5 b0969946b6 fix(sheetset): wasm build of lock sync and the save stamp
Restore the web no-op of `sync_drawing_locks` and keep
`stamp_sheet_set_data` (called only by the native save) out of the web
build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:39:35 +03:00
Hakan SevenandClaude Opus 5.5 3a5c1dbb7d fix(sheetset): read drawings off the UI thread
The wizard's folder scan, Import Layout as Sheet, the template layout
lists and the drawing cache behind Model Views, Place on Sheet, callout /
label blocks and block previews parsed whole DWGs on the UI thread. They
now go through the shared `background_task` worker: a cache miss reads the
drawing and handles the message that needed it again. Block previews lend
the cached drawing to the preview scene instead of cloning it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:33:04 +03:00
Hakan SevenandClaude Opus 5.5 40847d72a1 fix(sheetset): safer sheet edits
- Place on Sheet gives its viewport a unique id (shared
  `Scene::next_viewport_id`, also used by the normal viewport commit).
- Renaming a sheet's layout in an open tab records undo and marks the tab
  modified; in a closed drawing the previous file is kept as `.bak`
  (ISAVEBAK) before it is written back.
- New Sheet saves the drawing before the `.dst`: a failed save leaves no
  sheet behind.
- Rename & Renumber Previous/Next no longer panics on an empty list.
- Leftovers: unused binding, a hard-coded localized Documents path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:29:23 +03:00
Hakan SevenandClaude Opus 5.5 8b9049c604 fix(view): keep named views of earlier versions at their place, in f64
A VIEW record's centre is an offset from its target in view coordinates.
Views saved by earlier versions stored the target itself as the centre;
treating that as an offset put them (and VIEW plots) at about twice the
coordinates. One shared `named_view_center` now resolves the centre in
f64 (DVec3/DQuat), taking a centre equal to a non-zero target as the old
convention; VIEW RESTORE, the view plot window and Place on Sheet use it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:29:22 +03:00
Hakan SevenandClaude Opus 5.5 76f4bb97dc 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 <noreply@anthropic.com>
2026-10-06 09:29:14 +03:00
ramox81andClaude Opus 5.5 03e3632efd Sheet sets: fields evaluated when a sheet opens; VIEW WINDOW
- A drawing's sheet set fields are refreshed when it opens with sets loaded.
- VIEW WINDOW <name> <x1,y1> <x2,y2> saves the plan view of a window.
- opencadcodec: block-attribute fields use their block reference's layout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 17:13:12 +03:00
ramox81andClaude Opus 5.5 a3c79be278 Sheet sets: fly-out submenus, block previews, window-aspect named views
- Row menus open Set category / Place Callout Block as fly-out submenus
  (hover or right press; leftwards when the palette is docked right).
- List of Blocks and Select Block show the Blocks palette's preview.
- VIEW SAVE keeps the window's width/height ratio.
- Placing view content in model space is refused with the reference message.
- Drawings read for views, placement and blocks are cached by modification time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 16:05:47 +03:00
ramox81andClaude Opus 5.5 0d0fbafaa8 Sheet sets: Place on Sheet, sheet view menus, block lists, missing status, field refresh
Model Views lists named model views and places them on the current sheet
(xref, viewport, paper-space named view, view label with navigation
fields, sheet view record); sheet view rows get Display, Rename & Renumber
View, Set category, Place Callout Block and Place View Label Block; the
View Category dialog's Add Blocks opens List of Blocks / Select Block; a
sheet whose relative path is gone shows missing; sheet set fields store
their values when a set changes; named views keep their centre relative to
the target. Codec pin moves to the revision with these field helpers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:13:33 +03:00
ramox81andClaude Opus 5.5 5c9f19a4dc Sheet sets: import statuses, view navigation fields, drawing lock files
Import Layouts as Sheets shows the reference's statuses (already part of
a sheet set / may belong to another sheet set / available) and Browse
replaces the list; the Field dialog SheetView tree lists sheet views with
their properties, scale formats and hyperlinks; drawings open in tabs get
.dwl/.dwl2 lock files that other instances read as open; the codec pin
moves to the revision with sheet views and the default output folder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 13:08:37 +03:00
ramox81andClaude Opus 5.5 0a45e59c2f Sheet sets: approved dialogs, sheet status, view categories, model views, navigation fields
Remove Sheets confirmation, Open in drawing editor, Select Layout as Sheet
Template for subsets that prompt, Import Layouts as Sheets with status and
prefix, Rename & Renumber options with Previous/Next and real layout/file
renames, New Subset folder hierarchy and publish setting, subset properties
rows as the reference shows them, sheet status badges (SSMSHEETSTATUS /
SSMPOLLTIME), Sheet Views by category with the View Category dialog, Model
Views locations, Field dialog SheetSet/SheetView navigation, and .dwt/.dws
read as DWG.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 12:08:29 +03:00
ramox81andClaude Opus 5.5 612bb26a8c Sheet sets: reference menu order, new sheets stay closed, .dst reload, navigation fields
The tree menus follow the reference per row kind (New Sheet / Import on a
sheet work on its subset, Remove Subset only while empty, Rename Subset),
a new sheet is not opened, an open set reloads when its .dst changes on
disk, ViewportScale placeholders take the version of their format and
the codec pin moves to the revision with navigation fields.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 10:53:45 +03:00
ramox81andClaude Opus 5.5 ad5d2a8599 Sheet sets: wizard paths, Turkish step names and codec pin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 10:00:28 +03:00
ramox81andClaude Opus 5.5 0e1e13e524 WIP: Sheet Set Manager palette, wizard, properties and sheet set fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 09:10:17 +03:00