s3dgraphy 1.6.0.dev54__tar.gz → 1.6.0.dev56__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. {s3dgraphy-1.6.0.dev54/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev56}/PKG-INFO +1 -1
  2. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/pyproject.toml +1 -1
  3. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_visual_rules.json +26 -1
  4. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/__init__.py +1 -1
  5. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/api.py +25 -3
  6. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/paradata_view.py +227 -0
  7. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/__init__.py +14 -4
  8. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/engine.py +275 -55
  9. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/node.py +11 -4
  10. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56/src/s3dgraphy.egg-info}/PKG-INFO +1 -1
  11. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy.egg-info/SOURCES.txt +1 -0
  12. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_room_import.py +125 -0
  13. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_room_import_inventory.py +8 -0
  14. s3dgraphy-1.6.0.dev56/tests/test_threed_instances.py +143 -0
  15. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/LICENSE +0 -0
  16. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/MANIFEST.in +0 -0
  17. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/README.md +0 -0
  18. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/setup.cfg +0 -0
  19. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
  20. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
  21. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
  22. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
  23. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/datamodel_translations.json +0 -0
  24. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em.ttl +0 -0
  25. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
  26. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
  27. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
  28. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_qualia_types.json +0 -0
  29. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
  30. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/em_state_symbols.json +0 -0
  31. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
  32. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
  33. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/node_registry.generated.json +0 -0
  34. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
  35. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
  36. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +0 -0
  37. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
  38. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +0 -0
  39. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
  40. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
  41. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
  42. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
  43. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
  44. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
  45. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
  46. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
  47. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
  48. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
  49. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
  50. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
  51. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
  52. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
  53. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
  54. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
  55. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
  56. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
  57. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
  58. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
  59. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
  60. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
  61. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
  62. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
  63. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
  64. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
  65. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
  66. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/author_ai.svg +0 -0
  67. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
  68. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
  69. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/container.svg +0 -0
  70. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
  71. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
  72. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
  73. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
  74. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
  75. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
  76. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
  77. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
  78. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
  79. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
  80. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
  81. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
  82. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
  83. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
  84. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
  85. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
  86. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
  87. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
  88. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
  89. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
  90. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
  91. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
  92. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
  93. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/12_gnss_survey.svg +0 -0
  94. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/13_field_drawing.svg +0 -0
  95. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/14_recording_sheet.svg +0 -0
  96. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/15_decimation.svg +0 -0
  97. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/16_georeferencing.svg +0 -0
  98. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/17_format_conversion.svg +0 -0
  99. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/18_classification.svg +0 -0
  100. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/dtc/19_vectorization.svg +0 -0
  101. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
  102. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/embargo.svg +0 -0
  103. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
  104. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
  105. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
  106. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
  107. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
  108. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
  109. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
  110. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/license.svg +0 -0
  111. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
  112. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
  113. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/narrative.svg +0 -0
  114. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
  115. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
  116. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
  117. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/proxy.svg +0 -0
  118. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
  119. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
  120. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
  121. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
  122. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/resource_file.svg +0 -0
  123. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
  124. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
  125. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
  126. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
  127. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
  128. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
  129. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
  130. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/tileset.svg +0 -0
  131. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/version_gltf.svg +0 -0
  132. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/version_mesh.svg +0 -0
  133. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/version_scene.svg +0 -0
  134. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/2D/version_tiles.svg +0 -0
  135. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
  136. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
  137. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
  138. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
  139. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
  140. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
  141. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
  142. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
  143. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
  144. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
  145. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
  146. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
  147. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
  148. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
  149. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
  150. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
  151. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/JSON_config/version_for_cases.json +0 -0
  152. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/__main__.py +0 -0
  153. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/acquisition/__init__.py +0 -0
  154. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/acquisition/acquire.py +0 -0
  155. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/acquisition/descriptor.py +0 -0
  156. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/acquisition/mapping.py +0 -0
  157. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/ai_validation.py +0 -0
  158. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/annotation/__init__.py +0 -0
  159. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/annotation/migrate_reading.py +0 -0
  160. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/annotation/paradata.py +0 -0
  161. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/annotation/reading.py +0 -0
  162. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/__init__.py +0 -0
  163. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/resolver.py +0 -0
  164. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
  165. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
  166. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
  167. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
  168. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
  169. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
  170. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/classification.py +0 -0
  171. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/container.py +0 -0
  172. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/contract/__init__.py +0 -0
  173. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/contract/connector.py +0 -0
  174. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/contract/consumer.py +0 -0
  175. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/contract/core.py +0 -0
  176. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/contract/reference.py +0 -0
  177. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/crdt.py +0 -0
  178. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
  179. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/datamodel.py +0 -0
  180. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/diagnostics.py +0 -0
  181. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dissemination.py +0 -0
  182. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/__init__.py +0 -0
  183. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/capture.py +0 -0
  184. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/corpus.py +0 -0
  185. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/devices.py +0 -0
  186. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/ingest.py +0 -0
  187. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
  188. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/dtc/residency.py +0 -0
  189. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/edges/__init__.py +0 -0
  190. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/edges/connection_resolver.py +0 -0
  191. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/edges/connections_loader.py +0 -0
  192. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/edges/edge.py +0 -0
  193. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/editorial.py +0 -0
  194. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/__init__.py +0 -0
  195. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
  196. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/emjson_exporter.py +0 -0
  197. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
  198. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
  199. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
  200. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
  201. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +0 -0
  202. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
  203. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
  204. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
  205. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
  206. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
  207. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
  208. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
  209. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
  210. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
  211. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
  212. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/html_exporter.py +0 -0
  213. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
  214. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/json_exporter.py +0 -0
  215. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
  216. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/rdf_exporter.py +0 -0
  217. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +0 -0
  218. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/__init__.py +0 -0
  219. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/aton.py +0 -0
  220. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/gltf.py +0 -0
  221. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/migrate.py +0 -0
  222. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/proxy.py +0 -0
  223. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/reading_glb.py +0 -0
  224. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/store_backed.py +0 -0
  225. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/geometry/wkt.py +0 -0
  226. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/graph.py +0 -0
  227. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/hdto.py +0 -0
  228. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/iiif.py +0 -0
  229. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/__init__.py +0 -0
  230. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/base_importer.py +0 -0
  231. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/csv_importer.py +0 -0
  232. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/emjson_importer.py +0 -0
  233. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
  234. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/import_graphml.py +0 -0
  235. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
  236. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/metashape_project.py +0 -0
  237. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
  238. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/qualia_importer.py +0 -0
  239. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/rdf_importer.py +0 -0
  240. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/sheet_header.py +0 -0
  241. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/source_text.py +0 -0
  242. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/unified_xlsx_importer.py +0 -0
  243. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
  244. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/importer/xml_importer.py +0 -0
  245. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/indices.py +0 -0
  246. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/labels.py +0 -0
  247. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/language.py +0 -0
  248. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/links.py +0 -0
  249. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/__init__.py +0 -0
  250. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/authoring.py +0 -0
  251. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +0 -0
  252. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +0 -0
  253. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/emdb/usm_mapping.json +0 -0
  254. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +0 -0
  255. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +0 -0
  256. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/registry.py +0 -0
  257. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/source_list/em_sourcelist_it.json +0 -0
  258. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +0 -0
  259. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/template_emdb_mapping.json +0 -0
  260. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +0 -0
  261. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/merge/__init__.py +0 -0
  262. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/merge/graph_merger.py +0 -0
  263. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/multigraph/__init__.py +0 -0
  264. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/multigraph/multigraph.py +0 -0
  265. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/__init__.py +0 -0
  266. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/bake.py +0 -0
  267. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/generation.py +0 -0
  268. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/query.py +0 -0
  269. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/registry.py +0 -0
  270. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/narrative/site_story.py +0 -0
  271. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/__init__.py +0 -0
  272. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
  273. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/author_node.py +0 -0
  274. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/base_node.py +0 -0
  275. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/combiner_node.py +0 -0
  276. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/document_node.py +0 -0
  277. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
  278. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
  279. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/dtc_node.py +0 -0
  280. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
  281. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/embargo_node.py +0 -0
  282. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/epoch_node.py +0 -0
  283. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/extractor_node.py +0 -0
  284. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
  285. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
  286. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/graph_node.py +0 -0
  287. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/group_node.py +0 -0
  288. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/hdt_node.py +0 -0
  289. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
  290. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/license_node.py +0 -0
  291. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/narrative_node.py +0 -0
  292. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/paradata_node.py +0 -0
  293. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/project_node.py +0 -0
  294. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/property_node.py +0 -0
  295. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/representation_node.py +0 -0
  296. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/resource_file_node.py +0 -0
  297. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/resource_node.py +0 -0
  298. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
  299. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/stratigraphic_node.py +0 -0
  300. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/study_node.py +0 -0
  301. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/nodes/translation_node.py +0 -0
  302. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/ownership.py +0 -0
  303. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
  304. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/photogrammetry/delta.py +0 -0
  305. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/project_tree.py +0 -0
  306. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/property_source.py +0 -0
  307. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/publication.py +0 -0
  308. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/rapporti.py +0 -0
  309. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resolvers/__init__.py +0 -0
  310. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
  311. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
  312. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/__init__.py +0 -0
  313. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/addresses.py +0 -0
  314. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/alignment.py +0 -0
  315. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/files.py +0 -0
  316. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/fs_backend.py +0 -0
  317. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/locate.py +0 -0
  318. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/minio_backend.py +0 -0
  319. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/moved.py +0 -0
  320. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/object_store.py +0 -0
  321. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/resolver.py +0 -0
  322. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/storage_rows.py +0 -0
  323. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/tiles3tz.py +0 -0
  324. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/resources/versions.py +0 -0
  325. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/rights.py +0 -0
  326. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/access.py +0 -0
  327. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/errors.py +0 -0
  328. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/inventory.py +0 -0
  329. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/pack.py +0 -0
  330. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/room_import/trust.py +0 -0
  331. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/shelf/__init__.py +0 -0
  332. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/shelf/core.py +0 -0
  333. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/spatiotemporal.py +0 -0
  334. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/stamp/__init__.py +0 -0
  335. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/stamp/absorb.py +0 -0
  336. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/stamp/emit.py +0 -0
  337. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/stamp/hints.py +0 -0
  338. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/stamp/identity.py +0 -0
  339. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/study.py +0 -0
  340. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/__init__.py +0 -0
  341. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/_db_handle.py +0 -0
  342. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
  343. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/_workspace.py +0 -0
  344. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
  345. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/edge_registry.py +0 -0
  346. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
  347. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/graph_projector.py +0 -0
  348. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/graphml_writer.py +0 -0
  349. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/group_projector.py +0 -0
  350. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/group_store.py +0 -0
  351. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/ingest_result.py +0 -0
  352. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/paradata_store.py +0 -0
  353. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
  354. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/rapporti.py +0 -0
  355. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/uuid7.py +0 -0
  356. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
  357. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/vocab_types.py +0 -0
  358. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_classifier.py +0 -0
  359. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_detector.py +0 -0
  360. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
  361. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
  362. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
  363. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
  364. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
  365. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
  366. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/temporal/__init__.py +0 -0
  367. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/temporal/inference_engine.py +0 -0
  368. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/__init__.py +0 -0
  369. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/consumer_drift.py +0 -0
  370. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
  371. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/deliverable_report.py +0 -0
  372. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/glyph_sheet.py +0 -0
  373. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/glyphs_from_svg.py +0 -0
  374. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/node_finder.py +0 -0
  375. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
  376. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/tools/wheel_drift.py +0 -0
  377. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/transforms/__init__.py +0 -0
  378. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
  379. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/transforms/compact.py +0 -0
  380. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
  381. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/translation.py +0 -0
  382. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/utils/__init__.py +0 -0
  383. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/utils/utils.py +0 -0
  384. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/utils/visual_layout.py +0 -0
  385. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy/zero_hour.py +0 -0
  386. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
  387. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy.egg-info/requires.txt +0 -0
  388. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/src/s3dgraphy.egg-info/top_level.txt +0 -0
  389. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_acquisition.py +0 -0
  390. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_acquisition_fs.py +0 -0
  391. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_add_resource.py +0 -0
  392. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_ai_validation_nodes.py +0 -0
  393. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_alternative_labels.py +0 -0
  394. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_api_surface.py +0 -0
  395. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_asset_dtc_protocol.py +0 -0
  396. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_asset_versions.py +0 -0
  397. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_aton_shapes.py +0 -0
  398. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_attach_only.py +0 -0
  399. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_authority_projection.py +0 -0
  400. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_authority_resolver.py +0 -0
  401. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_blend_locator.py +0 -0
  402. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_bucket_alignment.py +0 -0
  403. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_canonical_document_rename.py +0 -0
  404. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_canvas_metadata_import.py +0 -0
  405. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_capture_acquisition.py +0 -0
  406. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_capture_rdf_class.py +0 -0
  407. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_chronology_on_request.py +0 -0
  408. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_coating_unit.py +0 -0
  409. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_composite_node_name.py +0 -0
  410. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_connection_resolver.py +0 -0
  411. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_consumer_drift.py +0 -0
  412. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_container.py +0 -0
  413. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_container_layouts.py +0 -0
  414. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_containment_tpq.py +0 -0
  415. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_contract.py +0 -0
  416. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_contract_consumer.py +0 -0
  417. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_convert_command.py +0 -0
  418. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_crdt.py +0 -0
  419. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_cycle_message_is_cheap.py +0 -0
  420. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_datamodel_fingerprint.py +0 -0
  421. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_datamodel_i18n.py +0 -0
  422. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_deterministic_ids.py +0 -0
  423. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_em_sourcelist.py +0 -0
  424. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_file_set_stamp.py +0 -0
  425. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_graphml_without_a_database.py +0 -0
  426. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_image_set_texturing.py +0 -0
  427. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_not_georeferenced.py +0 -0
  428. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_one_act_n_outputs.py +0 -0
  429. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev29_ttl_round_trip.py +0 -0
  430. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dev30_decisions.py +0 -0
  431. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_devices.py +0 -0
  432. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dissemination_tombstones.py +0 -0
  433. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dove_sta_il_testo.py +0 -0
  434. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dtc_corpus.py +0 -0
  435. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dtc_ingest.py +0 -0
  436. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dtc_neighbourhood.py +0 -0
  437. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dtc_projection.py +0 -0
  438. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_dtc_residency.py +0 -0
  439. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_edge_outside_graph.py +0 -0
  440. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_edge_ui_phrases.py +0 -0
  441. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_editorial.py +0 -0
  442. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_em_ttl_matches_the_datamodels.py +0 -0
  443. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_emjson_no_drawing_keys.py +0 -0
  444. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_emjson_roundtrip.py +0 -0
  445. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_emjson_schema_version.py +0 -0
  446. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_epoch_properties_and_sub_epochs.py +0 -0
  447. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_epoch_undated_import.py +0 -0
  448. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_explicit_node_type_marker.py +0 -0
  449. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_extracted_from_unit.py +0 -0
  450. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_filtered_import.py +0 -0
  451. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_fmpxml_importer.py +0 -0
  452. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_fs_backend.py +0 -0
  453. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_functional_units.py +0 -0
  454. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_georeference_scene.py +0 -0
  455. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_gltf_stitch.py +0 -0
  456. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_glyph_paths.py +0 -0
  457. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_graph_header_code.py +0 -0
  458. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_graph_helpers_indexed.py +0 -0
  459. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_graph_indices_alive.py +0 -0
  460. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_graph_indices_edges.py +0 -0
  461. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_graph_scope_migration.py +0 -0
  462. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_hdto_projection.py +0 -0
  463. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_hdto_study.py +0 -0
  464. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_header_key_aliases.py +0 -0
  465. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_i_generi_dei_passi.py +0 -0
  466. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_iiif.py +0 -0
  467. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_il_modo_d_accesso.py +0 -0
  468. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_il_modo_dal_relay.py +0 -0
  469. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_il_proprietario_si_legge.py +0 -0
  470. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_il_riallineamento.py +0 -0
  471. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_importer_edge_hygiene.py +0 -0
  472. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_ipynb_exporter.py +0 -0
  473. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_issue27_small_points.py +0 -0
  474. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_la_lingua_alla_nascita.py +0 -0
  475. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_la_lingua_dei_dati.py +0 -0
  476. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_la_lingua_nell_op.py +0 -0
  477. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_la_riga_d_intestazione.py +0 -0
  478. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_latex_exporter.py +0 -0
  479. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_le_traduzioni.py +0 -0
  480. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_lod_levels.py +0 -0
  481. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_lossless_roundtrip.py +0 -0
  482. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_mapping_authoring.py +0 -0
  483. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_mapping_csv_and_relations.py +0 -0
  484. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_masonry_unit.py +0 -0
  485. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_material_color.py +0 -0
  486. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_merge_conflicts.py +0 -0
  487. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_metashape_project.py +0 -0
  488. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_migrate_legacy_proxy.py +0 -0
  489. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_minio_backend.py +0 -0
  490. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_authorship.py +0 -0
  491. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_bake_docx.py +0 -0
  492. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_figures.py +0 -0
  493. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_generation.py +0 -0
  494. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_mentions.py +0 -0
  495. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_node.py +0 -0
  496. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_query.py +0 -0
  497. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_scaffolder.py +0 -0
  498. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_site_place.py +0 -0
  499. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_narrative_unvalidated_export.py +0 -0
  500. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_node_datamodel_registry.py +0 -0
  501. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_node_finder.py +0 -0
  502. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_node_type_map_integrity.py +0 -0
  503. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_one_resolver.py +0 -0
  504. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_one_spelling_writers.py +0 -0
  505. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_op_vocabulary.py +0 -0
  506. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_pg_importer.py +0 -0
  507. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_photogrammetry_delta.py +0 -0
  508. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_physical_relation_spellings.py +0 -0
  509. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_piu_indirizzi.py +0 -0
  510. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_promote_keeps_proxy_type.py +0 -0
  511. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_promotion.py +0 -0
  512. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_property_as_source.py +0 -0
  513. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_property_owners.py +0 -0
  514. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_proxy_resource.py +0 -0
  515. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_proxy_retype.py +0 -0
  516. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_psx_locator.py +0 -0
  517. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_pyarchinit_tier2.py +0 -0
  518. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_qualia_dai_d7_d8.py +0 -0
  519. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_rdf_embedding.py +0 -0
  520. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_rdf_reverse_edges.py +0 -0
  521. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_rdf_roundtrip.py +0 -0
  522. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reading_coords.py +0 -0
  523. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reading_glb.py +0 -0
  524. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reading_migration.py +0 -0
  525. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reading_place.py +0 -0
  526. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reading_rdf.py +0 -0
  527. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_recompute_warnings.py +0 -0
  528. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_release.py +0 -0
  529. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reproject.py +0 -0
  530. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_file_node.py +0 -0
  531. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_files_implicit.py +0 -0
  532. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_layer.py +0 -0
  533. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_representations.py +0 -0
  534. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_revision.py +0 -0
  535. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_resource_tier.py +0 -0
  536. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_reverse_edges.py +0 -0
  537. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_rm_container_node_group.py +0 -0
  538. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_room_import_access.py +0 -0
  539. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_room_import_trust.py +0 -0
  540. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_semantic_purity.py +0 -0
  541. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_shelf.py +0 -0
  542. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_shelf_facets.py +0 -0
  543. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_shelf_hatting.py +0 -0
  544. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_shelf_role_uri_table.py +0 -0
  545. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_shipped_mappings.py +0 -0
  546. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_source_list_mapping.py +0 -0
  547. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_source_text.py +0 -0
  548. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_spatiotemporal_entities.py +0 -0
  549. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_stable_study_code.py +0 -0
  550. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_stamp.py +0 -0
  551. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_stamp_hints.py +0 -0
  552. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_stamp_title_description.py +0 -0
  553. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_storage_rows.py +0 -0
  554. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_store_backed_geometry.py +0 -0
  555. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_stratiminer_api.py +0 -0
  556. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_study_metadata.py +0 -0
  557. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_tileset_resource.py +0 -0
  558. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_ttl_roundtrip.py +0 -0
  559. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_unit_definition.py +0 -0
  560. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_verifica_provenance.py +0 -0
  561. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_version_for.py +0 -0
  562. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_visual_assets.py +0 -0
  563. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_wheel_drift.py +0 -0
  564. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_xlsx_containment_and_unknown_bounds.py +0 -0
  565. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_xlsx_importer_graph_init.py +0 -0
  566. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_xlsx_source_column.py +0 -0
  567. {s3dgraphy-1.6.0.dev54 → s3dgraphy-1.6.0.dev56}/tests/test_zero_hour.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: s3dgraphy
