Version: [4403] Sec Interp 2.3.0

2.3.0 (2025-12-25)
* Enhanced Multi-Point Measurement Tool:
- Support for polyline tracing with unlimited measurement points
- Dedicated "Finalize" button for explicit measurement completion
- Comprehensive metrics: Total 3D distance, Horizontal distance,
Elevation change, Average slope
- Persistent visual feedback with green vertex markers and measurement
lines
- Auto-reset on new measurement for improved workflow
* Structural Improvement Plan - Major Architectural Refactoring:
- Phase 1 - Architectural Decoupling:
* Extracted DialogToolManager for map tool encapsulation
* Centralized preview logic in PreviewManager
* Eliminated PyQt dependencies from core/validation (enum-based
FieldType)
- Phase 2 - Complexity Reduction:
* Modularized geometry.py into extraction/processing/filtering
sub-packages
* Refactored DrillholeService with extracted private methods
* Implemented adaptive LOD (Level of Detail) for topography
- Phase 3 - Performance Optimization:
* Robust cache with hash-based invalidation in PreviewManager
* Spatial indexing (QgsSpatialIndex) for drillhole filtering
* Improved rendering performance (84ms for 6km sections)
- Phase 4 - Documentation:
* Created ARCHITECTURE.md (unified technical documentation)
* Created DEVELOPMENT_GUIDE.md (developer onboarding)
* Improved docstring coverage to 75.9%
* Code Quality Improvements:
- Quality score increased from 71.1 to 74.4 (+4.6%)
- Fixed all critical lint errors (imports, typing, complexity)
- Removed deprecated typing imports (Dict/List → dict/list)
- Improved error handling with logger.exception
* Critical Bug Fixes:
- Fixed ModuleNotFoundError for geometry_utils sub-package
- Resolved NameError for Optional in profile_service.py
- Fixed AttributeError in measure_tool (DialogToolManager access)
- Corrected TypeError in create_buffer_geometry signature
- Fixed UnboundLocalError in PreviewManager cache handling
- Added CRS transformation support in spatial filtering
- Implemented field validation for drillhole processing
- Fixed geology disappearing on subsequent preview clicks (cache
persistence)
- Fixed drillholes not rendering (missing return statement in
_generate_drillholes)
- Added diagnostic logging for drillhole trace generation

2.2.0 (2025-12-22)
* Major Refactoring & Architecture:
- Moved main SecInterp class to plugin root (sec_interp_plugin.py).
- Modularized validation into core/validation/ package.
- Fragmented SecInterpDialog into specialized managers.
* Documentation & Optimization:
- Translated 100% of documentation (ARCHITECTURE.md) to English.
- Optimized Help System (removed source code views/redundant raw
sources).
- Slimmed ZIP package by 70% uncompressed through advanced
exclusions.
* Features & UX:
- Restored visual workflow images to User Guide.
- Fixed toolbar icon loading and Axis/Grid alignment.

2.1.0 (2025-12-17)
* Major Feature: Snap-Enabled Measurement Tool
- Iterative vertex snapping using QgsPointLocator (Avoids project
pollution)
- Performance optimized with locator caching
* AI Workflow & Reliability:
- Unicode normalization (NFD) for robust keyword matching (accents
support)
- Direct integration of AI_CONTEXT and Project Brain in prompts
* Fixes:
- Resolved QgsSnappingConfig AttributeError (QgsTolerance.Pixels)
- Eliminated scratch layer warnings

2.0 (2025-12-14)
* Major Feature: Drillhole Data Handling
- 3D Projection of drillhole traces onto 2D profile sections
- Auto-calculation of total depths and handling of vertical holes
without survey
- Visualization of geological intervals along drillhole traces
* Drillhole Data Export:
- Export drillhole traces to Shapefile (drillhole_traces.shp)
- Export interval data with attributes to Shapefile
(drillhole_intervals.shp)
* Major UI Refactoring & Enhancements:
- New specialized Drillhole Input Page
- Enhanced Preview System with dedicated persistent rendering for all
data types
- Fixed critical rendering bugs (zoom persistence, async updates)
* Architecture:
- Implemented DrillholeService for encapsulated logic
- Refactored ProfileController to orchestrate multiple data services
- Unified export logic with extensible Exporter pattern

