Map Leader in the Python host model; record acadrust W blockers

Adds Leader validation and annotation/dimension-style reference checks to
ocs_plugin_api, maps 15 writable and 5 read-only fields in the adapter, and
adds staged_python_leader_lifecycle_over_real_ipc covering C/R/E/D/U/I/V/P.
The W gate stays open: acadrust's DXF writer omits the annotation handle and
DXF reads drop annotation_offset; DWG R2010+ does not store text size or the
hookline flag. Each gap is pinned by a canary assertion.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix RiestraandClaude Sonnet 5 committed 2026-09-20 11:12:27 +02:00
1 parent a8dd3640b3
commit ec10bdbc48
10 files changed
+486 -20

No files matched your search

+22 -1
View File
@@ -21,7 +21,8 @@
"Shape",
"AttributeDefinition",
"AttributeEntity",
"Hatch"
"Hatch",
"Leader"
],
"base_fields": ["handle", "layer", "owner_handle"],
"overrides": {
@@ -228,6 +229,26 @@
"mpolygon_x_direction": { "exclude": true },
"mpolygon_boundary_handle_count": { "exclude": true }
}
},
"Leader": {
"fields": {
"vertices": { "required": true },
"origin": { "read_only": true },
"dimension_gap": { "read_only": true },
"arrowhead_type": { "read_only": true },
"arrow_size": { "read_only": true },
"byblock_color": { "read_only": true },
"dwg_unknown_bit1": { "exclude": true },
"dwg_unknown_bit2": { "exclude": true },
"dwg_unknown_bit3": { "exclude": true },
"dwg_unknown_bit4": { "exclude": true },
"dwg_unknown_bit5": { "exclude": true },
"dwg_unknown_short1": { "exclude": true },
"override_color": {
"exclude": true,
"_comment": "Color is a multi-payload tagged enum the generator cannot express yet. It stays snapshot-readable and is preserved untouched by Python edits."
}
}
}
}
}