feat: ATTEDIT — edit block attribute values interactively

- attedit.rs: AtteditCommand picks an INSERT entity then iterates through
  each attribute tag prompting for a new value (Enter keeps existing)
- attedit_pending_handle() / attedit_set_attrs() trait methods inject
  attribute data into the command after entity-pick (avoids document access
  in the command itself)
- cmd_result.rs: NeedPoint handler injects attr data; ReplaceEntity detects
  the __ATTEDIT__ sentinel and calls apply_attedit() on the document
- apply_attedit() encodes tag/value pairs as __ATTEDIT__tag\x01val\x02...
- ROADMAP.md: ATTEDIT marked ✅

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-08 00:19:43 +03:00
1 parent 0fc3766da7
commit 6f741a92e0
6 files changed
+229 -1

No files matched your search

+1 -1
View File
@@ -127,7 +127,7 @@ Underlay (PDF/DWF/DGN)
| STRETCH (SS) | ✅ | — |
| SPLINEDIT | ✅ CLOSE/OPEN/REVERSE + grip editing | — |
| HATCHEDIT | ✅ | — |
| ATTEDIT | ⬜ | Attribute değerlerini düzenleme |
| ATTEDIT | ✅ Interactive tag-by-tag value editing | — |
| DDEDIT (çift tık metin) | ✅ | — |
| REFEDIT | ⬜ | Block in-place düzenleme |
| DIVIDE (DIV) | ✅ | — |