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
Plugin Tags