Files
OneCAD-Draft/docs/plugin-host-model-coverage-ledger.md
T

4.4 KiB

OCS canvas kind coverage ledger

Use with the completion plan. The baseline below is conservative as of 19 September 2026. Mapped means at least one non-layer field is exposed for Python writes; it does not mean the kind passes the completion gate. Update-only means Python creation is unavailable. Layer-only means raw inspection and canvas layer edits exist, but geometry is not mapped. Record actual evidence or a blocking issue before changing any status to Complete.

Completion gate codes: C = create through Python document model; R = read; E = edit defining geometry and another property; D = delete; U = undo/redo and atomic failure; I = real IPC plus GUI/canvas pick or observable behavior; W = DWG and DXF save/reopen; V = invalid-input checks and untouched-field/reference preservation; P = portable H7 v5 build. A kind is Complete only when C/R/E/D/U/I/W/V/P all pass and its property catalog matches implementation. Blocked requires a specific dependency or failing fixture.

Kind Baseline Gate evidence / blocker
Point Mapped Host transaction test now checks invalid batch rollback, grouped edit undo, and redo; creation/deletion history, real plugin execution, GUI, and DWG/DXF gates remain pending.
Line Mapped Actual staged-plugin IPC Python create/edit/delete, three undo entries and undo/redo, and edited DWG/DXF reopen pass in staged_python_plugin_line_lifecycle_over_real_ipc. GUI pick/visibility, invalid-input/reference preservation, and document-model create/delete API still pending; not complete.
Circle Mapped Full gate pending.
Arc Mapped Full gate pending.
Ellipse Mapped Existing focused DWG conversion test; full gate pending.
Polyline Mapped Full gate pending.
Polyline2D Mapped Full gate pending.
Polyline3D Mapped Full gate pending.
LwPolyline Mapped Full gate pending.
Spline Mapped Full gate pending.
Text Mapped Full gate pending.
MText Mapped Full gate pending.
Ray Mapped Focused DWG round trip; full gate pending.
XLine Mapped Focused DWG round trip; full gate pending.
Solid Mapped Focused DWG round trip; full gate pending.
Face3D Mapped Focused DWG round trip; full gate pending.
Insert Update-only Transform transaction and undo tested; Python creation, deletion, real IPC/GUI and DWG/DXF gates pending.
Tolerance Layer-only Next new kind after integration harness.
Shape Layer-only Requires valid shape/style fixture.
AttributeDefinition Layer-only Requires block-definition fixture.
AttributeEntity Layer-only Requires linked Insert and attribute-sequence fixture.
Hatch Layer-only Requires valid boundary and pattern fixtures.
Leader Layer-only Requires annotation-linked fixture.
MLine Layer-only Requires valid style and vertex fixture.
Dimension Layer-only Track individual dimension subtypes.
MultiLeader Layer-only Requires nested context and style fixture.
Table Layer-only Requires table style and cell fixture.
PolygonMesh Layer-only Requires consistent grid/count fixture.
PolyfaceMesh Layer-only Requires valid face-index fixture.
Mesh Layer-only Requires valid topology fixture.
Helix Layer-only Requires valid derived-spline fixture.
RasterImage Layer-only Requires image definition and file fixture.
Wipeout Layer-only Requires clip and image-definition fixture.
Underlay Layer-only Requires external definition/file fixture.
Viewport Layer-only Requires layout and view-state fixture.
ViewBorder Layer-only Requires linked view records.
SectionSymbol Layer-only Requires section-view style and point records.
Light Layer-only Requires position/target and photometric-state fixture.
Region Layer-only Requires valid ACIS region payload.
Body Layer-only Requires valid ACIS body payload.
Solid3D Layer-only Requires valid ACIS solid payload.
Surface Layer-only Requires valid surface payload.
Ole2Frame Layer-only Requires valid embedded-object storage.

After each increment, update the row with test names, fixture paths, exact passing commands, OCS and PandoraBox commit hashes, and any manual GUI result. If a gate is untested, leave it pending. Do not raise the headline completion count from converter coverage alone.