PageSourceSearch

https://docs-vrgeo-version3.netlify.app/assets/js/e491cc6e.c716806c.js

js docs-vrgeo-version3.netlify.app collected 2026-10-03 10:41:40 UTC 24,883 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[15671],{74388(e,n,i){i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"release-notes/r3-3-notes","title":"Release Notes 3.3","description":"VRGS 3.3.20 to 3.3.22","source":"@site/versioned_docs/version-3.3/release-notes/r3-3-notes.md","sourceDirName":"release-notes","slug":"/release-notes/r3-3-notes","permalink":"/docs/3.3/release-notes/r3-3-notes","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/versioned_docs/version-3.3/release-notes/r3-3-notes.md","tags":[],"version":"3.3","sidebarPosition":1,"frontMatter":{"title":"Release Notes 3.3","metaTitle":"ReleaseNotes33","metaDescription":"Release notes for VRGS version 3.3","sidebar_position":1},"sidebar":"docs","previous":{"title":"Orientation Display","permalink":"/docs/3.3/properties/geo-objects-display"},"next":{"title":"Release Notes 3.02","permalink":"/docs/3.3/release-notes/r3-2-notes"}}');var s=i(74848),l=i(28453);const t={title:"Release Notes 3.3",metaTitle:"ReleaseNotes33",metaDescription:"Release notes for VRGS version 3.3",sidebar_position:1},o=void 0,a={},d=[{value:"VRGS 3.3.20 to 3.3.22",id:"vrgs-3320-to-3322",level:2},{value:"24 April 2026",id:"24-april-2026",level:3},{value:"\u2728 New & Enhanced Features",id:"-new--enhanced-features",level:3},{value:"\ud83d\ude80 Performance & User Experience",id:"-performance--user-experience",level:3},{value:"\ud83d\udee0 Improvements",id:"-improvements",level:3},{value:"\ud83d\udc1b Fixes & Reliability",id:"-fixes--reliability",level:3},{value:"\ud83d\udd04 Minor Updates",id:"-minor-updates",level:3},{value:"VRGS 3.3.2 to 3.3.19",id:"vrgs-332-to-3319",level:2},{value:"February \u2013 April 2026",id:"february--april-2026",level:3},{value:"\u2728 New & Enhanced Features",id:"-new--enhanced-features-1",level:3},{value:"\ud83d\ude80 Performance & User Experience",id:"-performance--user-experience-1",level:3},{value:"\ud83d\udee0 Improvements",id:"-improvements-1",level:3},{value:"\ud83d\udc1b Fixes & Stability",id:"-fixes--stability",level:3},{value:"\ud83d\udd04 Minor Updates",id:"-minor-updates-1",level:3},{value:"VRGS 3.3.1 \u2013 Major Update",id:"vrgs-331--major-update",level:2},{value:"December 2025 \u2013 February 2026",id:"december-2025--february-2026",level:3},{value:"\u2728 New Features",id:"-new-features",level:3},{value:"\ud83d\udee0 Improvements",id:"-improvements-2",level:3},{value:"\ud83d\udc1b Fixes & Stability",id:"-fixes--stability-1",level:3}];function c(e){const n={h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components},{Head:r}=n;return r||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(r,{children:[(0,s.jsx)("meta",{property:"og:url",content:"https://docs.vrgeoscience.com/docs/release-notes/r3-3-notes"}),(0,s.jsx)("meta",{property:"twitter:url",content:"https://docs.vrgeoscience.com/docs/release-notes/r3-3-notes"}),(0,s.jsx)("meta",{property:"og:author",content:"VRGeoscience Limited"}),(0,s.jsx)("meta",{property:"og:description",content:"Release notes for VRGS. Make sure your up to date."}),(0,s.jsx)("meta",{name:"twitter:description",content:"Release notes for VRGS. Make sure your up to date."}),(0,s.jsx)("meta",{name:"twitter:title",content:"Release notes for VRGS 3.3"})]}),"\n",(0,s.jsxs)(n.h2,{id:"vrgs-3320-to-3322",children:[(0,s.jsx)(n.img,{alt:"VRGS",src:i(74418).A+"",width:"16",height:"19"})," 3.3.20 to 3.3.22"]}),"\n",(0,s.jsx)(n.h3,{id:"24-april-2026",children:"24 April 2026"}),"\n",(0,s.jsx)(n.h3,{id:"-new--enhanced-features",children:"\u2728 New & Enhanced Features"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Mesh Decimation Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New configuration dialog for simplifying meshes."}),"\n",(0,s.jsx)(n.li,{children:"Choose target size by triangle count or percentage reduction."}),"\n",(0,s.jsx)(n.li,{children:"Options to preserve important features like edges and textures."}),"\n",(0,s.jsx)(n.li,{children:"Consistent batch processing across multiple meshes."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Segmentation & Image Analysis"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u201cSegment Everything\u201d (SAM) auto-segmentation introduced."}),"\n",(0,s.jsx)(n.li,{children:"Faster and more seamless segmentation on large images."}),"\n",(0,s.jsx)(n.li,{children:"Improved visualisation using project-defined colours."}),"\n",(0,s.jsx)(n.li,{children:"Undo support and better control over overwriting existing labels."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Photogrammetry & Image Handling"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved Metashape camera import, including support for grouped cameras."}),"\n",(0,s.jsx)(n.li,{children:"More accurate image interaction and picking in 3D."}),"\n",(0,s.jsx)(n.li,{children:"Enhanced 3D visualisation for image-based data (e.g. SquashPlot)."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Orientation & Stereonet Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New contouring methods for stereonets (including smoother density options)."}),"\n",(0,s.jsx)(n.li,{children:"Improved statistical analysis of orientation data (e.g. clustering vs girdle detection)."}),"\n",(0,s.jsx)(n.li,{children:"Better visualisation of planes, poles, and intersections."}),"\n",(0,s.jsx)(n.li,{children:"New tools for analysing relationships between geological features."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Orientation Group Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Convert orientation groups into structured grids for further analysis."}),"\n",(0,s.jsx)(n.li,{children:"Improved workflows for handling grouped structural data."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-performance--user-experience",children:"\ud83d\ude80 Performance & User Experience"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Segmentation Performance"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Significantly faster processing for large images."}
1),"\n",(0,s.jsx)(n.li,{children:"Background processing reduces UI blocking."}),"\n",(0,s.jsx)(n.li,{children:"Smoother results across image tiles."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Rendering Improvements"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"More consistent and stable rendering behaviour."}),"\n",(0,s.jsx)(n.li,{children:"Improved handling of overlays and textures."}),"\n",(0,s.jsx)(n.li,{children:"Better responsiveness when working with complex models."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"General Stability"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Reduced crashes during object editing and deletion."}),"\n",(0,s.jsx)(n.li,{children:"More robust handling of large datasets and complex operations."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-improvements",children:"\ud83d\udee0 Improvements"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"User Interface"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Cleaner layout in mesh decimation tools."}),"\n",(0,s.jsx)(n.li,{children:"More intuitive controls for segmentation workflows."}),"\n",(0,s.jsx)(n.li,{children:"Improved notifications for software updates."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Project & Data Handling"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"More stable handling of object deletion and project tree operations."}),"\n",(0,s.jsx)(n.li,{children:"Improved consistency when working with complex datasets."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Visualisation"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved 3D display of image-derived data."}),"\n",(0,s.jsx)(n.li,{children:"More accurate colour handling across tools and exports."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-fixes--reliability",children:"\ud83d\udc1b Fixes & Reliability"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed issues with object manipulation in certain edit modes."}),"\n",(0,s.jsx)(n.li,{children:"Improved stability when working with photogrammetry data."}),"\n",(0,s.jsx)(n.li,{children:"Resolved inconsistencies in stereonet projections and calculations."}),"\n",(0,s.jsx)(n.li,{children:"Better handling of edge cases in orientation analysis."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-minor-updates",children:"\ud83d\udd04 Minor Updates"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Version updates and general maintenance."}
1),"\n",(0,s.jsx)(n.li,{children:"Background improvements to ensure smoother operation across the platform."}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"vrgs-332-to-3319",children:[(0,s.jsx)(n.img,{alt:"VRGS",src:i(74418).A+"",width:"16",height:"19"})," 3.3.2 to 3.3.19"]}),"\n",(0,s.jsx)(n.h3,{id:"february--april-2026",children:"February \u2013 April 2026"}),"\n",(0,s.jsx)(n.h3,{id:"-new--enhanced-features-1",children:"\u2728 New & Enhanced Features"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Project Backups"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Option to choose a custom backup location when saving projects."}),"\n",(0,s.jsx)(n.li,{children:"Improved reliability and error handling during backup creation."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Cross Section Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Adjustable vertical scale for cross sections."}),"\n",(0,s.jsx)(n.li,{children:"Better control over section positioning and elevation."}),"\n",(0,s.jsx)(n.li,{children:"Improved editing experience and accuracy."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Measurement & Interpretation Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Convert measurement groups into isopach and isochore polylines."}),"\n",(0,s.jsx)(n.li,{children:"More efficient handling of large datasets and complex projects."}),"\n",(0,s.jsx)(n.li,{children:"Faster interaction when selecting or editing polylines."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Outcrop.io (DOR) Integration Enhancements"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved syncing of interpretations with better feedback and reliability."}),"\n",(0,s.jsx)(n.li,{children:"Clearer linking between VRGS projects and Outcrop.io models."}),"\n",(0,s.jsx)(n.li,{children:"Additional context and metadata included during sync."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-performance--user-experience-1",children:"\ud83d\ude80 Performance & User Experience"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Large Model & Tile Performance"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Faster loading and smoother navigation in large scenes."}),"\n",(0,s.jsx)(n.li,{children:"Improved responsiveness when working with high-resolution datasets."}),"\n",(0,s.jsx)(n.li,{children:"Better handling of detail levels for more consistent visual quality."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Rendering & Visual Quality"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"More stable and consistent rendering across different views."}),"\n",(0,s.jsx)(n.li,{children:"Improved handling of textures and imagery on models."}),"\n",(0,s.jsx)(n.li,{children:"Better terrain masking and visual blending."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"VR Experience Improvements"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Smoother and more stable tracking in VR."}),"\n",(0,s.jsx)(n.li,{children:"More reliable controller positioning and interaction."}),"\n",(0,s.jsx)(n.li,{children:"Reduced visual glitches during movement or tracking loss."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-improvements-1",children:"\ud83d\udee0 Improvements"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Project & Data Handling"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved project loading across different systems (better file/path handling)."}),"\n",(0,s.jsx)(n.li,{children:"More robust handling of large datasets and complex models."}),"\n",(0,s.jsx)(n.li,{children:"Improved coordinate transformations for more accurate positioning."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"User Interface"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Cleaner UI with reduced unnecessary messages and logs."}),"\n",(0,s.jsx)(n.li,{children:"Improved dialogs and workflows (e.g. backups, imports)."}),"\n",(0,s.jsx)(n.li,{children:"More consistent behaviour across tools and panels."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Data Import & Export"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Better handling of textures during export."}),"\n",(0,s.jsx)(n.li,{children:"Improved compatibility with external data formats."}),"\n",(0,s.jsx)(n.li,{children:"More reliable import of external datasets and imagery."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-fixes--stability",children:"\ud83d\udc1b Fixes & Stability"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed crashes related to missing or invalid selections."}),"\n",(0,s.jsx)(n.li,{children:"Improved stability when opening projects on different machines."}),"\n",(0,s.jsx)(n.li,{children:"Resolved issues with large project performance and delays."}),"\n",(0,s.jsx)(n.li,{children:"Fixed inconsistencies in measurements and attribute updates."}),"\n",(0,s.jsx)(n.li,{children:"Improved handling of missing or corrupt data."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-minor-updates-1",children:"\ud83d\udd04 Minor Updates"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Ongoing small improvements and refinements across the platform."}),"\n",(0,s.jsx)(n.li,{children:"Regular patch updates for stability and maintenance."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h2,{id:"vrgs-331--major-update",children:[(0,s.jsx)(n.img,{alt:"VRGS",src:i(74418).A+"",width:"16",height:"19"})," 3.3.1 \u2013 Major Update"]}),"\n",(0,s.jsx)(n.h3,{id:"december-2025--february-2026",children:"December 2025 \u2013 February 2026"}),"\n",(0,s.jsx)(n.h3,{id:"-new-features",children:"\u2728 New Features"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Cesium 3D Tiles Supp
1ort (NEW)"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Full integration of Cesium 3D Tiles for high-resolution geospatial streaming."}),"\n",(0,s.jsx)(n.li,{children:"Support for Cesium Ion assets and URL-based tilesets."}),"\n",(0,s.jsx)(n.li,{children:"Improved video recording behavior to ensure complete tile loading per frame."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Google 3D Tiles & Maps Overlays"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Support for Google Photorealistic 3D Tiles."}),"\n",(0,s.jsx)(n.li,{children:"Google Maps Satellite, Roadmap, and Terrain overlays."}),"\n",(0,s.jsx)(n.li,{children:"Proper attribution and credit display."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Raster Overlay Support"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add and manage imagery layers (ion or URL-based)."}),"\n",(0,s.jsx)(n.li,{children:"Tiles render with imagery, embedded textures, or PBR base color."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Vertical Datum & Geoid Support"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Optional vertical datum correction (EGM96 / EGM2008)."}),"\n",(0,s.jsx)(n.li,{children:"Improved orthometric \u2194 ellipsoidal height accuracy."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Terrain Masking (Major Upgrade)"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"3D occupancy grid masking for meshes with overhangs/caves."}),"\n",(0,s.jsx)(n.li,{children:"Automatic mask mode detection (2D footprint or 3D volume)."}),"\n",(0,s.jsx)(n.li,{children:"Shader-based terrain clipping for accurate visual results."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Mesh Decimation (QEM Upgrade)"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Quadric Error Metrics (QEM) decimation algorithm."}),"\n",(0,s.jsx)(n.li,{children:"Topology preservation and boundary protection."}),"\n",(0,s.jsx)(n.li,{children:"Optional texture seam preservation."}),"\n",(0,s.jsx)(n.li,{children:"Improved visual fidelity after simplification."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Point Cloud \u2192 DEM Conversion"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Convert point clouds to triangulated DEM meshes."}),"\n",(0,s.jsx)(n.li,{children:"Median gridding with IDW fill of empty cells."}),"\n",(0,s.jsx)(n.li,{children:"Mesh tiling for improved performance on large datasets."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Gaussian Splat Improvements"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"View-dependent color using Spherical Harmonics (up to degree 3)."}),"\n",(0,s.jsx)(n.li,{children:"Improved transparency, sorting, and falloff controls."}),"\n",(0,s.jsx)(n.li,{children:"Adjustable splat scale and falloff parameters in properties panel."}),"\n",(0,s.jsx)(n.li,{children:"Better depth handling and occlusion behavior."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Digital Outcrop Repository (DOR) Browser"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Embedded DOR browser panel."}),"\n",(0,s.jsx)(n.li,{children:"\u201cOpen in VRGS\u201d one-click model import."}),"\n",(0,s.jsx)(n.li,{children:"Async download with progress and improved error handling."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Interpretation Branching & Version Control"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Full branch management system for interpretations."}),"\n",(0,s.jsx)(n.li,{children:"Create, switch, merge, and manage branches via dedicated panel."}),"\n",(0,s.jsx)(n.li,{children:"Per-branch object visibility and history tracking."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Virtual Field Trip (VFT) & Multiuser Enhancements"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Multi-trip support with invite codes and waiting room."}),"\n",(0,s.jsx)(n.li,{children:"Real-time chat, heartbeat monitoring, reconnection logic."}),"\n",(0,s.jsx)(n.li,{children:"Standalone GeotourServer support with TLS & JWT authentication."}),"\n",(0,s.jsx)(n.li,{children:"Monitoring dashboard and metrics exporter."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"WYSIWYG Editor (NEW)"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Modern TipTap-based editor replacing raw HTML editor."}),"\n",(0,s.jsx)(n.li,{children:"Image alignment, tables, callouts, figures, YouTube embeds."}),"\n",(0,s.jsx)(n.li,{children:"Local video embedding support."}),"\n",(0,s.jsx)(n.li,{children:"Improved save workflow and media handling."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Stereonet Tools"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Equal-angle / equal-area projections."}),"\n",(0,s.jsx)(n.li,{children:"Kamb contouring (area corrected)."}),"\n",(0,s.jsx)(n.li,{children:"Rose diagrams and circular statistics."}),"\n",(0,s.jsx)(n.li,{children:"Stress tools (slip / dilation tendency)."}),"\n",(0,s.jsx)(n.li,{children:"SVG export from histogram pane."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-improvements-2",children:"\ud83d\udee0 Improvements"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Rendering & Lighting"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Consistent light direction handling across pipeline."}),"\n",(0,s.jsx)(n.li,{children:"Improved motion blur with shutter angle and Gaussian weighting."}),"\n",(0,s.jsx)(n.li,{children:"Better shadow consistency and shading accuracy."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Cesium Performance & Stability"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved LOD selection and tile filtering."}),"\n",(0,s.jsx)(n.li,{children:"Safer thread handling during load/shutdown."}),"\n",(0,s.jsx)(n.li,{children:"Better handling of large/global tilesets."}),"\n",(0,s.jsx)(n.li,{children:"Improved video recording stability with tiles."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Mesh & Point Cloud Handling"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Faster mesh loading with progress reporting."}),"\n",(0,s.jsx)(n.li,{children:"Improved mesh decimation quality and safety checks."}),"\n",(0,s.jsx)(n.li,{children:"Fallback UV generation for meshes without texture coordinates."}),"\n",(0,s.jsx)(n.li,{children:"Improved histogram rendering for attribute layers."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Database & Project System"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Versioned migration system for safe upgrades."}),"\n",(0,s.jsx)(n.li,{children:"Improved branch-based object visibility."}),"\n",(0,s.jsx)(n.li,{children:"Schema cleanup and legacy feature removal."}),"\n",(0,s.jsx)(n.li,{children:"Export schema to SQL."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Coordinate Systems & PROJ"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved grid management and automatic grid download."}),"\n",(0,s.jsx)(n.li,{children:"More robust CRS transformations and diagnostics."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Cesium & Overlay UX"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Improved overlay reload behavior."}),"\n",(0,s.jsx)(n.li,{children:"Tile extent filtering for local CRS use cases."}),"\n",(0,s.jsx)(n.li,{children:"Debug tools for tile bounds and coverage."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Video Capture"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Optional microphone audio recording."}),"\n",(0,s.jsx)(n.li,{children:"Configurable cursor display in recordings."}),"\n",(0,s.jsx)(n.li,{children:"Higher recommended bitrates for 3D content."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"-fixes--stability-1",children:"\ud83d\udc1b Fixes & Stability"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed Gaussian splat center saturation and opacity scaling issues."}),"\n",(0,s.jsx)(n.li,{children:"Corrected covariance construction for splats (CPU/GPU consistency)."}),"\n",(0,s.jsx)(n.li,{children:"Resolved race conditions in display list and picking."}),"\n",(0,s.jsx)(n.li,{children:"Improved TIFF NoData handling and robustness."}),"\n",(0,s.jsx)(n.li,{children:"Fixed mesh decimation counting and edge-collapse issues."}),"\n",(0,s.jsx)(n.li,{children:"Corrected directional light eye-space calculation."}),"\n",(0,s.jsx)(n.li,{children:"Improved handling of corrupted or malformed data during load."}),"\n"]}),"\n",(0,s.jsx)(n.hr,{})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},74418(e,n,i){i.d(n,{A:()=>r});const r=i.p+"assets/images/logo-c0e6a4a126a3223e5ece63096424acd1.svg"},28453(e,n,i){i.d(n,{R:()=>t,x:()=>o});var r=i(96540);const s={},l=r.createContext(s);function t(e){const n=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.