Complete Table host model coverage

Maps rows, columns, merged ranges, style and placement through the generic
generator (now with tuple and usize support), adds grid/merge/reference
validation, and keeps DXF cell merge dimensions in step with merged_ranges.
staged_python_table_lifecycle_over_real_ipc passes the full gate including
DWG and DXF reopen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix RiestraandClaude Sonnet 5 committed 2026-09-20 14:36:12 +02:00
1 parent b3f5388208
commit 0206c7c30b
12 files changed
+428 -12

No files matched your search

+31 -1
View File
@@ -25,7 +25,8 @@
"Leader",
"MLine",
"Dimension",
"MultiLeader"
"MultiLeader",
"Table"
],
"manual_kinds": ["Dimension"],
"base_fields": ["handle", "layer", "owner_handle"],
@@ -280,6 +281,35 @@
"rust_setter": "if let Some(v) = dict.get_item_opt(\"context\", vm)? { VAR.context = merge_multileader_context(&VAR.context, v, vm)?; }"
}
}
},
"Table": {
"fields": {
"insertion_point": { "required": true },
"block_name": { "read_only": true },
"block_record_handle": { "read_only": true },
"data_version": { "read_only": true },
"value_flags": { "read_only": true },
"override_flag": { "read_only": true },
"override_border_color": { "read_only": true },
"override_border_line_weight": { "read_only": true },
"override_border_visibility": { "read_only": true },
"legacy_style_override": { "read_only": true },
"name": { "read_only": true },
"description": { "read_only": true },
"field_handles": { "read_only": true },
"base_style": { "read_only": true },
"break_data": { "read_only": true },
"break_ranges": { "read_only": true },
"dwg_unknown_byte": { "exclude": true },
"dwg_unknown_handle": { "exclude": true },
"dwg_unknown_long1": { "exclude": true },
"dwg_r2010_unknown_bit": { "exclude": true },
"dwg_unknown_long2": { "exclude": true },
"dwg_unknown_short": { "exclude": true },
"legacy_border_colors": { "exclude": true, "_comment": "Generic LegacyBorderOverrides<T> is not expressible by the generator; legacy R13-R2000 border overrides are preserved untouched." },
"legacy_border_line_weights": { "exclude": true },
"legacy_border_visibility": { "exclude": true }
}
}
}
}