Commit Graph
893 Commits
Author SHA1 Message Date
ramox81andClaude Opus 5.5 f29f386148 import: IMPORT window and DGNIMPORT converting DGN models to drawing objects
The DGN V7/V8 readers expose each element (level, symbology, geometry,
complex chains, text nodes, shared cells). DGNIMPORT / -DGNIMPORT convert a
model with the Standard mapping into a new drawing; IMPORT opens the
Import File window and routes PDF and DGN files to their importers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 16:09:12 +03:00
Karim Jerbi 6025d8be44 style: rustfmt the tree so the CI lint check passes 2026-10-15 04:10:06 +01:00
Pictus08 d19c797685 aliases: import AutoCAD PGP files and support UCS-follow workflows 2026-10-14 20:46:35 -03:00
Hakan SevenandClaude Opus 5.5 686fb71780 options: fonts and plot styles can live in a chosen folder
Options > Files lets the fonts and plot style folders move elsewhere,
such as a share a whole team uses (Change... / Default). Fonts are then
looked up and downloaded there, and plot style tables listed and saved
there; the choice is kept in the profile.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 01:48:05 +03:00
Hakan SevenandClaude Opus 5.5 843cbcd607 Merge pull request #1795 from MarcelP102/Select-Color-Redesign
[UX] Select Color redesign and feature parity

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 00:21:10 +03:00
Hakan SevenandClaude Opus 5.5 838e397a6c Merge pull request #1793 from ramox81/codex/block-definition-command-line
Block Definition: command-line forms, block record data and dialog defaults

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 00:14:21 +03:00
Hakan SevenandClaude Opus 5.5 18850e82e4 ribbon: wrap a key-tip label anchor line over 100 columns
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 00:02:07 +03:00
Hakan SevenandClaude Opus 5.5 abbd8365e0 Merge pull request #1788 from ramox81/codex/keytips-followups
Key tips: reference quick-access numbers, shared codes and placement

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 00:00:10 +03:00
Claude 6e05c7e2e5 Select Color: one fixed colour book folder instead of a folder list setting
The color_book_dirs setting is gone. Colour books live in color_books in
the config folder (book::folder()), like the other fixed locations;
Options > Files shows it through Folders::color_books. read_all() and
load_from_dialog() use that folder directly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 20:15:53 +00:00
Claude a9d8d4b531 Options: color book folder shown like the other locations
Options > Files lists the color book folder as a read-only row with Open
folder, like Plot styles or Fonts. The Add folder / Remove buttons, their
messages and the explanatory line (in all 22 locales) are gone; the
folder list stays in the settings for a later location option.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 20:09:26 +00:00
Claude a9bbb41671 Select Color: colour book loading and folder reading live in book.rs
book::load_from_dialog (pick, read, copy into the first folder) and
book::read_all (built-in book plus every .acb in the folders) move out of
update/mod.rs, which now just calls them. Same behaviour.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:53:58 +00:00
Claude c71a874fe0 Select Color: reuse helpers instead of repeated code
- book::add_or_replace adds a colour book or replaces one of the same
  name, for both reading the folders and loading a file.
- style.rs: the Plot Style and View Background colour targets use
  math::color_rgb (and hex_string) instead of their own conversions.
- Ribbon: one layer_color lookup for Ribbon::active_layer_color and the
  ribbon's ByLayer swatch.
- Picker: one swatch() for the Index and Document swatches, fill_of() for
  "colour or gray" and divider() for the 1 px separators.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:38:00 +00:00
Claude 345f836e91 Select Color: review cleanups
- Arrow keys only walk the colours on screen: the Document tab's search
  results, and the Color books matches while searching (the whole book,
  page after page, otherwise). One helper per tab now gives the visible
  colours to both the view and the arrow keys.
- show_identity no longer returns an unused bool; ink() absorbs its
  one-use ink_is_dark helper.
- document::layer_identity joins a layer's book and colour name, used by
  the Document scan and the panel's current colour instead of two copies.
- Recently-used sorting looks a colour's rank up once (sort_by_cached_key)
  instead of on every comparison.
- Searching compares case-insensitively without allocating a lower-case
  copy of every name on each redraw (ASCII queries).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:27:58 +00:00
Claude 3aa62d5230 Select Color: Phosphor eyedropper icon; load button and page arrows in active-tab colours
- The pipette is Phosphor Icons' "eyedropper" (regular, MIT); its
  licence is in assets/icons/ui/LICENSE-phosphor.txt and the SVG header.
- The load-book button and the page strip's up/down arrows use the active
  tab's colours (background.strong and its text colour), slightly darker
  on hover.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:17:18 +00:00
