feat: add missing Annotate tab commands and icons
New dimension commands: QDIM, DIMEDIT, DIMTEDIT, DIMBREAK, DIMSPACE, DIMJOGLINE with full command workflows and SVG icons. New multileader commands: MLEADERADD, MLEADERREMOVE, MLEADERALIGN, MLEADERCOLLECT with entity injection pattern for in-place editing. Updated annotate ribbon: all tools exposed across Text, Dimensions, Leaders, Tables, Markup, and Annotation Scaling groups. Added STYLE, FIND, DIMSTYLE shortcut buttons. Added `inject_picked_entity` to the CadCommand trait for commands that need a cloned copy of the picked entity to modify (DIMTEDIT, MLEADERADD, MLEADERREMOVE). Sentinel-based dispatch in cmd_result.rs handles DIMBREAK, DIMSPACE, DIMJOGLINE, MLEADERALIGN, and MLEADERCOLLECT. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
11
assets/icons/dim_break.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="14" x2="8" y2="14" stroke="#4cc9f0" stroke-width="1.5"/>
|
||||
<line x1="11" y1="14" x2="13" y2="14" stroke="#4cc9f0" stroke-width="1.5" stroke-dasharray="2,1"/>
|
||||
<line x1="16" y1="14" x2="21" y2="14" stroke="#4cc9f0" stroke-width="1.5"/>
|
||||
<polygon points="3,12 3,16 5,14" fill="#4cc9f0"/>
|
||||
<polygon points="21,12 21,16 19,14" fill="#4cc9f0"/>
|
||||
<line x1="3" y1="8" x2="3" y2="14" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="8" x2="21" y2="14" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="12" y1="4" x2="12" y2="20" stroke="#e0e0e0" stroke-width="1.2"/>
|
||||
<line x1="9" y1="11" x2="15" y2="17" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 736 B |
11
assets/icons/dim_edit.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="16" x2="21" y2="16" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="3,14 3,18 5,16" fill="#4cc9f0"/>
|
||||
<polygon points="21,14 21,18 19,16" fill="#4cc9f0"/>
|
||||
<line x1="3" y1="10" x2="3" y2="16" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="10" x2="21" y2="16" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<text x="8" y="13" font-family="monospace" font-size="7" fill="#4cc9f0">T</text>
|
||||
<line x1="13" y1="6" x2="19" y2="6" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="19" y1="6" x2="17" y2="8" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="19" y1="6" x2="17" y2="4" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 717 B |
8
assets/icons/dim_jog.svg
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="14" x2="21" y2="14" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="3,12 3,16 5,14" fill="#4cc9f0"/>
|
||||
<polygon points="21,12 21,16 19,14" fill="#4cc9f0"/>
|
||||
<line x1="3" y1="8" x2="3" y2="14" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="8" x2="21" y2="14" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<polyline points="9,14 11,11 13,17 15,14" fill="none" stroke="#e0e0e0" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 498 B |
11
assets/icons/dim_space.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="18" x2="21" y2="18" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<line x1="3" y1="13" x2="21" y2="13" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<line x1="3" y1="8" x2="21" y2="8" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<line x1="3" y1="5" x2="3" y2="21" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="5" x2="21" y2="21" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="12" y1="8" x2="12" y2="18" stroke="#e0e0e0" stroke-width="0.8" stroke-dasharray="2,1"/>
|
||||
<polygon points="11,8 13,8 12,5" fill="#e0e0e0"/>
|
||||
<polygon points="11,13 13,13 12,10" fill="#e0e0e0"/>
|
||||
<polygon points="11,18 13,18 12,21" fill="#e0e0e0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 711 B |
11
assets/icons/dim_style.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="16" x2="21" y2="16" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="3,14 3,18 5,16" fill="#4cc9f0"/>
|
||||
<polygon points="21,14 21,18 19,16" fill="#4cc9f0"/>
|
||||
<line x1="3" y1="10" x2="3" y2="16" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="10" x2="21" y2="16" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="4" y1="20" x2="20" y2="20" stroke="#e0e0e0" stroke-width="0.8"/>
|
||||
<line x1="4" y1="22" x2="14" y2="22" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<line x1="10" y1="6" x2="14" y2="6" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="12" y1="4" x2="12" y2="8" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 712 B |
10
assets/icons/dim_tedit.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="17" x2="21" y2="17" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="3,15 3,19 5,17" fill="#4cc9f0"/>
|
||||
<polygon points="21,15 21,19 19,17" fill="#4cc9f0"/>
|
||||
<line x1="3" y1="11" x2="3" y2="17" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="21" y1="11" x2="21" y2="17" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<rect x="9" y="10" width="6" height="5" fill="none" stroke="#4cc9f0" stroke-width="1.0" stroke-dasharray="2,1"/>
|
||||
<line x1="12" y1="7" x2="12" y2="10" stroke="#e0e0e0" stroke-width="1.0" stroke-dasharray="1,1"/>
|
||||
<polygon points="10,7 14,7 12,4" fill="#e0e0e0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 673 B |
6
assets/icons/find.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<circle cx="10" cy="10" r="6" fill="none" stroke="#e0e0e0" stroke-width="1.4"/>
|
||||
<line x1="14.5" y1="14.5" x2="20" y2="20" stroke="#4cc9f0" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<line x1="8" y1="10" x2="12" y2="10" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<line x1="10" y1="8" x2="10" y2="12" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 409 B |
10
assets/icons/mleader_add.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="4" y1="18" x2="12" y2="10" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="4,18 6,16 4,14 3,17" fill="#4cc9f0"/>
|
||||
<line x1="12" y1="10" x2="20" y2="10" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<rect x="14" y="7" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="8" y1="18" x2="12" y2="14" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="8,18 10,16 8,14 7,17" fill="#4cc9f0"/>
|
||||
<line x1="19" y1="16" x2="23" y2="16" stroke="#4cc9f0" stroke-width="1.6"/>
|
||||
<line x1="21" y1="14" x2="21" y2="18" stroke="#4cc9f0" stroke-width="1.6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 663 B |
12
assets/icons/mleader_align.svg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="2" y1="6" x2="2" y2="20" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<line x1="2" y1="8" x2="9" y2="8" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="2,8 4,6 4,10" fill="#4cc9f0"/>
|
||||
<rect x="9" y="5" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="2" y1="13" x2="9" y2="13" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="2,13 4,11 4,15" fill="#4cc9f0"/>
|
||||
<rect x="9" y="10" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="2" y1="18" x2="9" y2="18" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="2,18 4,16 4,20" fill="#4cc9f0"/>
|
||||
<rect x="9" y="15" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 798 B |
8
assets/icons/mleader_collect.svg
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="4" y1="6" x2="12" y2="12" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="4,6 6,8 4,10 3,7" fill="#4cc9f0"/>
|
||||
<line x1="4" y1="18" x2="12" y2="12" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
<polygon points="4,18 6,16 4,14 3,17" fill="#4cc9f0"/>
|
||||
<line x1="12" y1="12" x2="20" y2="12" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<rect x="14" y="9" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 502 B |
9
assets/icons/mleader_remove.svg
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="4" y1="18" x2="12" y2="10" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<polygon points="4,18 6,16 4,14 3,17" fill="#4cc9f0"/>
|
||||
<line x1="12" y1="10" x2="20" y2="10" stroke="#4cc9f0" stroke-width="1.4"/>
|
||||
<rect x="14" y="7" width="7" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="8" y1="18" x2="12" y2="14" stroke="#e0e0e0" stroke-width="1.2" stroke-dasharray="2,1"/>
|
||||
<polygon points="8,18 10,16 8,14 7,17" fill="#e0e0e0"/>
|
||||
<line x1="19" y1="16" x2="23" y2="16" stroke="#4cc9f0" stroke-width="1.6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 608 B |
16
assets/icons/qdim.svg
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<line x1="3" y1="18" x2="21" y2="18" stroke="#e0e0e0" stroke-width="1.2"/>
|
||||
<line x1="5" y1="14" x2="5" y2="18" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="9" y1="14" x2="9" y2="18" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="15" y1="14" x2="15" y2="18" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<line x1="19" y1="14" x2="19" y2="18" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<polygon points="5,16 3,17 5,18" fill="#4cc9f0"/>
|
||||
<polygon points="9,16 11,17 9,18" fill="#4cc9f0"/>
|
||||
<line x1="5" y1="17" x2="9" y2="17" stroke="#4cc9f0" stroke-width="1.0"/>
|
||||
<polygon points="15,16 13,17 15,18" fill="#4cc9f0"/>
|
||||
<polygon points="19,16 21,17 19,18" fill="#4cc9f0"/>
|
||||
<line x1="15" y1="17" x2="19" y2="17" stroke="#4cc9f0" stroke-width="1.0"/>
|
||||
<rect x="3" y="5" width="4" height="6" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<rect x="10" y="5" width="5" height="4" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
<rect x="17" y="5" width="4" height="5" fill="none" stroke="#e0e0e0" stroke-width="1.0"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
6
assets/icons/text_style.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<text x="2" y="14" font-family="serif" font-size="14" font-weight="bold" fill="#4cc9f0">A</text>
|
||||
<text x="12" y="14" font-family="sans-serif" font-size="10" fill="#e0e0e0">A</text>
|
||||
<line x1="2" y1="17" x2="22" y2="17" stroke="#e0e0e0" stroke-width="0.8"/>
|
||||
<line x1="2" y1="19" x2="16" y2="19" stroke="#4cc9f0" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 407 B |