feat(settings): drawing_properties_get/set — SummaryInfo on COM, custom properties on both engines

Summary fields are refused headlessly with capability dwgprops before any
write; custom properties are $CUSTOMPROPERTYTAG/$CUSTOMPROPERTY pairs and
survive save + reopen. Validation is shared, by name, and never str()-coerces.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
This commit is contained in:
Umut CAN
2026-09-21 16:59:19 +03:00
co-authored by Claude Opus 5
parent 75c13196b9
commit 10a7372ce7
9 changed files with 537 additions and 9 deletions
+30 -2
View File
@@ -3,7 +3,7 @@
"schema_version": 1,
"package_version": "1.5.1",
"totals": {
"tools": 167,
"tools": 169,
"resources": 8,
"prompts": 5,
"groups": 20
@@ -14,7 +14,7 @@
"blocks": 9,
"corner_ops": 4,
"dimensions": 5,
"drawing": 11,
"drawing": 13,
"engineering": 10,
"entity_creation": 18,
"entity_modification": 16,
@@ -631,6 +631,34 @@
"readOnlyHint": true
}
},
{
"name": "drawing_properties_get",
"group": "drawing",
"cost": "read",
"summary": "Read the drawing's title, subject, author, keywords, comments and custom properties.",
"tags": [
"drawing",
"settings"
],
"annotations": {
"title": "Drawing Properties (read)",
"readOnlyHint": true
}
},
{
"name": "drawing_properties_set",
"group": "drawing",
"cost": "safe",
"summary": "Set the drawing's summary fields and add, change or delete custom properties.",
"tags": [
"drawing",
"settings"
],
"annotations": {
"title": "Drawing Properties (write)",
"readOnlyHint": false
}
},
{
"name": "drawing_purge",
"group": "drawing",