Deepen the element editor and Search & Replace pages
Both documented less than their subject. The element editor is a whole
second application in 137 lines; Search & Replace listed six conductor
fields where the code edits nineteen.
Element editor, four new sections from the source:
- the Parties and Profondeur panels, and the X/Y readout -- with the
gotcha that the parts list stops generating past 200 primitives and
shows a count instead, which is a setting
(elementeditor/max-parts-element-editor-list) rather than a limit on
the element;
- getting drawings in and out: import an element to resize, import DXF,
export SVG, and reload, which warns before discarding changes;
- read-only editing, and that Save as is the way out;
- reshaping handles, pointing at mouse_modifiers rather than repeating
it, since Alt turning a rectangle into a polygon matters most here.
Search & Replace: the conductor row now lists what applyChange()
actually writes, and says what it does not. Cable and Bus are the only
conductor properties it skips, in both the simple and advanced paths --
which is precisely the field you would want to rename across forty wires
at once. Linked to discussion #934, where adding them is item one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CaKympWT3owLotCpEN2CFj
Document using the element editor -- drawing tools, not just the resulting XML
sources/editor/ is ~22,900 lines and the only wiki coverage was a stub
telling readers to see the elements_XML reference for 'designing element
graphics' and 'defining connection terminals' -- which documents the
file format an element becomes, not how to use the editor that draws it.
element_linking already covers the master/slave/terminal semantics; this
covers the tool itself.
The finding worth having written down: width, height and hotspot have no
input dialog at all. ElementScene::toXml() derives them from the drawn
geometry on every save -- bounding rect rounded up to the next multiple
of 10 (with a quirk: a remainder over 6 rounds up an extra ten, which is
exactly the 42-to-50 example elements_definition_attribute.md already
used without explaining where the number came from), hotspot centered
in that box. And if the drawing doesn't straddle the scene origin,
centerElementToOrigin() actually moves every primitive on save, not just
the saved coordinates -- draw far from the crosshair and a save visibly
shifts everything.
Also: the checkElement() validation that runs before every save (0
terminals warns but doesn't block, except folio-report and
conductor-definition elements, which must have exactly one or the save
is refused); the Save vs Save As vs Save As File distinction (opened-from
location vs a collection picker vs a raw file picker); and the terminal
placement shortcuts (Space rotates through the four orientations while
placing, the tool re-arms at the same orientation for a row of pins).
Replaces the empty 'Creating Custom Elements' stub in user_manual (all
three languages) with links to this page, element_linking and
elements_XML instead of a four-bullet list pointing at one reference
page. EN/FR/DE.