3
- Version: 1.6.0.dev54
3
+ Version: 1.6.0.dev56
4
4
  Summary: 3D Stratigraphic Graph Management Library for archaeological and heritage applications
5
5
  Author-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
6
6
  Maintainer-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "s3dgraphy"
7
- version = "1.6.0.dev54"
7
+ version = "1.6.0.dev56"
8
8
  description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "formal_language": "EM",
3
- "version": "1.6.34",
3
+ "version": "1.6.35",
4
4
  "_note_material_vs_qualia_color": [
5
5
  "DUE COSE DIVERSE CHE SI CHIAMANO ENTRAMBE color. Non confonderle: e gia successo.",
6
6
  "1) QUI, in node_styles.<tipo>.style.material.rgba_color — il COLORE DEL MATERIALE BLENDER del proxy 3D, in float LINEARI. UNA sola chiave: `rgba_color`. Fino a S8 il file ne usava due (`color` sui 13 tipi stratigrafici, `rgba_color` sugli altri) e get_material_color() ne leggeva una sola, restituendo None per 21 tipi su 38; ora sono unificate e la vecchia `color` e letta solo come tolleranza verso file scritti prima. Un tipo che non diventa mai una mesh NON ha material affatto (i contenitori di gruppo, e da S7 i dieci nodi che rendono per icona): per loro get_material_color() torna None, ed e corretto.",
@@ -9,6 +9,7 @@
9
9
  "In breve: qui si decide di che colore DISEGNARE una US; li si registra di che colore ERA."
10
10
  ],
