Files
OneCAD-Draft/changelogs/v2026.41.md
T
Karim Jerbi 535710e5d1 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
2026-10-13 15:35:24 +01:00

104 lines
13 KiB
Markdown

# 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.