forked from 1b-agent/opencadstudio-upstream
The Annotative row becomes an editable toggle for the two entity types that carry a native per-object annotative flag — MTEXT (is_annotative) and MULTILEADER (enable_annotation_scale). Turning it on flags the object annotative (it then scales with the current annotation scale in model space); turning it off clears the flag AND removes the per-object annotation context (the AcDbContextDataManager -> ACDB_ANNOTATIONSCALES leaf subtree) plus the legacy annotative XDATA markers, via scene::annotative::set_entity_annotative / clear_annotation_context, so the object stops resolving annotative instead of staying on through a stale context. The shared SCALE objects are left intact. Style-derived types (text/dimension/leader/table/insert) keep a read-only Annotative row — their state comes from the assigned style, and making a single object annotative there needs a per-object context object (a dedicated acadrust ObjectContextData writer) which is out of scope here. Verified an existing annotative DWG round-trips its 134 per-object contexts through a save/reload unchanged, so the far more common open-and-save path is unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>