feat(templates): five bundled templates built by the server's own tools; drawing_new(template=name)

SECTION 19 grows to five tools with drawing_template_list; drawing_new takes a
bundled name (iso_a3_mech, iso_a1_arch, iso_a3_pid, ansi_b_mech, ansi_d_arch)
or a .dwt/.dxf path and reports template: {name|path, path, source}.

scripts/build_templates.py builds templates/*.dxf through EzdxfBackend
(layer set, header DIM variables until group S's styles land, drawing_settings,
sheet tab, ISO 5457 frame on A3, page_setup_apply) and --check pins them
reproducible. One drift the plan's same-process measurement could not see is
fixed at the source rather than masked: ezdxf orders CLASSES by set iteration,
so two processes disagreed on LAYOUT / ACDBPLACEHOLDER; the section is re-keyed
(required list first, then by name) before the save.

The root .gitignore ignores *.dxf as generated output; templates/*.dxf is
un-ignored there, since the bundled set is the one DXF that is committed.

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 22:03:41 +03:00
co-authored by Claude Opus 5
parent 86c5d6ad65
commit a76d9e08a3
17 changed files with 19981 additions and 22 deletions
+18 -3
View File
@@ -3,7 +3,7 @@
"schema_version": 1,
"package_version": "1.5.1",
"totals": {
"tools": 170,
"tools": 171,
"resources": 8,
"prompts": 5,
"groups": 20
@@ -25,7 +25,7 @@
"premium": 12,
"solids": 5,
"system": 7,
"templates": 2,
"templates": 3,
"transactions": 3,
"validation": 1,
"view": 4
@@ -596,7 +596,7 @@
"name": "drawing_new",
"group": "drawing",
"cost": "mutate",
"summary": "Start a blank drawing, pre-seeded with the standard engineering layers.",
"summary": "Start a drawing: blank with the engineering layers, or from a bundled/own template.",
"tags": [
"drawing"
],
@@ -726,6 +726,21 @@
"destructiveHint": false
}
},
{
"name": "drawing_template_list",
"group": "templates",
"cost": "read",
"summary": "List the five bundled drawing templates: standard, sheet, layers, styles, page setup.",
"tags": [
"drawing",
"query",
"template"
],
"annotations": {
"title": "List Drawing Templates",
"readOnlyHint": true
}
},
{
"name": "drawing_undo",
"group": "drawing",