Claude a1cae55955 Select Color: ship only RAL CLASSIC as a built-in colour book
SIKKENS 4041 is no longer built in; it can still be loaded from an .acb
file in a colour book folder.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:10:33 +00:00
Claude 451b0f5d78 Merge main into Select-Color-Redesign
Keep both sides: main's ViewBackground colour target and PREVIEW icon
next to this branch's Interface target and LIST/SEARCH icons.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 19:10:33 +00:00
Claude 666234f69e Select Color: colour book folders, app-style view toggles, load button by the book list
- Colour books now come from folders, like AutoCAD's Color Book
  Locations: Options > Files lists them (add, open, remove); by default
  one color_books folder in the config directory. The Color Books tab
  shows the built-in books plus every .acb in those folders; Load copies
  the chosen file into the first folder. Web: session only, as before.
- Grid/list buttons use the app's toggle style (light accent, its text
  colour for the icon, same corners as inactive).
- Color Books: the load button sits right of the book list; the search
  box keeps its start over the page strip and runs to the end.
- Translations for the two new Options strings in all 22 locales.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 18:51:02 +00:00
Claude 322c1906f9 Select Color: more room between the sort dropdown and the view buttons
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 18:00:37 +00:00
Claude 31e6192729 Select Color: Document search box takes half the width
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 17:57:53 +00:00
Claude 3006aaa04e Select Color: rustfmt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 17:51:42 +00:00
Claude e13e93966b Select Color: search boxes, readable icon buttons, cleaner Document and Color books layout
- Info line shows a colour-book colour as "BOOK - NAME".
- Document tab: a search box (by name) replaces the "Colors in this
  drawing" heading; grid swatches no longer carry text; larger grid/list
  icons, dark on the accent colour when active, like the OK button.
- Color books tab: no "Color book"/"Find" labels; the book list is as
  wide as the colour bars, and the search box (magnifier, gray "Search")
  and load button sit over the page strip and RGB values, all 28 px high;
  the load button and page arrows use the button's dark text colour.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 17:46:45 +00:00
ramox81 99e30f1548 Merge remote-tracking branch 'origin/main' into codex/block-definition-command-line
# Conflicts:
#	src/app/commands/inquiry.rs
#	src/modules/draw/modify/block_edit.rs
2026-10-14 17:51:56 +03:00
Claude 5a296ad48c Select Color and ribbon: ByLayer shows the layer's colour
ByLayer swatches were always gray. The Select Color panel's Current/New
band and info line now show the colour of the layer the colour is for
(the newest selected object's layer, or the current layer for new
objects); the ribbon's colour control and the ByLayer row of its colour
dropdown show the current layer's colour.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 14:50:58 +00:00
gianlucafiore 8e7612c0c9 Merge pull request #1792 from gianlucafiore/fix/otrack-live-distance-click-precision
Improve precise picking, OSNAP/OTRACK feedback and selection cursor
2026-10-14 11:33:07 -03:00
ramox81andClaude Opus 5.5 d583d9d421 Block Definition command-line forms, block record data and dialog defaults
-BLOCK, -WBLOCK, -BEDIT, ATTSYNC, BASE and INSBASE follow the reference
prompts and messages; empty blocks; WBLOCK keeps object coordinates and
stores INSBASE; annotative and hyperlink data on the block record; block
preview images; remembered dialog choices; block aliases.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 17:30:21 +03:00
Claude 652aa61b22 Select Color: gradient field fills the space under the sliders
The field no longer has a fixed height with a gap above it; it takes the
height the sliders leave, so in CMYK it is just one slider row lower.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 14:29:19 +00:00
gianlucafiore aa6f88937d Update OSNAP aperture placeholder to 25 px 2026-10-14 11:12:08 -03:00
gianlucafiore 85959c770c ui: expose editable OSNAP capture aperture in drafting settings 2026-10-14 10:55:02 -03:00
Karim Jerbi abad1b9045 feat(bedit): add Edit Block Definition dialog and new block authoring
Open the Edit Block Definition dialog when BEDIT is invoked without an active selection, listing candidate block definitions alphabetically while filtering layout records, anonymous blocks, and external references. Allow typing a new valid block name to start an empty block editor session that only commits to the drawing block table upon explicit save.
2026-10-14 14:46:48 +01:00
Karim Jerbi 9632979d09 feat(block-editor): add Test Block preview
Preview the current unsaved block in a disposable drawing with independent history. Keep normal Draw tools available, append Close Test Block, and return to the original editor without saving. Guard persistence paths and handle refresh and parent-close lifecycle by stable document identity.
2026-10-14 14:44:58 +01:00
Claude b039e3dc48 Select Color: bottom-aligned field, list view, name sorting, book names
- True Color opens in RGB; the gradient field, hex and nearest index sit
  at the bottom so CMYK's fourth slider doesn't move them; slider rows
  closer together.
