:tocdepth: 2

##############
Envision 5.4
##############

Mar 31, 2026

|web| HOOPS Envision for Web        |desktop| HOOPS Envision for Desktop


***********
Fixed Bugs
***********

CAE-1576 Fix incorrect max node value in surface statistics for split-vertex meshes |desktop|
==============================================================================================

Fixed per-node surface statistics (min/max) using split visualization vertex indices instead of the original FEM node indices. 
On meshes with sharp edges, the visualization layer duplicates vertices at discontinuities, which caused ``BulkCalculation`` to look up wrong scalar values. 
The computation now uses ``trianglesVertexOrigIndices`` to map back to the correct FEM node, ensuring accurate surface min/max results.


CAE-1601 Fix PER_ELEMENT_SURFACE filtering on cutting planes, iso surfaces and iso volumes |desktop|
======================================================================================================

Fixed scalar filtering for results with ``PER_ELEMENT_SURFACE`` mapping on cutting planes, iso surfaces and iso volumes. 
These results are now automatically converted to node-averaged values before edge interpolation, and null guards prevent crashes when the frame generator is unavailable. 
Stale visibility masks are also correctly cleared when ``visiblePartsOnly`` is disabled.


CAE-1636 Fix per-part fringes rendering incorrectly with optimized part rendering |desktop|
============================================================================================

Fixed a bug where parts with different per-part scalar overrides (set via ``cee::ug::ModelSpec::setOverridePartFringesResultId()``) would 
render with the wrong color scheme when part optimization was enabled. Parts with different scalar results were incorrectly grouped together during optimization, 
causing them to share the same color legend. Each part now correctly renders with its own scalar color scheme.


CAE-1659 Removed regression causing assert when doing rayPicking |desktop|
==========================================================================

A regression introduced in 5.0 (CAE-1561) caused an assert when doing ray picking in models with precomputed isosurfaces 
or cutting planes. This has been fixed and ray picking should now work as expected.


CAE-1591 Fixed access violation due to incorrect use of smart pointers |desktop|
================================================================================

Application crashed with access violation when destroying VTFx File objects, particularly when loading/unloading 
databases. This was caused by incorrect use of smart pointers in the VTFx File class, leading to double deletion of the 
underlying file object. The smart pointer usage has been corrected to ensure proper ownership and lifecycle management 
of the file objects, preventing access violations during destruction.


***********
Deprecated
***********

CAE-1658 RemoteModel interface adjustments and deprecations  |web|
==================================================================

Marked the ``ug.Case`` class as deprecated. In its current form it has very limited usage and will be removed in a future release.
