forked from 1b-agent/opencadstudio-upstream
- 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
94 lines
13 KiB
Markdown
94 lines
13 KiB
Markdown
# 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.
|