# OpenCADStudio - Release v2026.39 (2026-09-27) > **Summary:** Milestone release featuring the initial Python Host Model plugin architecture, full dimensional and geometric parametric constraint parity (Linear, Aligned, Angular, Radial, Diameter), interactive Block Definition (`BLOCK`/`BMAKE`) and Write Block (`WBLOCK`) dialogs, command-line autocomplete execution on Enter, individual block attribute grips, the `XCLIP` boundary clipping tool, redesigned PDF/XREF underlay integration panels, interactive plugin command previews, trackpad gesture navigation (pan and pinch-to-zoom), major rendering & tessellation performance optimizations, and robust metric drawing template defaults. --- ### 🌟 Notable Release Notes * **Python Host Model & Plugin Architecture:** Introduced the foundational Python plugin execution model, embedding an isolated Python runtime host with CAD entity data structures, automation APIs, and lifecycle bindings. *(Contributed by [@felixriestra](https://github.com/felixriestra))* * **Block Creation & WBLOCK Dialogs:** Implemented interactive Block Definition dialogs (`BLOCK`/`BMAKE`) with on-screen entity sequencing, base point pickers, unit settings, and the standalone `WBLOCK` dialog for writing blocks to external files. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Command-Line Autocomplete & Architecture Modularization:** Pressing Enter now immediately executes the highlighted autocomplete pre-selection. Completely refactored the 11,500-line monolithic command driver into clean, decoupled domain modules. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Parametric Constraints Parity:** Delivered complete geometric and dimensional constraint toolsets including Linear, Aligned, Angular, Radial, and Diameter constraints, constraint conversion (`DELCONSTRAINT`), and dynamic constraint bar display. *(Contributed by [@ramox81](https://github.com/ramox81))* * **Individual Block Attribute Grips & Tracking:** Added individual grip markers on each block attribute definition and dual-vector intersection locks during object tracking (`OTRACK`). *(Contributed by Claude)* * **Tessellation & Pipeline Performance:** Optimized polyline arc tessellation sampling, bypassed wide fills on thin polylines, memoized constraint glyphs behind epochs, capped selection grips at 4096, and eliminated redundant wire distance calculations. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Boundary Clipping (`XCLIP`):** Implemented the `XCLIP` command, allowing users to define polygonal and rectangular clipping boundaries for external references and block inserts. *(Contributed by [@ramox81](https://github.com/ramox81))* * **Trackpad Navigation Gestures:** Added native trackpad gesture recognition supporting smooth two-finger panning and pinch-to-zoom. *(Contributed by [@swit33](https://github.com/swit33))* * **PDF & XREF Attachment Parity:** Redesigned the PDF and XREF attachment dialogs with live scale/rotation previews, layer visibility overrides, and context ribbon tabs. *(Contributed by [@ramox81](https://github.com/ramox81))* --- ### 🚀 New Features #### Blocks & Definitions * **Block Definition Dialog (`BLOCK`/`BMAKE`):** Added the standard Block Definition dialog with on-screen sequencing, base point coordinate pickers, retain/convert/delete actions, and unit settings. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Write Block Dialog (`WBLOCK`):** Added the `WBLOCK` dialog allowing users to export objects, entire drawings, or existing blocks to separate files. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Individual Block Attribute Grips:** Each visible block attribute now displays its own grip marker for independent position and orientation adjustments. *(Contributed by Claude)* * **Shared Dialog Button & Form Radio Builders:** Migrated dialogs across the application to consistent shared UI builders with theme-aware styling. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Block Window Localization:** Added multi-language localized strings for block creation dialogs and measurement units. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* #### Command Line & Drafting * **Autocomplete Execution on Enter:** Pressing Enter with an active autocomplete pre-selection now executes the highlighted command instantly. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Dual-Vector OTRACK Intersection Locks:** Visual object tracking draws both projection vectors simultaneously at ray intersections. *(Contributed by Claude)* * **XLINE and RAY Direction Grip Stretch:** Moving the directional pass-through grip on infinite lines and rays now applies stretch semantics rather than displacing the base origin. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Metric Drawing Defaults:** Initialized new drawings using standardized ISO metric template defaults (meters/millimeters) and proper dimension styles. *(Contributed by [@ramox81](https://github.com/ramox81))* * **Page Setup Import (`PSETUPIN`):** Supported importing named page setups across drawings via JSON and drawing database exchanges. *(Contributed by [@lalomalvi](https://github.com/lalomalvi))* * **Raster Image Pixel Dimensions:** Displayed exact pixel width and height metadata for attached raster image references. *(Contributed by [@ramox81](https://github.com/ramox81))* #### Plugin System Extensions * **Interactive Plugin Previews:** Plugins can now emit transient graphic preview entities during active user interaction steps. *(Contributed by [@yztink](https://github.com/yztink))* * **Command Execution from Plugins:** Added `run_command` capability enabling plugins to invoke built-in CAD commands programmatically. *(Contributed by [@yztink](https://github.com/yztink))* * **Plugin Layer Property Access:** Exposed granular layer table read and write APIs to plugin scripts. *(Contributed by [@yztink](https://github.com/yztink))* * **Repeatable Plugin Commands:** Enabled repeating the last-executed plugin command upon pressing Enter or Space. *(Contributed by [@yztink](https://github.com/yztink))* #### Performance & Architecture * **Polyline Arc Tessellation Performance:** Optimized polyline arc sampling and eliminated expensive wide fill mesh generation for zero-width/thin polylines. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Analytical Instancing & Wire Partitioning:** Streamlined render environment resolution, skipped wire distance calculations for solid lines, and optimized handle parsing. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Selection Grip Cap & Epoch Memoization:** Capped total displayed selection grips at 4096 and memoized constraint-glyph layout positions behind `constraints_epoch`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Statusbar Epoch Caching:** Cached layout and scale derived properties behind change epochs for smooth frame pacing. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Driver & Kernel Modularization:** Decomposed monolithic 11,500-line command driver into domain modules, extracted reusable clipboard and matchprop kernels, and unified table/block merge copies. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* --- ### 🐛 Bug Fixes #### Geometry, Snapping & Boundary Detection * **Plan-View Trim Segment Skipping:** Skipped zero plan-view polyline segments in `TRIM` to prevent clipping failures. *(Contributed by Claude)* * **Attribute Filter Refactoring:** Streamlined attribute filter logic in insert entity handlers. *(Contributed by [@dasmatus](https://github.com/dasmatus))* * **Boundary Detection for Infinite Rays/XLINEs:** Clipped unbounded sources, rays, and XLINEs to finite view extents during face detection and associative hatch refreshes. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Units Settings in DIST Output:** Enforced user precision and drawing units settings on `DIST` command readout. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Property Operator Snapshot Leak:** Converted `chprop` choices to standardized property ops, eliminating a CTB memory snapshot leak. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))* * **Direct Distance Entry without Dynamic Input:** Ensured typed direct distances commit accurately along polar tracking angles when dynamic input is disabled. *(Contributed by [@yztink](https://github.com/yztink))* * **3D Shell Command Crash:** Resolved an edge-case crash when selecting complex solid shells in the `SHELL` command. *(Contributed by [@ramox81](https://github.com/ramox81))* #### Viewport & Plotting * **Viewport Wide Polyline Plot Widths:** Corrected stroke width scaling for wide polyline segments plotted inside scaled viewports. *(Contributed by [@Chrisyeh1983](https://github.com/Chrisyeh1983))* * **Dimension Arrowhead Export:** Fixed missing and clipped arrowheads during vector dimension export. *(Contributed by [@ThaiLe-gt](https://github.com/ThaiLe-gt))* * **Plot Preview Test Isolation:** Isolated plot preview tests from host environment display server dependencies. *(Contributed by [@lalomalvi](https://github.com/lalomalvi))* * **Text Fallback Empty Outlines:** Prevented empty or missing font outlines from generating zero-area bounding artifacts. *(Contributed by [@swit33](https://github.com/swit33))* * **ViewCube Visibility Toggle:** Fixed ViewCube rendering states to honor viewport visual style visibility toggles. *(Contributed by [@yztink](https://github.com/yztink))* #### UI, Automation & Platform * **Command Line Duplicate Paste:** Prevented duplicate text insertion when pasting clipboard text into the command-line interface. *(Contributed by [@yztink](https://github.com/yztink))* * **Missing Font Prompt Hardening:** Prevented recursive dialog prompts when encountering drawings referencing multiple missing SHX fonts. *(Contributed by [@lalomalvi](https://github.com/lalomalvi))* * **Automation Task Dispatch:** Fixed task dispatching to prevent orphan task registrations in automation pipelines. *(Contributed by [@helenkwok](https://github.com/helenkwok))* * **Batch Line Tail Trimming:** Corrected tail trimming issues during batch geometry creation. *(Contributed by [@buyun14](https://github.com/buyun14))* * **API Documentation & Specs:** Documented native and web automation build targets and API endpoints. *(Contributed by [@helenkwok](https://github.com/helenkwok), [@buyun14](https://github.com/buyun14), and [@huaninstratech](https://github.com/huaninstratech))* --- ### 👥 Contributors Huge thanks to all contributors to `v2026.39`: * **Hakan Seven** ([@HakanSeven12](https://github.com/HakanSeven12)) — Upstream geometry kernel and codec synchronization, core application architecture. * **Felix Riestra** ([@felixriestra](https://github.com/felixriestra)) — Python Host Model plugin architecture, Python C-bindings and runtime lifecycle. * **ramox81** ([@ramox81](https://github.com/ramox81)) — Parametric constraints (Linear, Aligned, Angular, Radial), `XCLIP`, PDF/XREF underlays, metric defaults. * **Karim Jerbi** ([@KarimJerbi](https://github.com/KarimJerbi)) — Block definition dialogs (BLOCK/BMAKE/WBLOCK), Enter autocomplete execution, command driver modularization, polyline arc tessellation & rendering pipeline performance, grip stretch for XLINE/RAY, statusbar & glyph caching. * **Claude** (Claude Opus / Sonnet) — Block attribute individual grips, OTRACK dual-vector intersection locks, plan-view trim segment filtering. * **yztink** ([@yztink](https://github.com/yztink)) — Plugin interactive previews, plugin command execution, direct distance entry, command line paste fix. * **Chris Yeh** ([@Chrisyeh1983](https://github.com/Chrisyeh1983)) — Viewport wide polyline plot stroke width fixes. * **Alexey Bagno** ([@swit33](https://github.com/swit33)) — Trackpad pan and pinch gestures, text font fallback outlines. * **Luis Martinez** ([@lalomalvi](https://github.com/lalomalvi)) — `PSETUPIN` page setup import, missing font prompt hardening, plot preview test isolation. * **Matus Mastena** ([@dasmatus](https://github.com/dasmatus)) — Attribute filtering logic refactoring. * **Thai Le** ([@ThaiLe-gt](https://github.com/ThaiLe-gt)) — Dimension arrowhead vector export fix. * **Helen Kwok** ([@helenkwok](https://github.com/helenkwok)) — Automation task dispatching and web build documentation. * **buyun14** ([@buyun14](https://github.com/buyun14)) — Batch line geometry trimming and automation docs. * **Huan Le** ([@huaninstratech](https://github.com/huaninstratech)) — Automation API specification and build scripts.