The Italian catalog lacked 1350 of the English messages. This batch
translates the 719 outside the Render workspace: Preferences, the
Assistant, the help texts, command labels, materials, navigation and
the rest. It uses the catalog's own terms (Schizzo, Lavorazione, Corpo,
Giunto, Cronologia, Struttura, Risalto, Appoggio, Aggancio a scatto).
The Render workspace's 600 messages are left for a second batch while
that workspace is still being built.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Insert Part: name the part families in the user's language
The Type list of Insert Part and the Change Part Size dialog showed the
library's English family names (Socket head cap screw, Hex nut, ...) in
every language. Each family now has a message under its library id,
and a family the catalogs don't know keeps the library's name.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Insert Part: the Name field's automatic hint in the user's language
The hint was the English word "automatic"; it now takes the catalogs'
parts.automatic_name, which every language already translates.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Move the family-name helper and its test away from where #8005 adds its own
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Turkish: translate the 113 messages the catalog was missing
The Turkish catalog lacked 113 of the English messages: the newer
Preferences settings, the hole presets, the slicer messages, the
Assistant's start-up options and tool summaries, and the Render
workspace's stage, shots and inspector labels. They are translated in
one pending file, with the catalog's own terms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Translate the 87 messages main added since (the navigation bar's)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Dialogs: translate the texts a few dialogs draw themselves
The joints' Play/Stop buttons, the Motion Study's Loop and the BOM's
sub-parts checkboxes, the Stitch tolerance hint, the Flange type and the
Emboss wrap note were drawn as English literals; the joint lists named
each joint's type by its Rust name (PinSlot, PointOnPlane). They now take
messages, and the joint lists use the Type box's label, translated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Move the new test away from where another open PR adds one
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The Surface, Sheet Metal, Plastic, Frame, Move, Align, Assembly, Cam,
Coupling, Sweep, Part Size and sketch editing dialogs refuse their
inputs with English sentences ("select bodies first", "pick faces of
one body"). The dialog translates a refusal through the catalogs as it
shows it, but no catalog carried these 96, so they showed English in
every language. They are added in one pending file with the eleven
usual translations.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Everything outside the Render workspace, which is still being built:
Preferences and the new navigation bar, the Assistant, the help texts,
command labels, materials, hole presets, the slicer messages and the
remaining dialog labels, with the catalog's own terms.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Everything outside the Render workspace, which is still being built:
Preferences and the new navigation bar, the Assistant, the help texts,
command labels, materials, hole presets, the slicer messages and the
remaining dialog labels, with the catalog's own terms.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Everything outside the Render workspace, which is still being built:
Preferences and the new navigation bar, the Assistant, the help texts,
command labels, materials, hole presets, the slicer messages and the
remaining dialog labels, with the catalog's own terms.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Sketch: the status in the view and the browser's editing mark in the user's language
While a sketch is edited, the view's corner said "Sketch1 — 2 degrees of
freedom" (or "fully constrained", "constraints conflict") and the
browser marked the sketch "(editing)" or "(attachment lost)", in
English whatever the language; one degree of freedom read "1 degrees of
freedom". They now take messages: the catalogs' existing degrees-of-
freedom ones and four new ones.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Sketch status and editing mark: the sketch's default name as shown elsewhere
The browser shows a default name in the user's language ("Skizze 1")
except on the edited sketch's row, whose mark made it a different text;
the view's status kept the stored name too. Both now use the name as the
browser shows it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Motion Study, Motion Trace, the motion plot, Explode and the contact
check drew their notes and refusals as they got them ("add a key for a
joint first", "select a point on a component", "none"), so they read
English in every language. They now go through the label translator, and
the four that no catalog carried get messages.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Double-clicking a sketch row inside a component (an inserted fastener's sketch)
activates that component so the sketch is edited in its placement. Finish and
Cancel only closed the sketch, so the component stayed active and every other
body stayed faded.
Edit Sketch now remembers the component and placement active before it
activated the sketch's own (also when sketch.edit activates the component of a
face-attached sketch), and leaving the sketch makes that one active again, as
Finish already puts the history marker back. A component activated while the
sketch is open stays active.
Co-authored-by: Phanoob <phanoob@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Maya moves the camera with Alt and any button (left orbits, middle pans,
right zooms), middle drag also pans. HFSS pans with Alt+left drag and zooms
with Shift+Alt+left; its Ctrl+left orbit is the drag from empty space every
preset already has, so a Ctrl+click on geometry still adds to the selection.
The help texts are in the catalog for every locale that has the other
presets' help.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #5592
* Canvas and Decal: send the picked face, so a large design takes the image (#5592)
A click with Canvas or Decal sent only the point, so the engine searched every face of every
body for it and gave up on a large design ("face capture work limit exceeded"). Send the
picked body, face index and path as Create Sketch does; canvas.decal takes that face pick too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Canvas and Decal test: drop the check that a point alone gives up
On upstream main a sketch on a face by its point alone no longer gives up on this design, so
the test keeps only what the picked face has to do: both images land on it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #6039
* Sketch: offer an arc length dimension for a selected arc (#6039)
The arc length dimension already existed in the engine (sketch.dimension with
type arc_length), but nothing in the UI led to it: the Dimension tool and the
context menu always gave an arc its radius.
With exactly one arc selected, the sketch context menu now offers Arc Length
Dimension next to Sketch Dimension, which adds the dimension through the
existing command.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FN5eEMrqWWXqi65FcK8GXq
* test: move the arc length menu test up to avoid a merge conflict
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: sascha2101 <221609842+sascha2101@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #5517
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Right-click opens the menu despite tiny pointer movement (#5517)
A Magic Mouse moves the pointer a fraction of a point as it is clicked.
The right button orbited on any movement, and the menu needed exactly
zero movement in the release frame, so most right-clicks only nudged
the view. The right button now navigates once the press can no longer
be a click (egui's click distance and time), catching up with the
travel since the press, and a right-click is egui's click.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #7947
* Browser: reveal a placed body's row when it is picked or found (#7947)
The off-screen skip in `entry_row` keeps the reveal target's row alive so it
still has a rect to scroll to, but it matched `app.tree.reveal` (a world body
name) against `Entry::key` (the placement-local name). For a placed body those
never match, so the row returned early and the `scroll_to_rect` below it, which
does use `row_key`, was never reached. `app.tree.reveal` is then cleared at the
end of the frame, so there was no second chance.
Match the skip on `row_key` minus its `b:` prefix, as the `scroll_to_rect`
already does.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
The Box, Cylinder, Cone, Sphere, Torus and Coil dialogs labelled their
size rows with the command's parameter names (length, top_diameter,
section_size), in every language. Each row now takes a message: Length,
Top diameter, Major radius, Section size, translated as the rest of the
dialog is.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Fix linked component materials and appearances (#7609)
* Linked components: the cached link read carries the source properties
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Update Links: a link without recorded inherited properties is read again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Preserve authored linked-face overrides and apply cached source properties
---------
Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Navigation bar: slot model and one-row renderer (#6585)
* Navigation bar: customisation section in Preferences (#6585)
* Navigation bar: icons for visual styles, selection modes and display (#6585)
* Navigation bar: redraw the Bodies, Parts and Components selection icons (#6585)
* Navigation bar: refine the Ground shadow, Ambient occlusion, Parts and Components icons (#6585)
* Navigation bar: solid cube and a longer arc for the Ground shadow icon (#6585)
* Navigation bar: the owner accepts the new icons as final (#6585)
- Leave the running preview behind when the selection moves to another setup, asked to stop
- Keep at most two obsolete previews running; streaming, tools and other inputs wait as before
- Keep no result of a cancelled watched evaluation in the shared evaluation cache
- Test the detaching, the cancel reaching the spawned job, and the cache guard
Co-authored-by: P'tite Tête <asso@ptitetete.com>
#6471 joined the body a To Object extent runs to into the tool, whatever its component.
A connector's boss extruded up to an enclosure's face (each in its own component) merged the
enclosure into the connector, and features referencing the swallowed body failed after it.
The body it runs to now joins only when it is in the feature's own component, or when the
feature names it as a target.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #4217
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Browser: Bodies folders only where they help: Always, Several bodies only (the default) or Never (#4217)
A new preference on the Interface page, in the Layout section under Browser, sets when a
component's bodies sit in a Bodies folder of their own. Several bodies only lists a component's
lone body, when it has no groups, straight under its placement. Never lists every component's
bodies and groups there. Always keeps the folder as before. The design's own Bodies folder and a
folder hidden with its eye always stay.
One rule, browser::bodies_folded, decides it for the rows and for the menu. A folded folder
draws no row and stays open; its items move up one level, and their own eyes, hover and drops do
its jobs. While a folder is folded, its placement's menu takes the folder's Create Components from
Bodies and Group Selected; New Group and Show All were already there.
ui.prefs takes browser_bodies_folders (always, several, never) and refuses other values; saved
preferences read an unknown value as the default. The s37 scenario sets Always so that it still
checks the Bodies folder's chevron.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Browser: Bodies folders in Arabic, Hebrew and Vietnamese too (#4217)
Arabic, Hebrew, Japanese, Vietnamese and Chinese are complete catalogues, so
every_complete_catalog_carries_every_english_message fails a new message any of them lacks. The
preference's four messages get their Arabic, Hebrew and Vietnamese text, in the words those
catalogues already use for a body and a folder.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* claim: #2218
* Preferences: search settings across every page (#2218)
A field at the top of Preferences filters the live controls with the same scorer as command search, including a dropdown's current value and the English source of a translated label.
* Preferences search: keep the plain page list for its tests (#2218)
The production dialog always draws the search strip, so the no-header entry is test-only and no longer warns as unused.
* Preferences search: show only the settings that match (#2218)
A page name or a loose string of letters was keeping the rest of that page on screen, including notes and the mouse legend.
* Preferences search: drop stray chrome and clear from the field (#2218)
The colour swatches and folded Advanced heading were painted on every query, and the field had no way to empty itself.
* Preferences search: fold shortcut matches and drop the blank gaps (#2218)
* Preferences search: stop unmatched pages painting over the hit (#2218)
* Preferences search: a page tab clears the search and shows that page (#2218)
* Preferences search: keep OK and the graphics checkboxes in view (#2218)
A dropdown that skipped its real height on a dialog's first frame left OK outside the window, and the search strip used up the rows the graphics page needs. The shortcut fold is in the UI kit gallery.
* Preferences search: type a query and open the match from the keyboard (#2218)
A printable key or Cmd/Ctrl+F focuses Search settings, arrows move through the matches, and Enter opens that row. Escape clears the query before it can close the dialog, and clearing returns to the page that was up when the search started.
* Preferences search: translate the search strings for the complete catalogs (#2218)
Arabic, Hebrew and Vietnamese are delivered complete, so Search settings and the empty result need a translation there. German and Korean get the same two strings.