From 226860d3b3af5e4b7e0f4b3f70641420d207310a Mon Sep 17 00:00:00 2001 From: Felix Riestra Date: Sun, 20 Sep 2026 16:14:13 +0200 Subject: [PATCH] Refresh the Insert and Polyline wording in the design notes and plan Co-Authored-By: Claude Sonnet 5 --- docs/plugin-host-model-completion-plan.md | 2 +- docs/plugin-host-model.md | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/plugin-host-model-completion-plan.md b/docs/plugin-host-model-completion-plan.md index fc74152dd..c9a104d9d 100644 --- a/docs/plugin-host-model-completion-plan.md +++ b/docs/plugin-host-model-completion-plan.md @@ -8,7 +8,7 @@ As of 20 September 2026, the working branch is `plugin/host-model-api` at `a8dd3640` plus the Leader increment, published as draft PR [#1391](https://github.com/HakanSeven12/OpenCADStudio/pull/1391). Host API is v7. The Python feature has explicit writes for **37 of 43** canvas kinds: 36 -are creatable (the legacy `Polyline` is update-only) and `Insert` remains update-only. This is **not** 37 completed +are creatable (the legacy `Polyline` is update-only). This is **not** 37 completed kinds: Tolerance, Shape, AttributeEntity, Hatch, MLine, Dimension, MultiLeader, Table, PolygonMesh, PolyfaceMesh, Mesh, Wipeout, Point, Line, Circle, Arc, Ellipse, LwPolyline, Text, MText, Ray, XLine, Solid and Face3D pass every completion gate; Insert now passes every gate too; the audited Polyline (update-only by decision), Polyline2D, Polyline3D and Spline pass every gate that their format allows. AttributeDefinition passes its host and real IPC lifecycle but remains short of `Complete` because the previously pinned CAD codec dropped optional ATTDEF diff --git a/docs/plugin-host-model.md b/docs/plugin-host-model.md index c6cccb12c..3fbae22ad 100644 --- a/docs/plugin-host-model.md +++ b/docs/plugin-host-model.md @@ -50,10 +50,11 @@ The bundled first-party adapter under `plugins/opencad-python` currently maps these entity kinds to Python dictionaries: Point, Line, Circle, Arc, Ellipse, Polyline, Polyline2D, Polyline3D, LwPolyline, Spline, Text, MText, Ray, XLine, Solid, Face3D, Insert, Tolerance, Shape, AttributeDefinition, -AttributeEntity, and Hatch. Insert is update-only: the block name is readable -but cannot be changed, and Python creation is withheld until block-table -references can be established safely. Attached attributes remain available in -the raw snapshot. The authoritative per-field mapping is +AttributeEntity, and Hatch. An Insert is created by naming an existing +ordinary block (the host refuses unknown blocks, model or paper space and +containment cycles); the block name cannot be changed afterwards. Attached +attributes stay with the AttributeEntity flow and remain in the raw snapshot. +The legacy Polyline is update-only: create a Polyline2D or Polyline3D. The authoritative per-field mapping is `plugins/opencad-python/entity_manifest.json`. The generated mapping excludes fields it cannot represent, including common color, line weight, transparency, Polyline3D smooth type, and MText background color.