Changelog
All notable changes to s3dgraphy will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.32] - 2026
Added
Chronology calculation engine (
calculate_chronology): BFS-based temporal inference that propagates absolute dates (TPQ/TAQ) through stratigraphic relations, storing computedCALCUL_START_TandCALCUL_END_Tattributes on each nodeTemporal property detection:
_find_temporal_propertyresolvesabsolute_start_date/absolute_end_datePropertyNodes by matching onproperty_typeorname, with fallback todescriptionas value source
Changed
calculate_chronologynow collects stratigraphic nodes by their actualnode_typevalues (US, USVs, USVn, VSF, SF, USD, serSU, serUSD, serUSVn, serUSVs, USM) instead of the former class-name lookup"StratigraphicNode"
Fixed
PropertyNode value resolution when the GraphML importer stores the numeric value in
descriptionrather thanvalueNode type lookup in chronology calculation returning 0 nodes due to mismatch between class name and
node_typeattribute
[0.1.31] - 2025
Added
GraphML export with full round-trip support (
GraphMLExporter)Container group nodes: US (
#9B3333), USD (#D86400), VSF (#B19F61) as group nodes in GraphML, converted to regular nodes withis_part_ofedges on importVirtualSpecialFindUnit as container: VSF can now contain SF elements via
is_part_ofInstance chains:
changed_fromedges link the same object across epochs; BFS traversal identifies connected componentsComment node skipping: yEd annotation nodes with yellow fill (
#FFCC00,#FFFF00,#FFFF99) are skipped during importhas_visual_reference edge type (connections datamodel v1.5.4)
Canonical/reverse edge directionality pattern (connections datamodel v1.5.3)
GraphML export of container group nodes with correct background colours
GraphML export of epoch swimlanes, activity groups, and paradata groups
Changed
Connections datamodel updated to v1.5.4
is_part_ofallowed targets now includeVirtualSpecialFindUnitImproved duplicate EMID detection during GraphML import
[0.1.13] - 2024
Added
XLSX import with JSON mapping system (
MappedXLSXImporter)SQLite/pyArchInit import with JSON mapping
Graph indexing system (
GraphIndices) for O(1) lookupsUUID slipback mechanism for GraphML round-trip editing
Multi-graph management (
MultiGraphManager)Three core JSON configuration files (Visual Rules, CIDOC Mapping, Connection Rules)
Stratigraphic node subclasses (US, USV, SF, VSF, USD)
Paradata chain nodes (DOC, EXT, COMB, PROP)
Representation Model nodes
Actor, Link, License, Embargo nodes
Tag parser for EM canvas integration
3D model library (glTF) and 2D icons (PNG)
Changed
Modular architecture revision from EM-tools codebase
Node type hierarchy restructured for extensibility
[0.1.0] - Initial Development
Added
Basic graph structure implementation
Node and edge management system
JSON export functionality
Integration hooks for Blender (via EM-tools)
Core stratigraphic modeling capabilities
Document and paradata node support
Python package structure
Documentation structure with Sphinx
Version History Context
s3dgraphy represents the core graph library that powers the Extended Matrix Framework. It evolved from the graph management components of EM-tools and is developed as a standalone Python library to enable Extended Matrix functionality across multiple platforms and applications.