docs: add comprehensive per-release changelogs and master index

- Add root CHANGELOG.md as master index with executive release summaries
- Add dedicated changelogs for last 4 releases (v2026.38, v2026.39, v2026.40/40.1 unified, v2026.41) and unreleased
This commit is contained in:
Karim Jerbi committed 2026-10-13 15:35:24 +01:00
1 parent f18386c100
commit 535710e5d1
6 files changed
+628

No files matched your search

+101
View File
@@ -0,0 +1,101 @@
# OpenCADStudio Changelog
> **Summary:** OpenCADStudio follows a weekly release cycle (Sunday 12:00 UTC) with versioning formatted as `v<Year>.<Week>` (e.g. `v2026.41`). This master changelog indexes all releases with an executive summary and links to dedicated per-release changelog documents located in [`changelogs/`](changelogs/).
---
## Index of Releases
| Release | Date | Highlights | Details |
| :--- | :--- | :--- | :--- |
| **[Unreleased](changelogs/unreleased.md)** | *2026-10-11 to Present* | Docking icon rails, block cycle protection & codec explosion, Web/WASM parity wave (in-place save, offline PWA, workers), MCP dynamic schemas & batch bindings | [changelogs/unreleased.md](changelogs/unreleased.md) |
| **[v2026.41](changelogs/v2026.41.md)** | *2026-10-11* | Sheet Set Manager (`SHEETSET`), `COUNT` command & live tables, associative `SWEEP`, RTL text, DimStyle per-end arrowheads (`DIMBLK1`/`DIMBLK2`), GPU options (Metal/OpenGL) | [changelogs/v2026.41.md](changelogs/v2026.41.md) |
| **[v2026.40 / v2026.40.1](changelogs/v2026.40.md)** | *2026-10-05* | `FIELD` command & dialog, `ATTDEF` parity, Blocks palette, MCP DeepZoom pyramidal tiling & SoM visual ID stamps, DWF/DGN underlays, `DYNMODE`, embedded TrueType PDF, instant layer toggling | [changelogs/v2026.40.md](changelogs/v2026.40.md) |
| **[v2026.39](changelogs/v2026.39.md)** | *2026-09-27* | Block creation & `WBLOCK` dialogs, Enter autocomplete, Python Host Model architecture, parametric constraints parity, `XCLIP` boundary clipping, trackpad pan/pinch, tessellation performance | [changelogs/v2026.39.md](changelogs/v2026.39.md) |
| **[v2026.38](changelogs/v2026.38.md)** | *2026-09-20* | 2D geometric constraints engine (`GEOMCONSTRAINT`), External References (`XREF`) overhaul, 3D OSNAP system (22.7x speedup), `DSETTINGS` & `ALIASEDIT`, associative viewport dimensions, 3D SpaceMouse, Windows printing | [changelogs/v2026.38.md](changelogs/v2026.38.md) |
---
## [Unreleased] - 2026-10-13
> **Summary:** Overhaul of the workspace docking and layout system with Photoshop-style vertical icon rails and draggable tabs; deep hardening of block definitions against circular recursion and standard-compliant block explosion (`INSERT`/`MINSERT`); major Web/WASM platform parity wave including in-place saving via File System Access API, offline PWA support, and worker-routed operations; plus custom `.pat` and `.lin` pattern loading.
### 🌟 Key Highlights
* **Modernized Docking & Workspace System:** Photoshop-style collapsible vertical icon rails, auto-hide flyouts, draggable tab reordering, and independent floating palettes. *(Contributed by [@posnofa](https://github.com/posnofa) and [@MarcelP102](https://github.com/MarcelP102))*
* **Block System Hardening & Safe Explosion:** Prevents circular/recursive block definitions and render loops. Delegates `INSERT`/`MINSERT` explosions to `opencadcodec`, restoring transformed `ATTDEF`s, correcting rotated arrays, and consolidating definition ops. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **MCP Extensibility & Schema Preflight:** Added side-effect-free preflight validation, on-demand entity creation schemas, batch parameter bindings, and specialist workflow guides. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Major Web / WASM Platform Wave:** In-place local saving via File System Access API, offline PWA, crash recovery (`restore-all`), clipboard image pasting, worker-routed `WBLOCK`/`SAVEALL`/`ARCHIVE`, and in-browser PDF plotting. *(Contributed by [@posnofa](https://github.com/posnofa), [@HakanSeven12](https://github.com/HakanSeven12), and Claude Opus 5.5)*
* **Custom Resources & Compatibility:** Loading for user `.pat` hatch and `.lin` linetype files, view backgrounds, and strict DWG reader compliance. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and [@ramox81](https://github.com/ramox81))*
👉 **[View Full Unreleased Release Notes](changelogs/unreleased.md)**
---
## [v2026.41] - 2026-10-11
> **Summary:** Major feature milestone introducing the Sheet Set Manager (`SHEETSET`) with `.dst` project support; the automated entity `COUNT` command and palette with dynamic table generation; network-integrated associative swept surfaces (`SWEEP`); complete right-to-left (RTL) text layout in `MTEXT`; independent dimension style per-end arrowheads (`DIMBLK1`/`DIMBLK2`); table cell style overrides; GPU hardware selection options (Metal/OpenGL); MCP differential capture payload optimizations; and extensive drafting, plotting, spatial indexing, and memory fixes.
### 🌟 Key Highlights
* **Sheet Set Manager (`SHEETSET`):** Complete Sheet Set Manager palette, `.dst` project wizard, cross-drawing sheet fields, drawing lock-file coordination, and background sheet opening. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Automated Entity Counting (`COUNT`):** Interactive block counting across model space or designated boundaries, collision diagnostics, and live evaluated count table insertion. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Associative Swept Surfaces & 3D Modeling:** Network-tracked associative swept surfaces (`SWEEP`) with path-relative base points, miter corner history, B-rep `MASSPROP`, and curved offset/fillets. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Advanced Typography & Table Overrides:** Fully compliant right-to-left (RTL) text rendering in `MTEXT`, exact bounding boxes for shaped/rotated text fields, and in-place table cell style overrides with automated formula updates. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Dimension Style Independent Arrowheads (`DIMBLK1`/`DIMBLK2`):** Supported independent arrowhead configurations for start and end leaders with real-time preview synchronization. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **GPU Platform Routing & Hardware Info:** Hardware-aware backend routing (Metal on macOS, OpenGL fallback for legacy hardware), hardware info in About dialog, and dedicated Graphics options tab. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
👉 **[View Full v2026.41 Release Notes](changelogs/v2026.41.md)**
---
## [v2026.40 / v2026.40.1] - 2026-10-05 *(v2026.40.1 replaced pulled v2026.40)*
> **Summary:** Major release for release week 2026.40 (replacing the pulled `v2026.40` release). Introduces the interactive `FIELD` evaluation command and dialog, full `ATTDEF` attribute definition workflow parity, a redesigned tabbed Blocks palette with drag-and-drop insertion, multiscale pyramidal DeepZoom tiling & Set-of-Marks visual ID stamping for MCP vision tools, DWF/DGN and point cloud underlay support, dynamic input control (`DYNMODE`), script engine upgrades (`.scr`), TrueType embedded font PDF export, and smooth exponential zoom navigation. Incorporates immediate stability hotfixes for instant layer visibility toggling without CPU re-tessellation, 3D cylinder height input validation, load-time `BLOCK`/`ENDBLK` sentinel recovery, and MCP server request lifecycle & cancellation hardening.
### 🌟 Key Highlights
* **Instant Layer Visibility Toggling:** Toggle visibility states directly on GPU batches without triggering CPU re-tessellation passes. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **`FIELD` Evaluation System & Dialog:** Real-time text/MText field evaluation, table formulas, block placeholders, and plot-time updates. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Attribute Definition (`ATTDEF`) Parity:** Complete `ATTDEF`/`-ATTDEF` dialogs, tag visibility management, and ribbon integration. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Blocks Palette Overhaul:** Redesigned Blocks palette with categorized tabs (Current Drawing, Recent, Favorites) and drag-and-drop insertion. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **MCP Multiscale Pyramidal Tiling (DeepZoom):** On-demand cached multi-resolution pyramid tiling protocol (`manifest.json` and `tile/{level}/{x}/{y}`) allowing LLM vision agents to inspect dense drawings without exceeding token budgets. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Set-of-Marks Visual Grounding & Vision ID Stamp:** High-contrast numbered visual ID badge stamps on entity centroids in viewport captures with bidirectional grounding manifests mapping tags to handles and world bounds. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Visual Differential Streaming & Spatial CRS:** Standardized WCS spatial metadata under `_spatial` and visual diff engine (`compute_visual_diff`) with dirty region cropping (`diff_mode: crop`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Drawing Load Sentinel Recovery:** Materialized missing `BLOCK`/`ENDBLK` sentinels on load, preventing crashes and corrupt database states. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **PDF TrueType Font Embedding:** Subset TrueType font embedding directly in vector PDF export. *(Contributed by [@Chrisyeh1983](https://github.com/Chrisyeh1983))*
👉 **[View Full v2026.40 / v2026.40.1 Release Notes](changelogs/v2026.40.md)**
---
## [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, 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.
### 🌟 Key Highlights
* **Block Definition (`BLOCK`/`BMAKE`) & WBLOCK Dialogs:** Interactive block creation dialogs with on-screen sequencing, base point coordinate pickers, unit settings, and external file block export. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Command-Line Autocomplete & Architecture Modularization:** Pressing Enter executes highlighted autocomplete suggestions immediately. Modularized monolithic 11.5k-line command driver into clean domain modules. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Python Host Model & Plugin Architecture:** Foundational embedded Python runtime host with CAD entity data structures and automation APIs. *(Contributed by [@felixriestra](https://github.com/felixriestra))*
* **Parametric Constraints Parity:** Complete geometric and dimensional constraint toolsets (Linear, Aligned, Angular, Radial, Diameter). *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Tessellation & Pipeline Performance:** Optimized polyline arc tessellation sampling, bypassed wide fills on thin polylines, memoized constraint glyphs, and capped selection grips at 4096. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Boundary Clipping (`XCLIP`):** Polygonal and rectangular clipping boundaries for external references and block inserts. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Trackpad Navigation Gestures:** Smooth two-finger panning and pinch-to-zoom gestures. *(Contributed by [@swit33](https://github.com/swit33))*
👉 **[View Full v2026.39 Release Notes](changelogs/v2026.39.md)**
---
## [v2026.38] - 2026-09-20
> **Summary:** Massive foundational release bringing the geometric 2D constraint engine (Horizontal, Vertical, Concentric, Smooth, Symmetric, Equal, Fixed, Autoconstrain), complete External References (XREF) Manager overhaul, independent 3D object-snap engine with 22.7x tracking speedup, modernized `DSETTINGS` dialog, `ALIASEDIT` command alias manager, associative paper space viewport dimensions, 3Dconnexion SpaceMouse navigation on Windows, comprehensive Windows printing & CTB routing, context right-click menus, and 3D format fixes (STEP/OBJ).
### 🌟 Key Highlights
* **External References (XREF) Manager Overhaul:** Docked palette with tree/list views, resizable columns, status detection (loaded, unloaded, stale, orphaned), detach/reload/bind/path ops, and split toolbar. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Independent 3D Object Snap System & Performance:** 3D OSNAP engine supporting 6 distinct modes, coupled with a 22.7x broadphase and tangent gating speedup in cursor snap tracking. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Drafting Settings (`DSETTINGS`) & `ALIASEDIT` Modernization:** Modern tabbed `DSETTINGS` dialog with editable grid/snap spacing, and full shortcut-editor parity in `ALIASEDIT`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Geometric Parametric Constraints Engine:** 2D constraint engine with `AUTOCONSTRAIN` and the interactive `CONSTRAINTBAR`. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Polyline Arc & Offset Grip Editing:** Interactive radius grip editing for LWPOLYLINE arcs and parallel segment offset grips preserving connected geometry. *(Contributed by [@MarcelP102](https://github.com/MarcelP102))*
* **Fusion Themes & UCS Face/Object Alignment:** Fusion Black and Fusion White visual themes, interactive sketch mode, and direct UCS alignment to solid 3D faces (`UCS FACE`). *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **Associative Viewport Dimensions:** Associative dimensioning in layout viewports dynamically tied to 3D model geometry. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12), [@CiberNin](https://github.com/CiberNin), and [@kevin9327](https://github.com/kevin9327))*
* **3Dconnexion SpaceMouse Support:** Native 6-DOF controller navigation support on Windows. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Windows Plotting & Printing Subsystem:** Reliable DEVMODE queries, custom paper routing, and lenient CTB loading. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and [@CiberNin](https://github.com/CiberNin))*
👉 **[View Full v2026.38 Release Notes](changelogs/v2026.38.md)**
+112
View File
@@ -0,0 +1,112 @@
# OpenCADStudio - Unreleased (2026-10-11 to Present)
> **Summary:** Overhaul of the workspace docking and layout system with Photoshop-style vertical icon rails and draggable tabs; deep hardening of block definitions against circular recursion and standard-compliant block explosion (`INSERT`/`MINSERT`); major Web/WASM platform parity wave including in-place saving via File System Access API, offline PWA support, and worker-routed operations; plus custom `.pat` and `.lin` pattern loading.
---
### 🌟 Notable Release Notes
* **Modernized Docking & Workspace System:** Introduced Photoshop-style collapsible vertical icon rails for docked groups, 150ms auto-hide flyout behavior, draggable tab reordering, and independent floating windows for palettes (including a dedicated `LAYERS` manager). *(Contributed by [@posnofa](https://github.com/posnofa) and [@MarcelP102](https://github.com/MarcelP102))*
* **Block System Hardening & Safe Explosion:** Complete overhaul of block references and definitions. Prevents circular/recursive block nesting crashes at both commit time and render time. Block explosions (`INSERT` and `MINSERT`) now delegate to `opencadcodec`, properly restoring transformed `ATTDEF` templates and handling rotated arrays with non-zero base points. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Major Web / WASM Platform Wave:** In-place local file saving via the File System Access API, offline PWA support, automatic crash recovery (`restore-all`), clipboard image pasting, worker-threaded `WBLOCK` / `SAVEALL` / `ARCHIVE` tasks, and in-browser PDF plotting. *(Contributed by [@posnofa](https://github.com/posnofa), [@HakanSeven12](https://github.com/HakanSeven12), and Claude Opus 5.5)*
* **Custom Resources & Compatibility:** Native support for loading custom user hatch patterns (`.pat`) and linetypes (`.lin`), custom view backgrounds (solid, gradient, and device-pixel scaled images), and strict DWG reader compliance fixes. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and [@ramox81](https://github.com/ramox81))*
---
### 🚀 New Features
#### UI & Workspace
* **Docking Panels & Icon Strips:** Added vertical icon rails for docked palette groups, per-edge auto-hide flyouts, customizable slot heights, and double-click float/dock toggles. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **Draggable Tabs & Groups:** Palette tabs can now be reordered by dragging; floating windows support grouped tabs. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **Layer Manager Palette:** Integrated `LAYERS` into the docking system as a native pallet. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **Graphic Attributes Palette:** Added toggles, controls for open boundaries, color swatches with `*VARIES*` indicator, and persistent docking layout. *(Contributed by [@MarcelP102](https://github.com/MarcelP102))*
#### Selection & Drafting
* **Advanced Selection Filter (`FILTER`):** Added comprehensive selection filtering with normalized logical operators and attribute filters (v2.2). *(Contributed by [@turbuczn](https://github.com/turbuczn))*
* **Transparent Object Snap Overrides:** Introduced transparent object snap overrides within active drafting commands. *(Contributed by [@yztink](https://github.com/yztink))*
* **Chamfer & Fillet No-Trim Mode:** Added support for preserving source entities during `CHAMFER` and `FILLET` (`TRIMMODE=0`). *(Contributed by [@YsDirector](https://github.com/YsDirector))*
* **Line Tangency in Arcs:** Supported line tangency constraints during arc construction with improved trim contact precision. *(Contributed by [@yztink](https://github.com/yztink))*
* **SVG Export:** Added native SVG export via `EXPORTSVG`. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **Custom Resource Loading:** Added direct loading for user `.pat` hatch pattern and `.lin` linetype files. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
#### Views & Layouts
* **`-VIEW` Command Line Interface:** Added command-line view presets, orthographic UCS alignment, and window definitions. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **View Backgrounds:** Added support for solid, two-color linear gradient, and scaled/offset device-pixel raster backgrounds. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Automatic Layout Viewport (`LAYOUTCREATEVIEWPORT`):** Automatically creates and enables an initial viewport upon first opening a layout tab. *(Contributed by [@ramox81](https://github.com/ramox81))*
#### Web & Platform
* **In-Place File System Access:** Native saving in browser via File System Access API. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **PWA & Offline Recovery:** Full offline PWA capabilities with deep linking (`?file=`) and session recovery (`restore-all`). *(Contributed by [@posnofa](https://github.com/posnofa))*
* **Web Worker File Operations:** Offloaded `WBLOCK`, `SAVEALL`, and `ARCHIVE` transmittal generation to background web workers. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **3D Formats in Web:** Enabled STEP/STL export and OBJ import on web builds. *(Contributed by [@posnofa](https://github.com/posnofa))*
* **In-Page Plot Preview:** Embedded PDF plot preview directly in-page on wasm32 with quality presets. *(Contributed by [@posnofa](https://github.com/posnofa))*
#### Automation & MCP (Model Context Protocol)
* **Canvas Pointer Event Replay:** Added pointer event replay on the canvas for automated test drivers. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Dynamic Entity Schemas & Preflight:** Added on-demand entity creation schema inspection and side-effect-free preflight validation in MCP server (`006be890`, `97afb573`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **MCP Batch Step Bindings & Summaries:** Added batch parameter bindings to earlier step results and batch summaries with read-only detail retrieval (`50030be8`, `7b68d274`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Specialist Guides & Schema Deduplication:** Served architectural and workflow specialist guides on demand and deduplicated operations with shared schemas (`8943a6fd`, `f4b33d5c`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Resource Links for Captures:** Returned dedicated resource URIs for reference-only image captures (`6ff8d8d7`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Spline Automation API:** Added spline creation and parameter serialization with strict knot/weight validation (`entities_create`). *(Contributed by [@YsDirector](https://github.com/YsDirector))*
* **Selection Event Streaming:** Automation clients now receive real-time selection change notifications. *(Contributed by [@YsDirector](https://github.com/YsDirector))*
* **Host API v8:** Added name-addressed `XRecord` CRUD operations on `HostApi`. *(Contributed by [@schoeller](https://github.com/schoeller))*
---
### 🐛 Bug Fixes
#### Blocks & Attributes
* **Circular Block Prevention:** Added cycle detection in `block_service` preventing recursive block definitions (`INSERT` in `BEDIT` or redefinition) and safely truncated render-time cycles with session warnings (`9c08e8a3`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Block Explosion & ATTDEF Restoration:** Restored transformed `ATTDEF` definitions when exploding `INSERT` / `MINSERT` blocks, dropped instance attribute values, and corrected rotated array spacings (`8d287dec`, `59bb6faa`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Constant Attributes in ATTEDIT:** Enforced constant attribute flags in attribute editor by disabling constant fields and ignoring edits (`59bb6faa`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Block Service Consolidation:** Consolidated delete, rename, and purge operations through a single block definition service (`2b50b6c8`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Paste Block Origin:** Fixed `PASTEBLOCK` placement to align accurately with the picked point (`925c91cc`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Wipeout Render Cache & Draw Order:** Fixed wipeout render cache invalidations on insert copy/grip moves and preserved draw order for overlapping block wipeouts and hatches (`fe0edb61`, `1074c81f`, `72e97c6f`). *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **Cross-Document Dictionaries:** Prevented copied entities from incorrectly sharing extension dictionaries across documents (`b5b505ee`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
#### Geometry & Drafting
* **Model Space Grip Dragging:** Constrained grip drags to the drawing plane, preventing grips from collapsing onto themselves (`9cc890c9`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Fillet Polyline Join:** Automatically join filleted lines or arcs into the target polyline (`2f087190`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Boundary Edge Preselection in Extend:** Enabled `EXTEND` to honor preselected boundary entities (`3840630a`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Angular Distance Calculations:** Corrected `DIST` XY angle measurement to measure from `ANGBASE` in the direction defined by `ANGDIR` (`fa00c27e`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Dimension Text & Blocks:** Kept picture block positions consistent during world-space edits (`DIMTMOVE=2`) (`c5b1269c`, `41db8d67`). *(Contributed by [@ramox81](https://github.com/ramox81) and [@YsDirector](https://github.com/YsDirector))*
* **Extrude Taper History:** Restored fallback profiles in place under group 295 and applied taper angles strictly when chosen (`656f0cea`, `f4a0b1d6`). *(Contributed by [@ramox81](https://github.com/ramox81))*
#### UI & General
* **Input Focus & Rebound Spacebar:** Allowed rebound spacebar execution while the command line retains focus (`7e0866e6`, `cbefecb1`). *(Contributed by [@theluckystrike](https://github.com/theluckystrike))*
* **Field Focus Persistence:** Retained typed layer and text style names when UI input fields lose focus (`f6503ad4`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Start Screen Quick-Access:** Restored functionality of the New button on the initial Start screen (`88803cd6`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Windows Default Apps Fallback:** Gracefully fall back to Windows Settings when the system default-apps dialog fails (`46395464`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **macOS Release DMG:** Restored Applications shortcut link in macOS DMG bundles (`f769b875`). *(Contributed by [@KevinGriffin-new](https://github.com/KevinGriffin-new))*
* **Plugin Grip Refresh:** Refreshed selected grip markers following plugin-driven entity edits (`c6dcee2b`). *(Contributed by [@schoeller](https://github.com/schoeller))*
* **Localizations:** Completed Hungarian CAD translations and updated message catalogs (`49f12e01`, `a5435a6d`). *(Contributed by [@turbuczn](https://github.com/turbuczn), [@hvfrancesco](https://github.com/hvfrancesco), and [@HakanSeven12](https://github.com/HakanSeven12))*
#### Rendering, Plotting & File I/O
* **Transparent Hatch Layering:** Corrected depth sorting to draw transparent hatches cleanly over background lines (`d1a2e9db`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Wide Polyline PDF Output:** Rendered wide polylines in PDF export with square endcaps and mitered joins (`088dec4a`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Plot Style Precedence:** Prioritized explicitly requested CTB plot styles over stored layout page setup tables during headless plots (`468d1e4f`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and Claude Opus 5.5)*
* **Window-Plot Sheet Centering:** Centered layout sheets accurately over the plot window (`710a837a`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and Claude Opus 5.5)*
* **Atomic Save Retry:** Added retry handling during atomic file replacements to tolerate brief locks (`9e31af3f`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Image Memory Budgeting:** Enforced streaming decode checks and memory budget limits against malformed or excessive GIF/TIFF images (`f015c3b5`, `ce6bd2c7`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and [@posnofa](https://github.com/posnofa))*
* **DWG Strict Compliance:** Pinned upstream `opencadcodec` fixes to ensure saved DWGs pass strict audits without recovery dialogs (`390e1216`). *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and Claude Opus 5.5)*
---
### 👥 Contributors
Huge thanks to everyone who contributed to this cycle:
* **Hakan Seven** ([@HakanSeven12](https://github.com/HakanSeven12)) — Upstream kernel/codec syncs, DWG/DXF compatibility, headless plot style precedence, window-plot sheet centering.
* **Afonso Portela** ([@posnofa](https://github.com/posnofa)) — Web/WASM platform wave (in-place save, offline PWA, worker saves, 3D formats), docking system overhaul, SVG export.
* **Karim Jerbi** ([@KarimJerbi](https://github.com/KarimJerbi)) — Circular block cycle prevention, block explosion delegating to codec, constant attribute enforcement, rotated MINSERT arrays, unified block definition service, MCP dynamic entity schemas & preflight validation, batch step bindings, specialist guides, and cross-document extension dictionary isolation.
* **ramox81** ([@ramox81](https://github.com/ramox81)) — View backgrounds, `-VIEW` preset CLI, associative surfaces, initial layout viewport generation.
* **Claude** (Claude Opus 5.5) — Core CAD engine, layout/plot, and web/WASM co-authoring.
* **ysdirector** ([@YsDirector](https://github.com/YsDirector)) — Automation API: spline creation/validation, selection event publishing, task completion guards.
* **gianlucafiore** ([@gianlucafiore](https://github.com/gianlucafiore)) — Block wipeout render cache invalidation, GPU boundary masks, draw-order sorting.
* **Marcel** ([@MarcelP102](https://github.com/MarcelP102)) — Graphic Attributes palette and docking placement.
* **Sebastian** ([@schoeller](https://github.com/schoeller)) — Host API v8 XRecord CRUD operations, plugin grip refresh.
* **turbuczn** ([@turbuczn](https://github.com/turbuczn)) — Hungarian localizations, selection filter list enhancements.
* **yztink** ([@yztink](https://github.com/yztink)) — Transparent object snap overrides, arc line tangency construction.
* **Kevin Griffin** ([@KevinGriffin-new](https://github.com/KevinGriffin-new)) — macOS DMG bundle Applications shortcut link (`#769`).
* **francesco fantoni** ([@hvfrancesco](https://github.com/hvfrancesco)) — Translations and UI improvements.
* **theluckystrike** ([@theluckystrike](https://github.com/theluckystrike)) — Command line rebound spacebar execution (`#1710`).
+122
View File
@@ -0,0 +1,122 @@
# OpenCADStudio - Release v2026.38 (2026-09-20)
> **Summary:** Massive foundational release bringing the geometric 2D constraint engine (Horizontal, Vertical, Concentric, Smooth, Symmetric, Equal, Fixed, Autoconstrain), complete External References (XREF) Manager overhaul, independent 3D object-snap engine with 22.7x tracking speedup, modernized `DSETTINGS` dialog, `ALIASEDIT` command alias manager, polyline radius & parallel offset grip editing, Fusion Black & White UI themes, UCS Face/Object alignment, associative paper space viewport dimensions, 3Dconnexion SpaceMouse navigation on Windows, comprehensive Windows printing & CTB routing, context right-click menus, and 3D format fixes (STEP/OBJ).
---
### 🌟 Notable Release Notes
* **Geometric Parametric Constraints Engine:** Introduced the 2D geometric constraint engine with full support for Horizontal, Vertical, Perpendicular, Parallel, Tangent, Concentric, Smooth, Symmetric, Equal, and Fixed constraints, accompanied by `AUTOCONSTRAIN` and the interactive `CONSTRAINTBAR`. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **External References (XREF) Manager Overhaul:** Introduced a completely redesigned docked External References palette featuring lexical path handling, stale and orphaned status detection, detach, unload, reload, bind, and path operations, tree and table views, resizable columns, and unified split-button toolbar. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Independent 3D Object Snap System & Performance:** Introduced an independent 3D OSNAP engine supporting 6 distinct modes, coupled with a 22.7x broadphase and tangent gating speedup in cursor snap tracking. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Drafting Settings (`DSETTINGS`) & `ALIASEDIT` Modernization:** Redesigned the `DSETTINGS` dialog with a modern tabbed layout, editable grid/snap spacing, and major grid line intervals, alongside full shortcut-editor parity in `ALIASEDIT`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Polyline Arc & Offset Grip Editing:** Added interactive radius grip editing for LWPOLYLINE arcs and parallel segment offset grips while preserving connected tangent geometry. *(Contributed by [@MarcelP102](https://github.com/MarcelP102))*
* **Fusion Themes & UCS Face/Object Alignment:** Added high-contrast Fusion Black and Fusion White visual themes, interactive sketch mode, and UCS alignment to solid faces (`UCS FACE`) and planar entities (`UCS OBJECT`). *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **Associative Viewport Dimensions:** Enabled associative dimensioning in paper space layout viewports linked dynamically to 3D model space geometry across view rotations and scale adjustments. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12), [@CiberNin](https://github.com/CiberNin), and [@kevin9327](https://github.com/kevin9327))*
* **3Dconnexion SpaceMouse Support:** Added native 6-DOF 3Dconnexion SpaceMouse controller navigation support on Windows for smooth 3D orbiting, panning, and zooming. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Windows Plotting & Printing Subsystem:** Re-architected native Windows printer communication, adding reliable DEVMODE media size queries, custom paper routing, and lenient CTB color table loading. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12) and [@CiberNin](https://github.com/CiberNin))*
* **Context Menus & Interaction:** Added right-click context menus across entity selections, command states, and paper space layouts. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
---
### 🚀 New Features
#### Parametric Modeling
* **Geometric Constraints (`GEOMCONSTRAINT`):** Added complete solver integration for Concentric, Smooth, Symmetric, Fixed, and Equal constraints. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Constraint Bar & Value Display:** Interactive on-screen constraint indicator bars with hover markers and visibility controls. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Auto-Constraint Inference:** Implemented `AUTOCONSTRAIN` to automatically infer geometric relationships across drafted geometry. *(Contributed by [@ramox81](https://github.com/ramox81))*
#### Palettes & External References
* **Docked External References Palette (`XREF`):** Docked panel with tree and list views, resizable columns, live preview on selection, and status detection for loaded, unloaded, stale, and orphaned references. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **XREF Operations & Path Management:** Full lifecycle support for Attach, Detach, Unload, Reload, Bind, and Overlay operations with relative/absolute/no-path actions. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Reference Manager Help Window:** Added integrated Reference Manager documentation and assistance dialog. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
#### Drafting Settings, Snapping & Grips
* **Independent 3D OSNAP System:** Added dedicated 3D object-snap engine supporting six modes (Endpoint, Midpoint, Nearest, Intersection, Perpendicular, Center). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Polyline Arc Radius Grips:** Added interactive mid-arc radius grip editing on 2D lightweight polylines. *(Contributed by [@MarcelP102](https://github.com/MarcelP102))*
* **Parallel Segment Offset Grips:** Added parallel offset grips to polyline segments while keeping adjacent arc connections intact. *(Contributed by [@MarcelP102](https://github.com/MarcelP102))*
* **Drafting Settings Dialog (`DSETTINGS`):** Modernized tabbed dialog layout with single tab strip, editable grid X/Y spacing, and major grid line frequency. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Snap Spacing & Grid Locks:** Added editable Snap X/Y spacing with Equal lock and grid snap synchronization. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Command Alias Editor (`ALIASEDIT`):** Modern shortcut and alias editor with real-time command alias remapping. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Themed Ribbon Color Dropdown:** Implemented themed 5-section ribbon object color dropdown. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Axis-Aligned Snapping:** Added perpendicular axis alignment snapping and reprompting during precision coordinate inputs. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Context Menus:** Contextual right-click menus tailored to active selection filters and commands. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
* **Hyperlink Control:** Added clickable hyperlink properties on drawing entities with sanitized external URL routing. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Options Dialog Actions:** Standardized OK, Apply, and Cancel button behaviors in the application Options dialog. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
#### UI, Workspace & Themes
* **Fusion Themes:** Added Fusion Black and Fusion White visual themes with balanced canvas contrast. *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **UCS Face & UCS Object:** Added direct UCS alignment to solid 3D planar faces and 2D entity planes. *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **Interactive Sketch Mode:** Added dedicated sketch mode state on active planes. *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **Canvas Background Colour Wheel:** Added interactive colour wheel picker for viewport canvas backgrounds. *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **OLE2FRAME Image Embed:** Added support for embedded OLE images and picture frames. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
#### Performance & Graphics
* **22.7x Snap Tracking Speedup:** Optimized OSNAP cursor tracking broadphase and tangent gating for dramatic real-time performance. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **GPU Backend Probe & Fallback:** Added hardware capability probing with automated fallback to OpenGL for older graphics hardware. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Spatial Interaction Indexing:** Chunked batch accumulation for spatial `InteractionIndex` build. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Direct Quad-Strip Triangulation:** Fast quad-strip triangulation for wide arc tessellation. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **MRU Inline Icon Cache:** Added MRU cache to `themed_handle` for instantaneous icon resolution. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Layer-Usage Table Rebuild Speedup:** Extracted and optimized layer-usage table regeneration. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 🐛 Bug Fixes
#### Drafting, Snapping & Modeling
* **Extrude Height Commit on Enter:** Committed typed dynamic input height accurately on Enter during `EXTRUDE`. *(Contributed by [@steveking-gh](https://github.com/steveking-gh))*
* **Diameter Dimension Alignment:** Fixed diameter dimension grip placement and text alignment. *(Contributed by [@codallos](https://github.com/codallos))*
* **Layer Invalidation on Model Space Import:** Properly triggered layer invalidation when importing model space content. *(Contributed by [@guywydouw](https://github.com/guywydouw))*
* **Grid Units & Limits Display:** Honored `GRIDUNIT` X/Y spacing and `LIMITS` display toggle during viewport grid rendering. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Isometric Drafting Isolation:** Kept isometric drafting mode scoped strictly to active sessions. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
* **ViewCube Oblique Horizon:** Enforced deterministic horizon calculation for oblique viewpoints and generic opposite view transitions. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Block Palette Theme Contrast:** Enforced contrast coverage and theme-aware label colors in the Block Palette. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Command Line Markers & Formatting:** Standardized history markers and bold error highlighting in the command-line console. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Polyline Intersection Snapping:** Resolved snap failure on intersecting polyline arc-line segments. *(Contributed by [@yztink](https://github.com/yztink))*
#### 3D Formats & Geometry
* **STEP Export with Large Coordinates:** Fixed coordinate precision overflow when exporting geometry positioned far from the world origin to STEP format. *(Contributed by [@kevin9327](https://github.com/kevin9327))*
* **OBJ Import Missing Normals:** Correctly computed and synthesized smooth vertex normals when importing OBJ files lacking normal data. *(Contributed by [@kevin9327](https://github.com/kevin9327))*
* **Zero-Radius Curves:** Preserved valid zero-radius curve segments without collapsing geometry during entity transformations. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Perspective Clipping:** Fixed depth draw-order clipping artifacts in perspective camera projections. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Hatch Boundary Precision:** Resolved boundary edge gaps in complex associative hatch loops. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
#### Dimensions, Plotting & Resilience
* **Off-World Z Transformations:** Corrected rotate and mirror transformations for linear and aligned dimensions whose plane does not align with the world Z axis. *(Contributed by [@kevin9327](https://github.com/kevin9327))*
* **CTB Lineweight Precision:** Fixed lineweight mapping rounding errors when reading CTB plot style tables. *(Contributed by [@kevin9327](https://github.com/kevin9327))*
* **Dimension Preview Styling:** Aligned interactive dimension placement previews with the active dimension style parameters. *(Contributed by [@CiberNin](https://github.com/CiberNin))*
* **Block Text Wipeout Depth:** Prevented block-nested wipeouts from occluding dimension and annotation text. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
* **Cloud & Shrinking File Resilience:** Prevented crashes when reading locked, shrinking, or cloud-placeholder drawing files. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
* **Plotstyle Wire-Fill Depth:** Composed PLOTSTYLE wire-fill depth consistently with the wire rendering pipeline. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
#### Platform, CI & Build
* **Editor Crash Hardening:** Fixed edge-case crashes during editor state transitions and selection clearing. *(Contributed by [@CiberNin](https://github.com/CiberNin))*
* **macOS DMG Applications Shortcut:** Restored Applications shortcut link in macOS DMG bundles. *(Contributed by [@felixriestra](https://github.com/felixriestra))*
* **WASM Build Fixes:** Fixed wasm32 compilation errors in web packaging workflows. *(Contributed by [@helenkwok](https://github.com/helenkwok))*
* **Nix Flake Support:** Added reproducible Nix flake dev shell and package build definitions. *(Contributed by [@dasmatus](https://github.com/dasmatus))*
* **CI Signing Waterfall:** Added robust multi-stage signing waterfall with fallback for forks without secrets. *(Contributed by [@huaninstratech](https://github.com/huaninstratech))*
* **Shell Icon Action Removal:** Removed legacy `RefreshShellIcons` `ie4uinit` custom action from Windows WiX installer. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 👥 Contributors
Huge thanks to all contributors to `v2026.38`:
* **Hakan Seven** ([@HakanSeven12](https://github.com/HakanSeven12)) — Viewport dimensions, SpaceMouse support, Windows plotting, CTB leniency, perspective rendering.
* **Christopher Overbeck** ([@CiberNin](https://github.com/CiberNin)) — Viewport dimensions, dimension previews, Windows printer routing, editor crash hardening.
* **ramox81** ([@ramox81](https://github.com/ramox81)) — 2D geometric constraint engine, `AUTOCONSTRAIN`, `CONSTRAINTBAR`, hyperlink properties, axis alignment.
* **Karim Jerbi** ([@KarimJerbi](https://github.com/KarimJerbi)) — Docked External References (XREF) Manager overhaul, independent 3D OSNAP system, DSETTINGS modernization, ALIASEDIT shortcut editor, 22.7x snap tracking performance, GPU backend probe fallback, spatial interaction indexing.
* **Panos** ([@mechpanos](https://github.com/mechpanos)) — Context right-click menus, line endpoint snap lookup.
* **Matus Mastena** ([@dasmatus](https://github.com/dasmatus)) — Fusion Black & White themes, UCS Face and UCS Object alignment, sketch mode, background colour wheel, Nix flake build.
* **Marcel** ([@MarcelP102](https://github.com/MarcelP102)) — LWPOLYLINE radius grip editing, parallel segment offset grips, arc geometry preservation on move, shared unit formatters.
* **kevin9327** ([@kevin9327](https://github.com/kevin9327)) — STEP export with large coordinates, OBJ normal synthesis, dimension rotation/mirror off-world Z, CTB lineweight precision.
* **Huan Le** ([@huaninstratech](https://github.com/huaninstratech)) — OLE2FRAME image embedding, PLOTSTYLE wire-fill depth, locked/cloud file resilience, signing waterfall, block text wipeout depth.
* **Gianluca Fiore** ([@gianlucafiore](https://github.com/gianlucafiore)) — Hatch boundary loop precision.
* **yztink** ([@yztink](https://github.com/yztink)) — Polyline intersection snapping.
* **Felix Riestra** ([@felixriestra](https://github.com/felixriestra)) — macOS DMG packaging shortcuts.
* **Helen Kwok** ([@helenkwok](https://github.com/helenkwok)) — Web open-from-bytes support, WASM build fixes, automation property validation.
* **ysdirector** ([@YsDirector](https://github.com/YsDirector)) — Control client protocol hardening.
* **Steve King** ([@steveking-gh](https://github.com/steveking-gh)) — Extrude typed height commit from dynamic input on Enter.
* **Guy Wydouw** ([@guywydouw](https://github.com/guywydouw)) — Layer invalidation for imported model space.
* **codallos** ([@codallos](https://github.com/codallos)) — Diameter dimension grip and text alignment.
+97
View File
@@ -0,0 +1,97 @@
# 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.
+93
View File
@@ -0,0 +1,93 @@
# OpenCADStudio - Release v2026.40 / v2026.40.1 (2026-10-05)
> **Summary:** Unified release notes for release week 2026.40. Release `v2026.40` was pulled shortly after release and replaced by `v2026.40.1`. This document merges the complete feature wave—introducing the interactive `FIELD` evaluation command and dialog, `ATTDEF` attribute definition workflow parity, a redesigned tabbed Blocks palette with drag-and-drop insertion, DWF/DGN and point cloud underlays, dynamic input control (`DYNMODE`), script engine upgrades (`.scr`), TrueType embedded font PDF export, and smooth exponential zoom navigation—along with the hotfixes that triggered the `v2026.40.1` replacement (instant GPU layer visibility toggling without CPU re-tessellation, 3D cylinder height input validation, load-time `BLOCK`/`ENDBLK` sentinel recovery, and MCP server request lifecycle & cancellation hardening).
---
### 🌟 Notable Release Notes
* **Instant Layer Visibility Toggling:** Optimized layer show/hide operations to toggle visibility states directly on GPU batches without triggering CPU re-tessellation passes. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **`FIELD` Evaluation System & Dialog:** Introduced the full `FIELD` command and UI dialog, supporting real-time text/MText field evaluation, table formula integration, block placeholders, attribute fields on insert, and automatic plot-time updates. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Attribute Definition (`ATTDEF`) Parity:** Added the complete `ATTDEF` and `-ATTDEF` dialogs, tag visibility management, entity property grid synchronization, and ribbon block definition integration. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Blocks Palette Overhaul:** Redesigned the Blocks palette with categorized tabs (Current Drawing, Recent, Favorites), insertion scale/rotation options, drag-and-drop canvas insertion, and `-INSERT` CLI parity. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **MCP Multiscale Pyramidal Tiling Protocol (DeepZoom):** Implemented multiscale pyramidal tiling protocol for MCP vision tools (`src/app/control/vision.rs`, `src/mcp.rs`), exposing DeepZoom manifests (`cad://session/{session_id}/pyramid/manifest.json`), on-demand cached multi-resolution PNG/JSON tiles (`tile/{level}/{x}/{y}`), and `tile`/`pyramid_manifest` parameters in `ocs_capture` to allow vision agents to navigate dense drawings without exceeding token limits. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Set-of-Marks (SoM) Visual Grounding & Vision ID Stamp:** Added high-contrast numbered visual ID badge stamping (`draw_som_badge`) on entity centroids in viewport captures, bidirectional entity grounding manifests mapping stamps to handles, layers, types, and world coordinates, regional camera framing, and 2-point raster calibration. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Visual Differential Streaming & Standardized Spatial Metadata:** Added pixel-level visual diff engine (`compute_visual_diff`) with dirty region cropping (`diff_mode: crop`), WCS CRS alignment (`_spatial`), and forward/inverse affine coordinate matrices to dramatically reduce vision token consumption. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Drawing Load Sentinel Recovery:** Materialized missing `BLOCK` and `ENDBLK` sentinel entities on damaged drawings during document load, preventing crashes and corrupt database states. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Underlays & Raster Improvements:** Native support for attaching DWF and DGN underlays (`UNDERLAY`), point cloud attachments (`POINTCLOUD`), image transparency controls, and image frame toggling (`IMAGEFRAME`). *(Contributed by [@ramox81](https://github.com/ramox81))*
* **PDF TrueType Font Embedding:** Enhanced PDF export to embed subset TrueType fonts directly into PDF output, ensuring crisp vector text rendering without font substitution artifacts. *(Contributed by [@Chrisyeh1983](https://github.com/Chrisyeh1983))*
* **MCP Server Lifecycle Hardening:** Enforced accurate time-to-live policies (60 seconds for GUI resources, 1 hour for tools), request cancellation (`tasks/cancel`), and explicit request/document tracking on GUI capture requests. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 🚀 New Features
#### Drafting & Commands
* **Signed Offset & Live Drag Preview:** `OFFSET` opens with live interactive geometry preview on preselected objects and supports signed typed distance entries. *(Contributed by [@CiberNin](https://github.com/CiberNin))*
* **Ribbon Active Command Indicator:** Active drafting commands highlight their corresponding buttons on the ribbon interface. *(Contributed by [@CiberNin](https://github.com/CiberNin))*
* **Dynamic Input System Variable (`DYNMODE`):** Added the `DYNMODE` system variable and command for granular toggling of dynamic input modes. *(Contributed by [@yztink](https://github.com/yztink))*
* **Script File Engine (`.scr`):** Supported standard `.scr` CAD scripts across single-line, multi-line, and prefixed command syntax. *(Contributed by [@yztink](https://github.com/yztink))*
* **Fluid Tangent Snapping:** Supported continuous tangent snaps across circular arcs and ellipses. *(Contributed by [@yztink](https://github.com/yztink))*
* **Polyline Self-Intersection Trimming:** Added self-intersection snapping and trimming for complex polyline loops. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
#### Navigation & Zoom
* **Exponential Zoom & Tool Cursors:** Added smooth exponential mouse-wheel zoom, contextual navigation cursors, and proper canvas framing in `ZOOM EXTENTS`. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
* **Zoom Factor Range Extension:** Expanded the `ZOOMFACTOR` upper range limit to 500. *(Contributed by [@F4brizi](https://github.com/F4brizi) and [@mechpanos](https://github.com/mechpanos))*
#### MCP & Vision Automation
* **Multiscale Pyramidal Tiling (DeepZoom):** Implemented multiscale pyramidal tiling protocol (`src/app/control/vision.rs`, `src/mcp.rs`), exposing DeepZoom manifests (`cad://session/{session_id}/pyramid/manifest.json`), on-demand cached multi-resolution PNG/JSON tiles (`tile/{level}/{x}/{y}`), and `tile`/`pyramid_manifest` parameters in `ocs_capture`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Set-of-Marks (SoM) Grounding & Vision ID Stamps:** Stamped high-contrast numbered visual ID badges (`draw_som_badge`) on entity centroids in viewport captures, paired with bidirectional grounding manifests (`annotations` / `visible_entities`) mapping tags to handles, layers, types, and world coordinates. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Visual Differential Streaming & Spatial Metadata:** Standardized WCS spatial metadata under `_spatial` with affine projection matrices and visual differential engine (`compute_visual_diff`) supporting dirty region cropping (`diff_mode: crop`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **2-Point Image Calibration & Regional Framing:** Supported regional camera framing (`bounds`) and 2-point raster image calibration in `embed_image` to calculate scale, origin, and world dimensions from pixel-to-world point pairs. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **4-Pillar Auto-Sync & Declarative Op Table:** Implemented 4-pillar auto-sync, dynamic introspection, and declarative MCP request dispatching. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Text Audit, Spell-Check & Replacement:** Added `text_audit` spell-checking with native OS spellcheckers and dry-run replacement simulation, alongside multiline `text_search` and `text_replace`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Lifecycle & Cancellation Management:** Supported `tasks/cancel` cancellation handling, public error codes, and schema-sync opt-out. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Inspector Conformance Probing:** Added Inspector CLI conformance tests and descriptor lifetime tracking for newly created GUI elements. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
#### Diagnostics, Localization & CI
* **Desktop Crash Diagnostics:** Added automated desktop crash logging to capture and persist diagnostic trace logs upon unhandled exceptions. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
* **Italian Translation Updates:** Standardized CAD terminology throughout the Italian localization (Join, Plot, Layer, Hatch). *(Contributed by [@abccorsicad](https://github.com/abccorsicad))*
* **Hotfix Release Workflow:** Added automated CI support for deploying patch releases (`v<year>.<week>.<patch>`) on top of weekly releases. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
---
### 🐛 Bug Fixes
#### Geometry, Snapping & Modeling
* **3D Cylinder & Primitive Creation:** Respected typed height inputs during cylinder and basic 3D primitive creation. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Point Snap Node Constraint:** Constrained `POINT` entities to snap exclusively as `Node` object snaps. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Hatch Association on Trim:** Preserved hatch boundary associations when `TRIM` splits a boundary curve into multiple segments. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Polyline Joint Mitering:** Mitered joints accurately on wide polyline band corners. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **3D Solid History Graph:** Removed unnecessary history generation on edge fillets/chamfers of plain solids and corrected undo evaluation graphs. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **ACIS Transform Normalization:** Eliminated duplicate transforms on center-framed 3D boxes and wedges following ACIS geometry lifts. *(Contributed by [@ramox81](https://github.com/ramox81))*
#### UI, Layers & System
* **Novel Layer GUI Refresh:** Refreshed ribbon layers and the Layer panel immediately when newly created entities register new layers. *(Contributed by [@yztink](https://github.com/yztink))*
* **Erased Raster Image Placeholders:** Cleared placeholder bounding text cleanly when a broken raster image reference is deleted. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
* **Windows Printer Properties Freeze:** Resolved UI thread lockups during Windows printer properties and DEVMODE size queries. *(Contributed by [@mechpanos](https://github.com/mechpanos))*
* **R14 Layer Plot Flags:** Corrected layer plot flag parsing on legacy R14 drawings. *(Contributed by [@YsDirector](https://github.com/YsDirector))*
* **Chinese Font Hinting (KaiU):** Fixed glyph rendering and hinting distortions for KaiU fonts. *(Contributed by [@Chrisyeh1983](https://github.com/Chrisyeh1983))*
#### XREFs, Plotting & Web
* **XREF Dimension Anonymous Blocks:** Imported missing anonymous blocks referenced by dimension entities across XREF boundaries. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **PDF Export Window Clipping:** Correctly clipped and excluded entities falling outside the designated export window during PDF plot. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Web Build Compilation:** Gated native-only desktop code out of the wasm32 build target. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Save Verification:** Verified baked-view consistency in `save_verified` automation checks. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 👥 Contributors
Huge thanks to all contributors to `v2026.40 / v2026.40.1`:
* **Hakan Seven** ([@HakanSeven12](https://github.com/HakanSeven12)) — Upstream geometry kernel/codec syncs, instant layer visibility performance, PDF export clipping, XREF anonymous block import, release workflow fixes.
* **ramox81** ([@ramox81](https://github.com/ramox81)) — `FIELD` evaluation system, `ATTDEF` dialogs & parity, Blocks palette, DWF/DGN underlays, point clouds, solid history graph.
* **Karim Jerbi** ([@KarimJerbi](https://github.com/KarimJerbi)) — Multiscale pyramidal tiling protocol (DeepZoom), Set-of-Marks visual ID badge stamping, visual differential streaming, 4-pillar auto-sync & declarative op table, text audit spell-checking, 3D cylinder height enforcement, load-time BLOCK sentinel recovery, MCP server lifecycle & cancellation hardening, save verification.
* **yztink** ([@yztink](https://github.com/yztink)) — `DYNMODE` system variable, `.scr` script engine, fluid tangent arc/ellipse snaps, layer GUI refresh.
* **Panos** ([@mechpanos](https://github.com/mechpanos)) — Exponential zoom, `ZOOM EXTENTS` framing, desktop crash logging, Windows printer freeze fixes.
* **Christopher Overbeck** ([@CiberNin](https://github.com/CiberNin)) — Signed offset with live preview, ribbon active command highlighting.
* **Chris Yeh** ([@Chrisyeh1983](https://github.com/Chrisyeh1983)) — PDF TrueType font subset embedding, KaiU font hinting fixes.
* **Gianluca Fiore** ([@gianlucafiore](https://github.com/gianlucafiore)) — Polyline self-intersection snapping and trimming.
* **F4brizi** ([@F4brizi](https://github.com/F4brizi)) — `ZOOMFACTOR` limit expansion.
* **abccorsicad** ([@abccorsicad](https://github.com/abccorsicad)) — Italian CAD terminology localizations.
* **ysdirector** ([@YsDirector](https://github.com/YsDirector)) — R14 layer plot flag compatibility.
+103
View File
@@ -0,0 +1,103 @@
# OpenCADStudio - Release v2026.41 (2026-10-11)
> **Summary:** Major feature milestone introducing the Sheet Set Manager (`SHEETSET`) with `.dst` project support; the automated entity `COUNT` command and palette with dynamic table generation; network-integrated associative swept surfaces (`SWEEP`); complete right-to-left (RTL) text layout in `MTEXT`; independent dimension style per-end arrowheads (`DIMBLK1`/`DIMBLK2`); table cell style overrides; GPU hardware selection options (Metal/OpenGL); MCP differential capture payload optimizations; and extensive drafting, plotting, spatial indexing, and memory fixes.
---
### 🌟 Notable Release Notes
* **Sheet Set Manager (`SHEETSET`):** Introduced a complete Sheet Set Manager palette, `.dst` project creation wizard, cross-drawing sheet fields, drawing lock-file coordination, and background sheet opening. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Automated Entity Counting (`COUNT`):** Added the `COUNT` feature and palette, providing visual block counting across model space or designated polygon boundaries, collision/overlap diagnostics, and live evaluated count table insertion. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Associative Swept Surfaces & 3D Modeling:** Added network-tracked associative swept surfaces (`SWEEP`) with path-relative base points, miter corner history, B-rep `MASSPROP`, and curved offset/fillets in the geometry kernel. *(Contributed by [@ramox81](https://github.com/ramox81) and [@HakanSeven12](https://github.com/HakanSeven12))*
* **Advanced Typography & Table Overrides:** Fully compliant right-to-left (RTL) text rendering in `MTEXT`, exact evaluation bounding boxes for shaped/rotated text fields, and in-place cell style overrides with automated formula recomputation. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Dimension Style Independent Arrowheads (`DIMBLK1`/`DIMBLK2`):** Supported independent arrowhead styles for start and end leaders with real-time preview rendering and style synchronization. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **GPU Platform Routing & Hardware Info:** Added hardware-aware GPU backend routing (Metal on macOS, automated OpenGL fallback for legacy hardware), hardware information in About dialog, and dedicated Graphics options tab. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 🚀 New Features
#### Management & Palettes
* **Sheet Set Manager Palette & Wizard:** Added Sheet Set Manager palette, `.dst` file reload, import sheet statuses, view categories, and Place-on-Sheet actions. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Count Palette & Table Generator:** Added interactive block counting, invalid area inspection dialog, and live count table generation with field references. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Quick Searchable Layer Palette:** Added fast search and filter command for drawing layers. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
#### 3D Modeling & Surfaces
* **Associative Sweep:** Supported surface sweep associativity within the drawing dependency network, honoring custom path alignment and miter corners. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **B-rep Mass Properties & Kernel Operations:** Added `MASSPROP` mass evaluation from solid B-rep, curved `OFFSET`/`FILLET`, and sphere-cylinder boolean operations. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **UCS Face Alignment:** Aligned UCS Face origin and axes to the nearest vertex and edge with solid face raycasting. *(Contributed by [@yztink](https://github.com/yztink))*
#### Text, Fields & Tables
* **RTL Text Layout:** Added right-to-left word layout, leading space preservation, and mixed-font character advances. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Table Cell Overrides & Formulas:** Supported per-cell style overrides from either layout and automatic formula recomputation after editing. *(Contributed by [@ramox81](https://github.com/ramox81))*
* **Rotated & Shaped Text Field Boxes:** Accurate evaluation boxes, per-field shading backgrounds, and `UPDATEFIELD` traversal reaching nested blocks. *(Contributed by [@ramox81](https://github.com/ramox81))*
#### UI & Graphics
* **GPU Platform Backends & Hardware Info:** Refined GPU platform selection (Metal on macOS, OpenGL fallback for legacy hardware), hardware info in About dialog, and dedicated Graphics options tab. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **ViewCube UCS Cache:** Cached UCS picker names behind an epoch to accelerate ViewCube orientation refreshes. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Global Interface Scaling:** Added window-wide interface scale setting in Options. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Pickbox-Only Cursor:** Cursor displays pickbox alone when drafting commands prompt for object selection. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Commandline History Retention:** Set `fade time = 0` to keep command-line history permanently visible without fading. *(Contributed by [@yztink](https://github.com/yztink))*
* **Touchpad Pan:** Optional touchpad panning for wheel-scrolling touchpads. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Expanded Ribbon Layer Display:** Ribbon layer dropdown displays full-length layer names. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
#### Automation, MCP & Architecture
* **MCP Unchanged Diff Capture Payloads:** Omitted image base64 payloads on visual diff captures when the canvas has no dirty visual changes. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Spatial Index & Navigation Benchmarks:** Added formal QuadTree spatial index construction and viewport navigation benchmarks. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Selection State Refactor:** Decomposed monolithic 31-field `SelectionState` into five modular sub-structs. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **MCP Window & Crossing Selection:** Added window and crossing box selection tools in MCP server. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Lao Localization:** Added full Lao (`lo-LA`) language translation and web font rendering. *(Contributed by [@bounkirdni-2025](https://github.com/bounkirdni-2025))*
---
### 🐛 Bug Fixes
#### Dimensions & Annotations
* **Dimension Style Per-End Arrowheads:** Stopped `dimblk1` pick from clobbering `dimblk2` and ensured preview dialog respects independent per-end arrowheads (`50e20a91`, `29392de2`). *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **DimStyle Text Style Sync:** Propagated text style renames automatically into DimStyle `DIMTXSTY`. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **MLeader Attachment:** Fixed text left of multileader landing to correctly attach via its right edge. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
#### Layers, Tables & XREFs
* **Layer Message & State Integrity:** Keyed layer messages, renames, and picker states by immutable layer names instead of row indices. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Layer Transparency Undo:** Added missing undo steps for layer transparency changes. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Shared Linetypes Memory Optimization:** Shared linetype table rows via `Arc` instead of per-row cloning. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Table and Multiline Buffer Reload:** Reloaded Table and MLine rendering buffers upon structural changes and validated cell text styles. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Ribbon TableStyle Pick:** Ensured picking table styles in the ribbon writes headers so subsequent inserts inherit the style. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **XREF Row Identity & Empty State:** Carried stable row identity in XREF messages, themed empty states, and clarified silent annotative scale toggles. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Hidden Layer Interaction:** Prevented accidental cursor selection and interaction on hidden layers. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
#### Rendering, Snapping & Drafting
* **Behind-Eye Axis Guard:** Protected `draw_axes` against divide-by-zero behind-the-eye camera projection crashes. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Spatial Index Normalization:** Normalized inverted axis-aligned bounding boxes (AABB) in the QuadTree spatial index. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Idle Redraw Suppression:** Eliminated unnecessary redraw loops when drawing documents lack underlay geometry. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Viewport Statusbar Synchronization:** Synchronized scale pill number, label, and badge strictly to the active viewport. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Properties Palette Asymmetric Scale:** Scoped asymmetric scale opt-outs per document tab. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Circle & Arc Patterned Linetypes:** Correctly preserved patterned linetypes on circles and arc segments. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **CTB Layout Block Colors:** Preserved CTB block ACI colors and layout plot settings during plotting. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **Command Previews Over Wipeouts:** Ensured active command previews draw above background wipeout masks. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **Perpendicular Tracking Distance:** Preserved perpendicular polar tracking after entering typed direct distance values. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **Paste into Block Editor:** Fixed pasted entities to land directly inside the active Block Editor context. *(Contributed by [@gianlucafiore](https://github.com/gianlucafiore))*
* **Feet-Inch Dynamic Input & Stretch:** Fixed feet/inch notation parsing in dynamic input and preserved preselected entities in `STRETCH`. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
* **Script Blank Line Repeat:** Blank lines in script files now repeat the last command when outside an active command prompt. *(Contributed by [@yztink](https://github.com/yztink))*
* **`ZOOMFACTOR` Maximum:** Allowed `SETVAR ZOOMFACTOR` to accept values up to 500. *(Contributed by [@F4brizi](https://github.com/F4brizi))*
* **Purge Hang on Unnamed Styles:** Fixed `PURGE ALL` hanging on unnamed shape styles. *(Contributed by [@HakanSeven12](https://github.com/HakanSeven12))*
#### Platform & Packaging
* **macOS Signed Build Entitlements:** Fixed XML entitlement verification in `build_macos_signed.sh`. *(Contributed by [@AJ-Gonzalez](https://github.com/AJ-Gonzalez))*
* **macOS CLI Arguments & MCP stdio:** Forwarded launcher CLI arguments and preserved MCP stdio streams on macOS. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
* **Cross-Platform CI:** Added multi-platform testing on Linux, Windows, and macOS with non-blocking lint checks. *(Contributed by [@KarimJerbi](https://github.com/KarimJerbi))*
---
### 👥 Contributors
Huge thanks to all contributors to `v2026.41`:
* **Hakan Seven** ([@HakanSeven12](https://github.com/HakanSeven12)) — Upstream kernel/codec syncs, B-rep mass properties, interface scaling, cursor & drawing fixes.
* **ramox81** ([@ramox81](https://github.com/ramox81)) — Sheet Set Manager, Count feature & tables, associative sweep, RTL text layout.
* **Karim Jerbi** ([@KarimJerbi](https://github.com/KarimJerbi)) — DimStyle per-end arrowheads (`dimblk1`/`dimblk2`), GPU backends & options, ViewCube UCS cache, MCP diff captures, layer state integrity & memory sharing, spatial index normalization, SelectionState modularization, cross-platform CI.
* **gianlucafiore** ([@gianlucafiore](https://github.com/gianlucafiore)) — Searchable layers, patterned linetypes, CTB plot colors, hidden layer interaction, command previews over wipeouts.
* **yztink** ([@yztink](https://github.com/yztink)) — UCS Face alignment, persistent commandline history, script repetition on blank lines.
* **F4brizi** ([@F4brizi](https://github.com/F4brizi)) — `ZOOMFACTOR` limit extension to 500.
* **AJ-Gonzalez** ([@AJ-Gonzalez](https://github.com/AJ-Gonzalez)) — macOS packaging & signed build entitlement checks.
* **Bone NI** ([@bounkirdni-2025](https://github.com/bounkirdni-2025)) — Lao (`lo-LA`) translations and localization.