11
11
  "_changelog": {
12
+ "1.6.35": "RM AND PROXY AMONG THE COMPUTED INSTANCES (MICRO lo spazio 3D, E.D. 11 Oct 2026). New block threed_instances: the proxy of a unit (geometry property → has_semantic_shape → SemanticShape) is drawn in the paradata group of the property, beside it; a representation model is drawn in the paradata group of each epoch that has it (has_representation_model, directly or through an epoch property), with the number of its epochs («×N»). A view: nothing in em.json or RDF. Read by s3dgraphy.paradata_view.threed_instances and units_without_3d.",
12
13
  "1.6.34": "THE AUTHOR AS AN INSTANCE (MICRO le entità spaziotemporali, decided by E.D. 10 Oct 2026: documents, authors and units are spatiotemporal entities, and an author «si istanzia come avviene con i documenti»). paradata_instances gains `authorship`: the author of a reader of the group (the extractor, or the combiner and the extractors it combines) reached by has_author, when the author is not itself a member of the group, is drawn inside the group as an INSTANCE of kind `author`, with the badge of the epoch where the author begins (has_first_epoch). Still a view: nothing is written in em.json or RDF. s3dgraphy.paradata_view.view_instances reads it.",
13
14
  "1.6.32": "THE GLYPHS OF THE 3D OBJECTS (MICRO «grafo reattivo», G9, 9 Oct 2026; drawings approved by E.D. on 6 Oct, APPROVATE.md). representation_model, representation_model_doc (the checkered picture seen three-quarters, with its frame's depth and a shadow on the ground: an image PLACED in 3D space) and representation_model_sf replace the three identical Font Awesome cubes of src/2D/ and join `2d_render_glyph_types.types`; proxy, tileset, container (the RM container, RepresentationModelNodeGroup) and the four versions version:gltf / version:mesh / version:tiles / version:scene are new files, resolved from the node's DATA by the new table `2d_render_glyph_types.data_glyphs` (keyed like dtc:<kind>; its rule is written in its _comment, measured on Templu Mare v2). All ten in the DTC frame (circle r 41.14, viewBox 87.12) with the 2×2 checker of the EMtools icons: the checker colours are `accent`, never recoloured; black `ink`, white `paper`, the grey of the picture's frame `ground`, the shadow `halo`. NEW in the layer format: `frame: true` marks the layers of the frame circle (its `paper` fill and its `ink` stroke), and the entry's `frameless_box` is the box of everything else — below 24 px a consumer may skip the frame and fit that box instead (docs/drawing-a-glyph.md §5). Additive: no existing glyph changed.",
14
15
  "1.6.31": "THE CHOICES OF DEV29, CONFIRMED (E.D., 2 Oct 2026, on the dev29 report, D5). dtc_kinds.process.texturing is projection AND baking of the photographs onto the mesh, one act, one kind; the baking of levels of detail in Blender stays lod_generation, an act of its own. The «until E.D. says otherwise» of 1.6.30 is gone from the description. Text only: no kind, glyph or label changed.",
@@ -6239,6 +6240,30 @@
6239
6240
  }