- Document tab: grid or list view (list drawn like the colour-book bars),
  and Name A–Z / Z–A sorting (translated in all locales). Swatches of
  colour-book colours show the colour's name.
- A colour-book colour picked as the current colour (nothing selected)
  keeps its BOOK$NAME on the objects drawn with it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 13:13:00 +00:00
ramox81andClaude Opus 5.5 c2c34e45fa Key tips: reference command for shared codes, no code over labels
A code the reference shows on two buttons runs the button whose command
the reference runs for it (VC runs Viewport Configuration), decided by
the code table's order. Labels, combo values and panel titles report
their bounds while key tips are open, and each code takes the first
spot nearest the reference place that covers none of them nor another
code; a collapsed panel's title is measured to place its code beside
the words.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:17:38 +03:00
Claude ecdead20c7 Select Color: CMYK sliders, field below the sliders, Document first
- Editor modes RGB, HSB and CMYK; the saturation/brightness field and hue
  strip now sit below the sliders in every mode instead of being a mode.
- The panel opens on the Document tab.
- Built-in colour books: RAL CLASSIC and SIKKENS 4041 (Open Colour
  Systems Collection 2.0, CC BY-ND 4.0); CSS COLORS removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013rGmDUNr1hUf4zo1X3dak8
2026-10-14 11:57:53 +00:00
ramox81andClaude Opus 5.5 b5ce285386 Key tips: reference quick-access numbers, shared codes, placement
Quick-access buttons take the numbers the reference toolbar gives the
same buttons (Print 6, Undo 7, Redo 8). Codes the reference shows on two
buttons appear on both, the first in ribbon order running. Codes sit
where the reference puts them: under tab and large-button labels, on a
large dropdown's arrow strip, with their corner at the icon's centre on
icon buttons, and centred on panel titles and the corner launcher; a
button code a panel code would cover rises clear of it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:08:59 +03:00
Hakan SevenandClaude Opus 5.5 ec603f1c8f Command line: hovered history lines stay until the pointer leaves
Lines still showing when the pointer reaches the overlay history no
longer fade under it; leaving restarts their COMMANDLINEFADETIME.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 13:27:57 +03:00
Hakan SevenandClaude Opus 5.5 2c062daa03 Colour names: show a palette colour by its index (#1748)
Unnamed ACI colours printed their RGB, which read the same as a true
colour of that value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 12:42:43 +03:00
Hakan SevenandClaude Opus 5.5 a156a63edd Properties: open a dropdown only on the surface that asked (#1766)
The docked panel and Quick Properties render the same rows from one
state, so a picked colour opened both dropdowns and each swallowed the
other's click.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 12:34:16 +03:00
Hakan SevenandClaude Opus 5.5 d5de798f8a Options: snap marker size (#1770)
The object-snap glyphs were fixed at 5 px; a Drafting slider now scales
them from 1 to 20 px.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 12:24:32 +03:00
Hakan Seven be6dbfdd78 Merge pull request #1780 from ramox81/codex/ribbon-keytips
Ribbon key tips (Alt): codes on tabs, buttons and menu items

# Conflicts:
#	locales/ar-SA/opencadstudio.ftl
#	locales/bg-BG/opencadstudio.ftl
#	locales/cs-CZ/opencadstudio.ftl
#	locales/de-DE/opencadstudio.ftl
#	locales/el-GR/opencadstudio.ftl
#	locales/en-US/opencadstudio.ftl
#	locales/es-ES/opencadstudio.ftl
#	locales/fi-FI/opencadstudio.ftl
#	locales/fr-FR/opencadstudio.ftl
#	locales/hi-IN/opencadstudio.ftl
#	locales/hu-HU/opencadstudio.ftl
#	locales/it-IT/opencadstudio.ftl
#	locales/ja-JP/opencadstudio.ftl
#	locales/ko-KR/opencadstudio.ftl
#	locales/lo-LA/opencadstudio.ftl
#	locales/nl-NL/opencadstudio.ftl
#	locales/pl-PL/opencadstudio.ftl
#	locales/pt-BR/opencadstudio.ftl
#	locales/ru-RU/opencadstudio.ftl
#	locales/tr-TR/opencadstudio.ftl
#	locales/zh-CN/opencadstudio.ftl
#	locales/zh-TW/opencadstudio.ftl
#	src/app/control/actions.rs
2026-10-14 12:14:23 +03:00
Hakan Seven 21f33e933e Merge pull request #1777 from ramox81/codex/refedit-dialog
REFEDIT: Reference Edit dialog and unique names for xref objects

# Conflicts:
#	locales/ar-SA/opencadstudio.ftl
#	locales/bg-BG/opencadstudio.ftl
#	locales/cs-CZ/opencadstudio.ftl
#	locales/de-DE/opencadstudio.ftl
#	locales/el-GR/opencadstudio.ftl
#	locales/en-US/opencadstudio.ftl
#	locales/es-ES/opencadstudio.ftl
#	locales/fi-FI/opencadstudio.ftl
#	locales/fr-FR/opencadstudio.ftl
#	locales/hi-IN/opencadstudio.ftl
#	locales/hu-HU/opencadstudio.ftl
#	locales/it-IT/opencadstudio.ftl
#	locales/ja-JP/opencadstudio.ftl
#	locales/ko-KR/opencadstudio.ftl
#	locales/lo-LA/opencadstudio.ftl
#	locales/nl-NL/opencadstudio.ftl
#	locales/pl-PL/opencadstudio.ftl
#	locales/pt-BR/opencadstudio.ftl
#	locales/ru-RU/opencadstudio.ftl
#	locales/tr-TR/opencadstudio.ftl
#	locales/zh-CN/opencadstudio.ftl
#	locales/zh-TW/opencadstudio.ftl
#	src/app/control/actions.rs
#	src/app/mod.rs
#	src/app/view/modal.rs
2026-10-14 12:10:40 +03:00
Hakan Seven dec3ba2743 Merge pull request #1778 from ramox81/codex/refedit-toolbar
REFEDIT session toolbar: definition name, working set count and REFSET buttons
2026-10-14 12:05:19 +03:00
Hakan Seven ff5833c35e Merge pull request #1776 from ramox81/codex/imageadjust-dialog
IMAGEADJUST: Image Adjust dialog for raster images
2026-10-14 12:01:13 +03:00
ramox81andClaude Opus 5.5 86429bf439 Ribbon key tips: Alt shows codes on tabs, buttons and menu items
A lone Alt shows a code on every ribbon tab and quick-access button.
Typing a tab code opens the tab and shows the codes of its buttons,
dropdowns, slide-outs and collapsed panels; a button code runs it, a
dropdown or slide-out code opens it and shows its item codes, Esc goes
back one level. Codes follow the reference ribbon; buttons without a
reference counterpart get none and unnamed menu items are numbered.

Codes are drawn as accent pills over the widgets that reported their
bounds in the current frame, with a hint bar under the ribbon. While
the tips are open keys go to them only. The automation gets a keytips
action and read operation.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 11:18:58 +03:00
Karim Jerbi 78bdfa3c74 feat(block-editor): add Save Block As
Create a new named definition from current session edits, restore the source checkpoint, and continue editing the copy with fresh local history. Add the name dialog and Save dropdown, clone supported owned metadata onto independent handles, and refuse unsupported relationships atomically.
2026-10-14 09:11:55 +01:00
ramox81andClaude Opus 5.5 74d65c26be REFEDIT session toolbar: definition name, working set count, REFSET
The right-edge toolbar of a REFEDIT session now shows the definition
being edited (REFEDITNAME) as an accent pill with the number of objects
in the working set, Add to / Remove from Working Set buttons with their
own icons (REFSET Add / Remove, straight to object selection), and
Save / Discard in a separate group below a rule.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:51:22 +03:00
ramox81andClaude Opus 5.5 92a3a8ee4d REFEDIT: Edit Reference dialog and unique names for xref objects
REFEDIT opens a dialog after the pick: the nesting chain as chips with a
preview of the chosen definition, all objects or picking them in the
drawing, attribute definitions (offered only when the definition has
them), locking objects outside the working set and unique names for an
external reference's named objects. The settings are remembered.

With unique names an xref's dependent layers, linetypes, text styles and
blocks are checked out as $N$NAME records of their own; without, under
the plain name, sharing a host record of that name. Save writes them back
under the reference's names, and the records made for the session are
removed when it closes. -REFEDIT uses the remembered settings.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:39:28 +03:00
ramox81andClaude Opus 5.5 2f55c73457 IMAGEADJUST: Image Adjust dialog for raster images
IMAGEADJUST (alias IAD) takes the selected raster images or asks
"Select image(s):", then opens a dialog with a before/after preview of
the first image and brightness, contrast and fade rows (bar plus
stepper, whole numbers 0-100). Apply writes the values to every chosen
image as one undo step; restore defaults sets 50/50/0. Adds the
image_adjust automation action and the image-adjust locale group.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:11:36 +03:00
Hakan SevenandClaude Opus 5.5 527e38839a style(overlay): describe the MATCHPROP brush without product names
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 09:10:58 +03:00
Hakan Seven c3cf45d859 Merge pull request #1773 from Ch4rlos/feat/matchprop-brush-cursor
feat(ui): paintbrush cursor while MATCHPROP is armed
2026-10-14 09:10:35 +03:00
Hakan Seven 7d306eec5e Merge pull request #1753 from ramox81/codex/insert-reference-ribbon
Insert ribbon: Reference panel order and Snap to Underlays state
2026-10-14 08:35:47 +03:00