Changelog
Version History
This page contains the detailed changelog for all EM Tools releases. For the latest changes, see the CHANGELOG.md file.
Unreleased (in development)
- Added — US creation workflow unification (2026-04)
Unified “Add Stratigraphic Unit” dialog (
strat.add_us): single floating form used by the Stratigraphy Manager (new+ Add USbutton under the list), the Proxy Box Creator (+next to the Active US picker), and Surface Areas (+next to the Existing US picker). Fields: Type, Name + gap-aware suggest-next, Description, Shared-numbering toggle (default ON), Epoch (mandatory, drives the Activity filter), Activity (optional, writesis_in_activity), optional stratigraphic link. OK optionally saves the graphml and pins the new unit as active.``us_helpers.create_us_node(…)`` factory: one entry point for US creation; writes
has_first_epoch, optionalis_in_activity(mirrored on the PD nodegroup when created), optional stratigraphic relation, and populates the Stratigraphy Manager list in one pass.``us_types.py`` facade: JSON-driven US type registry derived from s3Dgraphy’s datamodel v1.5.2 (patch) and its classification API (
is_real / is_virtual / is_series+US_PROPER_TYPES/ALL_US_TYPES).Activity picker filtered by epoch:
scene.activity_manager.filtered_activities+ACTIVITY_OT_filter_by_epoch+draw_activity_pickerwidget. Shows only activities matching the US’s epoch; inline refresh icon re-runs the filter.ParadataNodeGroup per US (
<US>_PD): Proxy Box Creator wraps every new paradata chain (Document instance clone → Extractors → Combiner → PropertyNode) inside a per-US container. Inheritsis_in_activityfrom the US so both sit in the same yEd group.Document instance cloning: Proxy Box Creator duplicates the Step-1 anchor Document into a fresh instance per run so extractors never attach to a Document already in another PD group.
Chain summary box in the Proxy Box Creator (collapsible).
Save-after-create toggle (
persist_after_create, default ON) on both the Add-US dialog and the Proxy Box Creator.Custom Add-US icon (
proxies_rows_add) — visually distinct from the dialog-internal+suggest-next.Next-number gap-aware from 1: fills the first unused number starting at 1 (was scanning only
[min(used), max(used)]).Shared-pool numbering: counts trailing digits across every US type;
SU001≡US.1in the pool. Opt-in via a toggle in the dialog; default ON.Legacy prefix aliases: Italian
SU…treated as alias of EnglishUS…(andUSNEG/US_NEGas alias ofUSN).Negative Stratigraphic Unit (USN): new canonical type in every US picker (dashed border in yEd). Replaces the ad-hoc
US_NEGUI placeholder.
- Changed — US creation workflow unification (2026-04)
US creation consolidated to one form; the inline
create_new_ustoggles in Proxy Box Creator and Surface Areas are gone.Proxy Box Creator edge direction/types corrected: extractors → Document is
extracted_from(dashed) instead of non-canonicalhas_extractor(solid); Combiner → Extractors iscombinesinstead ofis_combined_in.Proxy Box Creator PropertyNode named after the canonical qualia (“Proxy Geometry”,
property_type="proxy_geometry", new entry inem_qualia_types_additions.json).Centralised hardcoded US-type lists across 10 files (15 occurrences); three were incomplete — fixed incidentally.
- Removed — US creation workflow unification (2026-04)
PROXYBOX_OT_suggest_next_us,EMTOOLS_OT_suggest_next_usoperators.Inline
create_new_usbranch fields onProxyBoxSettingsandSurfaceArealeSettings.GENERICplaceholder from the Surface Areas US type picker.
- Fixed — US creation workflow unification (2026-04)
Paradata chain edges rendered as solid lines (canonical edge types now used —
extracted_from/combines/has_data_provenance/has_property).Extractor / Combiner NodeLabel positioned as Corner-NorthWest; previously
modelName=Internal, modelPosition=Center.ParadataNodeGroup positioning anchored to the host US’s epoch Y (was (0,0) outside any swimlane row); children nested in the PD’s
<graph>.ActivityNodeGroup containment: children with
is_in_activitynested inside the Activity’s<graph>.Document instance collisions: Proxy Box Creator resolves the Step-1 anchor by UUID and clones it locally instead of sharing with other PD groups.
Activity filter silent-fail: the epoch-change update callback used
bpy.ops.activity.filter_by_epochwhich Blender rejects silently inside update callbacks. Direct populator call now.“Add-US dialog not on operator stack” warning when clicking the
+ next numberbutton — resolved via shared scene-level sentinel.
- Added
Landscape mode (multi-graph): manage 2+ archaeological graphs simultaneously in a single Blender scene
CronoFilter: chronological horizons manager for landscape mode
Horizon-based filtering: Stratigraphy Manager filters nodes by temporal overlap with CronoFilter horizons
Horizon-based coloring: Visual Manager “Horizons” display mode applies CronoFilter colors to 3D proxies
RM visibility sync with horizons: Representation Models shown/hidden based on epoch overlap with active horizon
Graph badges in Stratigraphy list: colored icons differentiate nodes from different graphs
Active graph indicator: Anastylosis Manager and RM Manager show active graph code
Landscape-aware graph reload: reloading GraphML in landscape mode correctly repopulates lists
Proxy detection in landscape: uses
GRAPH_CODE.NODE_NAMEnaming convention (e.g.,GT16.USM100)Support for detecting placeholder dates (XX) in epochs
Warnings for incomplete or malformed GraphML files in EM Data Tree
Flag system for experimental features
Improved UI synchronization controls in the Paradata Manager panel
- Changed
Epoch Manager becomes “Horizons” label in Visual Manager when in landscape mode
Stratigraphy Manager filter shows “By Horizon” with horizon name in landscape mode
CronoFilter simplified: removed filter/reset buttons, now purely a chronology/horizon editor
Renamed panel from “US/USV Manager” to “Stratigraphy Manager”
Improved robustness of the GraphML import system
Reorganized the Stratigraphy Manager panel
Separated filter and synchronization controls in the Stratigraphy Manager
- Removed
EMviq exporter from the main UI (moved to experimental features)
Proxy inflation tool from the main UI (moved to experimental features)
3D GIS mode from 1.5.0 (moved to 1.6.0)
Soloing functionality, toggle reconstruction, and toggle selectable from the Epoch Manager
- Fixed
RuntimeError: Object cannot be hiddenwrapped in try/exceptIndexErrorwhen disabling horizon filter with stale list indexGraphML import bug with “XX” date format
Memory Error during UI updates
Infinite UI update loops in the Paradata Manager
v1.5.0-dev.71 (2025-01-20)
- Added
Conversion from Blender add-on to Blender Extension
Automatic dependency management via wheels
GitHub Actions workflow for automated releases
Heriverse export functionality with texture optimization
GPU instancing support for improved performance
Advanced export options (Draco compression, separate textures)
Export of ParaData objects (Documents, Extractors, Combiners)
Special Finds model export capability
Development scripts for contributors
- Changed
Configuration migrated to
blender_manifest.tomlformatSimplified installation process
Minimum Blender version updated to 4.0
Updated Python dependencies (pandas 2.x, numpy 1.26.x)
- Removed
Manual dependency installation UI
Legacy external modules installer
- Fixed
Compatibility issues with Blender 4.x series
Dependency conflicts with system Python installations
Export errors with large archaeological datasets
v1.4.0 (2024-05-20)
- Added
XLSX import for stratigraphic data
Batch export capabilities
Volume calculation tools
- Changed
Improved performance of GraphML parser
Better memory handling for large projects
Updated CIDOC-CRM mapping
- Fixed
Synchronization issues in period manager
Label creation in orthographic views
Visibility toggle for proxy models
v1.3.2 (2024-02-15)
- Fixed
Critical bug in epoch handling
GraphML import for complex hierarchies
Memory leak in paradata streaming
v1.3.1 (2024-01-10)
- Added
Paradata streaming mode
Real-time graph synchronization
Improved error reporting
- Changed
Optimized 3D view updates
Improved collection management
v1.3.0 (2023-11-30)
- Added
EMviq web export functionality
ATON framework integration
Reconstruction uncertainty visualization
Multi-graph support (experimental)
- Changed
Redesigned export manager interface
Improved period visualization system
v1.2.0 (2023-07-15)
- Added
Support for negative stratigraphic units
DosCo folder integration
Custom material system for Epochs
Soloing mode for epochs
- Changed
Visual manager refactored
Updated for Blender 3.6 support
v1.1.0 (2023-03-20)
- Added
Basic GraphML import/export
US/USV manager
Period manager
Basic visualization tools
v1.0.0 (2022-12-01)
- Added
Initial release
Core Extended Matrix functionality
Basic 3D visualization
Simple export capabilities
Semantic Versioning
EM Tools follows Semantic Versioning:
MAJOR version for incompatible API changes
MINOR version for new functionality (backwards compatible)
PATCH version for backwards compatible bug fixes
Version Support
EM Tools Version |
Blender Versions |
Python Version |
Support Status |
|---|---|---|---|
1.5.x (dev) |
4.4+ |
3.13 |
Active Development |
1.4.x |
3.6 - 4.1 |
3.10 - 3.11 |
Maintenance |
1.3.x |
3.3 - 3.6 |
3.10 |
End of Life |
1.2.x |
3.0 - 3.3 |
3.9 |
End of Life |