6240
6241
  }
6241
6242
  },
6243
+ "threed_instances": {
6244
+ "_comment": "1.6.35 (MICRO lo spazio 3D, E.D. 11 Oct 2026: «nel grafo, la presenza del 3D visibile accanto alle unità e alle epoche»). The representation models and the proxies join the computed instances, and like them they are a VIEW: nothing is written in em.json or RDF. PROXY: the property of type `geometry` of a unit reaches by `has_semantic_shape` the SemanticShape (the proxy, its glb a `proxy_model` resource by `has_linked_resource`); the view draws the shape in the paradata group of the property — its own `is_in_paradata_nodegroup`, else the group of its original owner (`has_paradata_nodegroup`) — BESIDE the property. RM: an epoch reaches its model by `has_representation_model`, directly or through one of its properties (both read; the data measured on 16 Oct 2026 carry only the direct edge); the view draws the model in the epoch's paradata group, and when the same model is in N epochs every instance carries N («×N»). With no group, `place` is the owner itself (the unit, the epoch). The reference implementation is s3dgraphy.paradata_view.threed_instances; units_without_3d answers which units have a proxy, a geometry without payload, or none.",
6245
+ "proxy": {
6246
+ "kind": "proxy",
6247
+ "owner_edge": "has_property",
6248
+ "property_type": "geometry",
6249
+ "shape_edge": "has_semantic_shape",
6250
+ "file_edge": "has_linked_resource",
6251
+ "file_types": ["proxy_model"],
6252
+ "membership": "is_in_paradata_nodegroup",
6253
+ "group_edge": "has_paradata_nodegroup",
6254
+ "beside": "property"
6255
+ },
6256
+ "representation_model": {
6257
+ "kind": "rm",
6258
+ "holders": ["EpochNode"],
6259
+ "edge": "has_representation_model",
6260
+ "via_property": "has_property",
6261
+ "masters": ["RepresentationModelNode", "RepresentationModelDocNode", "RepresentationModelSpecialFindNode"],
6262
+ "group_edge": "has_paradata_nodegroup",
6263
+ "count_word": "×{n}"
6264
+ },
6265
+ "id": "{master}##{place}"
6266
+ },
6242
6267
  "dtc_kinds": {
6243
6268
  "_comment": "DATA-DRIVEN, EXPANDABLE per-kind vocabulary for the DTC substrate profile (ECHOES). Mirrors the Master-Document axis vocabularies above (document_roles/content_natures): the three base kinds (input/process/output) each list specific kinds seeded from the 2017 DTC palette. Adding a new kind (e.g. audio, spectroscopy) is a JSON entry here (+ a glyph) — NOT a code change; the DTC node classes validate against these keys via s3dgraphy.utils.get_dtc_kinds(). `glyph` names the 2017 DTC SVG (wired in the later glyph/visual-manager slice; recorded here as data only).",
6244
6269
  "input": {
@@ -1,4 +1,4 @@
1
- __version__ = "1.6.0.dev54"
1
+ __version__ = "1.6.0.dev56"
2
2
  __datamodel_version__ = "1.5.5" # s3Dgraphy connections datamodel version
3
3
 
4
4
  # s3Dgraphy/__init__.py
@@ -342,6 +342,24 @@ def view_instances(graph: Graph, group_id: str) -> List[Dict[str, Any]]:
342
342
  return _view(graph, group_id)
343
343
 
344
344
 
345
+ def threed_instances(graph: Graph) -> List[Dict[str, Any]]:
346
+ """The proxies and the representation models as the view draws them
347
+ (em_visual_rules 1.6.35, ``threed_instances``): the proxy of a unit in the
348
+ paradata group of its geometry property, beside it; a model in the paradata
349
+ group of each epoch that has it, with the number of its epochs. Computed,
350
+ never stored; see :func:`s3dgraphy.paradata_view.threed_instances`."""
351
+ from .paradata_view import threed_instances as _view
352
+ return _view(graph)
353
+
354
+
355
+ def units_without_3d(graph: Graph) -> Dict[str, List[str]]:
356
+ """``{with, empty, none, without}``: the units with a proxy, with an empty
357
+ geometry property, with none, and the last two together — see
358
+ :func:`s3dgraphy.paradata_view.units_without_3d`."""
359
+ from .paradata_view import units_without_3d as _units
360
+ return _units(graph)
361
+
362
+
345
363
  def dependents_of(graph: Graph, node_id: str) -> List[Dict[str, Any]]:
346
364
  """Who leans on a unit, a property or a document, in cascade: ``[{id,
347
365
  name, node_type, kind, via, depth, owner, owner_name}]`` — what an
@@ -3069,7 +3087,8 @@ def resolve_file(entry: Dict[str, Any], **kwargs) -> Dict[str, Any]:
3069
3087
 
3070
3088
 
3071
3089
  # ── a study into a room, from a folder (MICRO-ROOM-IMPORT, 15 Oct 2026) ──────
3072
- def room_import(em_json: str, *, node: str, room: str, title: Optional[str] = None,
3090
+ def room_import(em_json: Optional[str] = None, *, node: str, room: str,
3091
+ title: Optional[str] = None,
3073
3092
  base_dir: Optional[str] = None, visibility: str = "restricted",
3074
3093
  token: Optional[str] = None, dry_run: bool = False,
3075
3094
  pack_tilesets: Optional[str] = None, **kwargs) -> Dict[str, Any]:
@@ -3079,8 +3098,11 @@ def room_import(em_json: str, *, node: str, room: str, title: Optional[str] = No
3079
3098
  hosted keeping their path, the graph is seated last as operations, then
3080
3099
  ``study-access``. ``dry_run``: the plan only, nothing written.
3081
3100
  ``pack_tilesets="3tz"``: a tileset folder goes up as one canonical
3082
- ``.3tz``. → the report. The one engine of the three doors (the command,
3083
- EMStudio, EM Tools); see :mod:`s3dgraphy.room_import`."""
3101
+ ``.3tz``. ``container=`` (a study held in memory) with ``base_dirs=``
3102
+ instead of the path; the person's choices as ``per_group``/``per_batch``/
3103
+ ``per_item``, ``move``, ``lots``; ``before_seed`` for what a client adds
3104
+ before the graph is seated. → the report. The one engine of the three
3105
+ doors (the command, EMStudio, EM Tools); see :mod:`s3dgraphy.room_import`."""
3084
3106
  from .room_import import room_import as _run
3085
3107
  return _run(em_json, node=node, room=room, title=title, base_dir=base_dir,
3086
3108
  visibility=visibility, token=token, dry_run=dry_run,
@@ -241,3 +241,230 @@ def all_view_instances(graph) -> Dict[str, List[Dict[str, Any]]]:
241
241
  if recs:
242
242
  out[n.node_id] = recs
243
243
  return out
244
+
245
+
246
+ # ── 1.6.35 · the 3D among the computed instances ─────────────────────────────
247
+ #
248
+ # MICRO lo spazio 3D (E.D., 11 Oct 2026): «nel grafo, la presenza del 3D visibile
249
+ # accanto alle unità e alle epoche». The proxy of a unit and the representation
250
+ # model of an epoch are drawn as instances, like a document read from outside:
251
+ # still a view, nothing written. The rule is `em_visual_rules.json` →
252
+ # `threed_instances`.
253
+
254
+
255
+ @lru_cache(maxsize=1)
256
+ def threed_rule() -> Dict[str, Any]:
257
+ """The ``threed_instances`` block of ``em_visual_rules.json``."""
258
+ from .nodes.base_node import load_json_mapping
259
+ rules = load_json_mapping("em_visual_rules.json") or {}
260
+ return dict(rules.get("threed_instances") or {})
261
+
262
+
263
+ def threed_instance_id(master_id: str, place_id: str) -> str:
264
+ """The id every client gives the 3D instance of ``master_id`` drawn in
265
+ ``place_id`` (a paradata group, else the owner itself)."""
266
+ pattern = threed_rule().get("id") or "{master}##{place}"
267
+ return pattern.format(master=master_id, place=place_id)
268
+
269
+
270
+ def _out(graph, node_id: str, edge_type: str) -> List[str]:
271
+ return [e.edge_target for e in graph.edges
272
+ if e.edge_source == node_id and e.edge_type == edge_type and _live(e)]
273
+
274
+
275
+ def _inn(graph, node_id: str, edge_type: str) -> List[str]:
276
+ return [e.edge_source for e in graph.edges
277
+ if e.edge_target == node_id and e.edge_type == edge_type and _live(e)]
278
+
279
+
280
+ def _property_type(node) -> str:
281
+ data = getattr(node, "data", None) or {}
282
+ return str(getattr(node, "property_type", None) or data.get("property_type") or "")
283
+
284
+
285
+ def _proxy_payload(graph, shape, spec: Dict[str, Any]) -> Dict[str, Any]:
286
+ """What a shape carries: its ``proxy_model`` resources, its hulls and spheres."""
287
+ types = set(spec.get("file_types") or ["proxy_model"])
288
+ files = []
289
+ for rid in _out(graph, shape.node_id, spec.get("file_edge") or "has_linked_resource"):
290
+ res = graph.find_node_by_id(rid)
291
+ data = getattr(res, "data", None) or {}
292
+ if res is None or _removed(res) or getattr(res, "node_type", None) != "resource":
293
+ continue
294
+ if types & {data.get("url_type"), data.get("resource_type")}:
295
+ files.append(rid)
296
+ data = getattr(shape, "data", None) or {}
297
+ hulls = bool(data.get("convexshapes") or getattr(shape, "convexshapes", None))
298
+ spheres = bool(data.get("spheres") or getattr(shape, "spheres", None))
299
+ return {"files": files, "hulls": hulls or spheres}
300
+
301
+
302
+ def _place(graph, owner_id: str, prop_id: Optional[str], spec: Dict[str, Any]) -> Optional[str]:
303
+ """The paradata group a 3D instance is drawn in: the property's own group,
304
+ else the group of the owner (``has_paradata_nodegroup``)."""
305
+ if prop_id:
306
+ for g in _out(graph, prop_id, spec.get("membership") or "is_in_paradata_nodegroup"):
307
+ node = graph.find_node_by_id(g)
308
+ if node is not None and not _removed(node):
309
+ return g
310
+ for g in _out(graph, owner_id, spec.get("group_edge") or "has_paradata_nodegroup"):
311
+ node = graph.find_node_by_id(g)
312
+ if node is not None and not _removed(node):
313
+ return g
314
+ return None
315
+
316
+
317
+ def _units(graph):
318
+ from .nodes.stratigraphic_node import ContinuityNode, StratigraphicNode
319
+ return [n for n in graph.nodes if isinstance(n, StratigraphicNode)
320
+ and not isinstance(n, ContinuityNode) and not _removed(n)]
321
+
322
+
323
+ def proxy_instances(graph) -> List[Dict[str, Any]]:
324
+ """The proxies of the units, as instances::
325
+
326
+ {id, kind: "proxy", master, node_type, name, owner, owner_kind: "unit",
327
+ owner_name, beside, group, place, files, empty, removed}
328
+
329
+ ``master`` the SemanticShape; ``beside`` the geometry property it hangs
330
+ from; ``group`` the paradata group it is drawn in (None when the unit has
331
+ none: ``place`` is then the unit); ``files`` its ``proxy_model``
332
+ resources; ``empty`` when the shape carries neither a file nor hulls.
333
+ """
334
+ from .ownership import original_owner
335
+ spec = dict(threed_rule().get("proxy") or {})
336
+ owner_edge = spec.get("owner_edge") or "has_property"
337
+ ptype = spec.get("property_type") or "geometry"
338
+ shape_edge = spec.get("shape_edge") or "has_semantic_shape"
339
+ out: List[Dict[str, Any]] = []
340
+ seen = set()
341
+ for unit in _units(graph):
342
+ for pid in _out(graph, unit.node_id, owner_edge):
343
+ prop = graph.find_node_by_id(pid)
344
+ if prop is None or _removed(prop) or _property_type(prop) != ptype:
345
+ continue
346
+ # a property inherited by a second unit is drawn once, by its owner
347
+ owner = original_owner(graph, pid) or unit.node_id
348
+ if owner != unit.node_id:
349
+ continue
350
+ for sid in _out(graph, pid, shape_edge):
351
+ shape = graph.find_node_by_id(sid)
352
+ if shape is None or (pid, sid) in seen:
353
+ continue
354
+ seen.add((pid, sid))
355
+ payload = _proxy_payload(graph, shape, spec)
356
+ group = _place(graph, unit.node_id, pid, spec)
357
+ place = group or unit.node_id
358
+ out.append({
359
+ "id": threed_instance_id(sid, place), "kind": spec.get("kind") or "proxy",
360
+ "master": sid, "node_type": getattr(shape, "node_type", None),
361
+ "name": getattr(shape, "name", sid),
362
+ "owner": unit.node_id, "owner_kind": "unit",
363
+ "owner_name": getattr(unit, "name", unit.node_id),
364
+ "beside": pid, "group": group, "place": place,
365
+ "files": payload["files"],
366
+ "empty": not payload["files"] and not payload["hulls"],
367
+ "removed": _removed(shape)})
368
+ return out
369
+
370
+
371
+ def rm_instances(graph) -> List[Dict[str, Any]]:
372
+ """The representation models of the epochs, as instances::
373
+
374
+ {id, kind: "rm", master, node_type, name, owner, owner_kind: "epoch",
375
+ owner_name, via, group, place, epochs, count, count_label, removed}
376
+
377
+ One per (model, epoch). ``via`` the epoch property the link passes
378
+ through (None when the epoch reaches the model directly); ``epochs`` every
379
+ epoch the model is in, ``count`` how many, ``count_label`` the rule's word
380
+ («×3») when there are more than one.
381
+ """
382
+ spec = dict(threed_rule().get("representation_model") or {})
383
+ holders = spec.get("holders") or ["EpochNode"]
384
+ edge = spec.get("edge") or "has_representation_model"
385
+ via_prop = spec.get("via_property") or "has_property"
386
+ masters = spec.get("masters") or ["RepresentationModelNode", "RepresentationModelDocNode",
387
+ "RepresentationModelSpecialFindNode"]
388
+ word = spec.get("count_word") or "×{n}"
389
+ links: Dict[str, List[Dict[str, Any]]] = {}
390
+ order: List[str] = []
391
+ for holder in graph.nodes:
392
+ if _removed(holder) or _class_of(holder, holders) is None:
393
+ continue
394
+ reached = [(rm, None) for rm in _out(graph, holder.node_id, edge)]
395
+ for pid in _out(graph, holder.node_id, via_prop):
396
+ prop = graph.find_node_by_id(pid)
397
+ if prop is not None and not _removed(prop):
398
+ reached += [(rm, pid) for rm in _out(graph, pid, edge)]
399
+ for rm_id, via in reached:
400
+ rm = graph.find_node_by_id(rm_id)
401
+ if rm is None or _class_of(rm, masters) is None:
402
+ continue
403
+ mine = links.setdefault(rm_id, [])
404
+ if any(x["owner"] == holder.node_id for x in mine):
405
+ continue
406
+ if rm_id not in order:
407
+ order.append(rm_id)
408
+ mine.append({"owner": holder.node_id, "via": via})
409
+ out: List[Dict[str, Any]] = []
410
+ for rm_id in order:
411
+ rm = graph.find_node_by_id(rm_id)
412
+ epochs = [x["owner"] for x in links[rm_id]]
413
+ n = len(epochs)
414
+ for x in links[rm_id]:
415
+ epoch = graph.find_node_by_id(x["owner"])
416
+ group = _place(graph, x["owner"], x["via"], spec)
417
+ place = group or x["owner"]
418
+ out.append({
419
+ "id": threed_instance_id(rm_id, place), "kind": spec.get("kind") or "rm",
420
+ "master": rm_id, "node_type": getattr(rm, "node_type", None),
421
+ "name": getattr(rm, "name", rm_id),
422
+ "owner": x["owner"], "owner_kind": "epoch",
423
+ "owner_name": getattr(epoch, "name", x["owner"]),
424
+ "via": x["via"], "group": group, "place": place,
425
+ "epochs": list(epochs), "count": n,
426
+ "count_label": word.format(n=n) if n > 1 else None,
427
+ "removed": _removed(rm)})
428
+ return out
429
+
430
+
431
+ def threed_instances(graph) -> List[Dict[str, Any]]:
432
+ """The proxies and the representation models, as the view draws them:
433
+ :func:`proxy_instances` then :func:`rm_instances`. Pure."""
434
+ return proxy_instances(graph) + rm_instances(graph)
435
+
436
+
437
+ def units_without_3d(graph) -> Dict[str, List[str]]:
438
+ """Which units have a 3D proxy, and which do not::
439
+
440
+ {"with": [...], "empty": [...], "none": [...], "without": [...]}
441
+
442
+ ``with`` a geometry property whose shape carries a file or hulls;
443
+ ``empty`` a geometry property and nothing in it (no shape, or a shape
444
+ with neither file nor hulls); ``none`` no geometry property at all;
445
+ ``without`` = ``empty`` + ``none``, the units a proxy can be given to.
446
+ Continuity nodes are not units to model.
447
+ """
448
+ spec = dict(threed_rule().get("proxy") or {})
449
+ owner_edge = spec.get("owner_edge") or "has_property"
450
+ ptype = spec.get("property_type") or "geometry"
451
+ shape_edge = spec.get("shape_edge") or "has_semantic_shape"
452
+ res: Dict[str, List[str]] = {"with": [], "empty": [], "none": [], "without": []}
453
+ for unit in _units(graph):
454
+ props = [graph.find_node_by_id(p) for p in _out(graph, unit.node_id, owner_edge)]
455
+ props = [p for p in props if p is not None and not _removed(p) and _property_type(p) == ptype]
456
+ if not props:
457
+ res["none"].append(unit.node_id)
458
+ continue
459
+ full = False
460
+ for p in props:
461
+ for sid in _out(graph, p.node_id, shape_edge):
462
+ shape = graph.find_node_by_id(sid)
463
+ if shape is None or _removed(shape):
464
+ continue
465
+ pay = _proxy_payload(graph, shape, spec)
466
+ if pay["files"] or pay["hulls"]:
467
+ full = True
468
+ res["with" if full else "empty"].append(unit.node_id)
469
+ res["without"] = res["empty"] + res["none"]
470
+ return res
@@ -52,13 +52,23 @@ written by dtcstamp (s3Dgraphy stays a reader), a sibling representation
52
52
  (`dtc_derived_from` the folder, a DTC step `packing` with its stamp); the
53
53
  folder stays as a reference. See :mod:`.pack`.
54
54
 
55
+ A CLIENT WITH A DIALOG (EM Tools' «Bring into a room») calls the two halves:
56
+ :func:`prepare` (the room, then the plan, from the study it holds in memory:
57
+ `container=`, `base_dirs=`), shows the rows, and :func:`execute` with the
58
+ person's choices (:func:`apply_choices` per group / batch / item, `move` for
59
+ «Move here», the confirmed `lots`) and its hook for what only the client can
60
+ make (`before_seed`: EM Tools publishes the scene's models there, so they are
61
+ in the one seeding).
62
+
55
63
  Defaults to confirm (E.D.): the name `room_import` / `room-import`, a new
56
64
  room's visibility `restricted`.
57
65
  """
58
66
 
59
- from .engine import (JOURNAL_NAME, Interrupted, Journal, make_plan, markdown,
60
- room_import, summarise_plan)
67
+ from .engine import (JOURNAL_NAME, Interrupted, Journal, apply_choices,
68
+ birth_sections, execute, make_plan, markdown, plan_report,
69
+ prepare, room_import, summarise_plan)
61
70
  from .errors import RoomError
62
71
 
63
- __all__ = ["JOURNAL_NAME", "Interrupted", "Journal", "RoomError", "make_plan",
64
- "markdown", "room_import", "summarise_plan"]
72
+ __all__ = ["JOURNAL_NAME", "Interrupted", "Journal", "RoomError", "apply_choices",
73
+ "birth_sections", "execute", "make_plan", "markdown", "plan_report",
74
+ "prepare", "room_import", "summarise_plan"]