1.1 (2025-12-12)
* Performance & Optimization:
- Implemented asynchronous parallel processing for geological
generation
- Integrated Performance Monitor (RAM & Execution Time tracking)
- Added non-blocking UI during heavy calculations
* Preview System Enhancements:
- Implemented Adaptive Level of Detail (LOD) for high-performance
rendering
- Added Dynamic Zoom-based LOD (details increase as you zoom in)
- Added Measurement Tool (Distance and Slope/Gradient)
- Improved CRS handling and fixed blank rendering issues
* Architecture & Fixes:
- Refactored services to use Command Pattern for parallel execution
- Fixed structure projection consistency
- Resolved "No valid layers to render" warnings
- Fixed Dip Scale Factor application


1.0 (2025-12-08)
* Refactoring & Architecture:
- Split monolithic modules (algorithms.py, main_dialog.py) into
focused components
- Modularized exporters ecosystem
- Implemented spatial indexing and native QGIS algorithms for
performance
* Quality Assurance:
- Added comprehensive type hinting across modules
- Enhanced test infrastructure with pytest and QGIS support
- Implemented security fixes (path traversal protection)
* Major UI Refactoring - Plugin Manager Style:
- Redesigned main dialog with sidebar navigation (QListWidget +
QStackedWidget)
- Replaced absolute positioning with responsive layouts (QVBoxLayout,
QHBoxLayout, QSplitter)
- Integrated native QGIS theme icons for sidebar items
- Improved preview/results area proportions with better vertical space
management
- Fixed legend rendering and resizing issues
* Code Quality Improvements:
- Extracted LegendWidget to separate module (gui/legend_widget.py)
- Refactored preview_profile_handler with helper methods and early
returns
- Refactored export_preview with dedicated methods per format (PNG,
JPG, SVG, PDF)
- Applied SOLID principles throughout main dialog class
* Documentation:
- Added COMMIT_GUIDELINES.md for standardized commit messages
- Added RELEASE_PROCESS.md with version release workflow
- Added drilllogs_research.md with future integration requirements

0.3 (2025-12-03)
* Major Refactoring - Modular Project Structure:
- Reorganized codebase into core/, gui/, resources/ packages
- Improved code maintainability and scalability
- Better separation of concerns (business logic, UI, resources)
* Quality Improvements:
- Achieved Pylint score 10/10
- Specific exception handling throughout codebase
- Comprehensive code documentation
- Configured .pylintrc for consistent code quality
* Testing & CI/CD:
- Added pytest infrastructure with QGIS support
- Created initial unit tests (3 tests passing)
- Configured GitHub Actions for automated testing
- Test configuration in tests/conftest.py
* Build System:
- Updated Makefile for new structure
- Refactored deploy.sh for modular deployment
- Organized build scripts in scripts/ directory
* Documentation:
- Added REFACTORING_PR.md with detailed changes
- Improved project documentation structure
- Added implementation plans for future features

0.2 (2025-11-30)
* Major UI Overhaul - Native QGIS Widget Integration:
- Replaced standard Qt ComboBoxes with QgsMapLayerComboBox for
automatic layer population
- Integrated QgsRasterBandComboBox for intelligent raster band
selection
- Added QgsFileWidget for native file/directory browsing with QGIS
integration
- Eliminated manual layer population code - widgets auto-sync with
QGIS project
- Improved user experience with native QGIS look and feel
* UI Enhancements:
- Collapsible results panel (QgsCollapsibleGroupBox) for better space
management
- Read-only results field to prevent accidental edits
- Fixed Qt enum syntax for better cross-version compatibility
* New Features:
- Flexible parsers for geological structural measurements (dip/strike
formats)
- Comprehensive logging system integrated with QGIS Message Panel
- Enhanced validation logic for QgsMapLayer objects
* Code Quality:
- Removed 200+ lines of manual widget population code
- Cleaner architecture leveraging QGIS native capabilities

0.1 (Initial Release)
- DEM topographic profile extraction
- Geological outcrop data extraction
- Structural point data extraction
- Interactive preview visualization

yes

geociencio

2025-12-25T18:13:57.679037+00:00

3.0.0

3.99.0

None

no

Version management

Plugin details

QGIS sustaining members

Flagship membership


Flagship membership


Flagship membership


Large membership


Large membership


Large membership


Large membership


Large membership


Large membership


Large membership


Large membership