* Add affected usage with tag math
* use this branch as a test branch
* adjust test
* fix github action
* build refactor to get affected work
* Lazy affected
* put if statement on job
* add conditions around build and publish for linux
* affected tests and small refactor
* fmt
* verbose
* full checkout
* more testing and made things more clear
* adjust installer test branch
* add comments
* use zip on release
* detect main release
* use right trigger for release
* fix build
* maybe fix if statement...version env var don't work
* use current branch, not target branch
* test installer should be stored
* write to github action env vars
* use the env var correctly
* format
* set the output version as before
---------
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
* Refactors idle manager to shortcut call check
* fix tests
* Match the id of idle action with the function name
it is more safe with this way bc we might accidentially skip some deferred actions if we use class name
---------
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
* Improve error messages for object conversion
- Updated exception messages to be more informative based on visibility settings.
- Simplified the logic for throwing exceptions when no model items are found.
* Refactor saved sets filter logic
- Introduced new methods for collecting saved sets and building hierarchical names.
- Simplified selection set resolution with a more concise approach.
- Updated initialisation of items to use arrays instead of lists.
- Improved error handling when resolving GUIDs for selection sets.
* Use a concurrent dictionary to cache types since the converter is effectively a singleton
* Don't modify the collection in the getter
---------
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
* Remove unused path constants and update namespace
Deleted an unnecessary file for path constants. Updated the namespace in the remaining file to better reflect its purpose and added a new constant for material separation.
* Remove unused send filters
- Deleted the send filters list and related parameters from the constructor.
- Cleaned up code to streamline the binding process.
- Updated comments for clarity on behaviour expectations.
* Update Navisworks object creation logic
- Added extraction of parent path from the group key.
- Changed applicationId to use the parent path instead of the group key.
* Add path cleaning method and simplify geometry resolution
- Introduced `GetCleanPath` to remove material signatures from paths.
- Updated `ResolveIndexPathToModelItem` to use the new path cleaning method.
- Simplified `ResolveGeometryLeafNodes` to use expression-bodied member syntax.
* Improve geometry node grouping logic
- Added material signature handling for merging nodes.
- Enhanced grouping to only include anonymous geometry nodes.
- Introduced a method to create material signatures based on properties.
- Updated the parent path extraction from composite keys.
* Added an extendable signature generation pattern
- Simplified the grouping of anonymous geometry nodes.
- Replaced material signature generation with a new method for better clarity.
- Added functionality to include additional material properties in the signature.
- Improved hash generation for consistent property representation.
* Update material separator in path constants
Changed the material separator from "::MATERIAL::" to "::". This simplifies the constant and may improve compatibility with other components.
* Changed how the parent path is derived from the group key.
- Introduced a cleaner method to get the parent path.
- Updated applicationId to use the full composite key for uniqueness.
* Updated node path retrieval to use a more concise method.
- Simplified the creation of `mergedIds` by using a single variable for group keys.
- Removed unnecessary comments and whitespace for cleaner code.
* Add missing import for Navisworks constants
Included the Navisworks constants import to ensure proper functionality.
* Replaced custom hash function with MD5, suppressing related warnings.
* pass cancellation token to individual features
* move count to a separate function
* remove per-layer progress report
* fix count
* reorder
* count layers only once
* move count to "unpacking selection" activityFactory
* remove outdated comment
- Excluded "Transform" category from processing.
- Added a list of excluded properties: "Hidden", "Required", "Internal_Type".
- Improved handling for the "Item" category to add non-excluded properties directly to root level.
- Ensured only non-empty property dictionaries are processed.
* Add preserve model hierarchy feature
- Introduced PreserveModelHierarchySetting to manage hierarchy preservation.
- Updated NavisworksSendBinding to include new setting.
- Added HierarchyBuilder class for future functionality.
- Enhanced ToSpeckleSettingsManagerNavisworks with caching for the new setting.
- Modified conversion settings to support model hierarchy preservation.
* Add Navisworks hierarchy builder class
Implemented a new class to rebuild the Navisworks document hierarchy from geometry leaves, maintaining parent-child relationships. Key updates include:
- Added constructor and private fields for managing geometry and conversion services.
- Developed a method to build the hierarchical structure of Speckle objects.
- Implemented logic for climbing up the document structure to resolve missing ancestors.
- Introduced methods for converting model items and pruning empty collections.
* Refactor hierarchy handling in object builder
- Added support for preserving model hierarchy.
- Introduced a new hierarchy builder for nested structures.
- Adjusted flow to handle flat mode when hierarchy is not needed.
* Refactor model item conversion logic
- Simplified the conversion method for Navisworks ModelItem.
- Consolidated geometry and non-geometry object creation into single methods.
- Added parameter for property handler to streamline property retrieval.
- Improved clarity by reducing redundancy in code structure.
* Refactor hierarchy builder for cleaner conversion
- Replaced custom conversion method with a direct call to the converter.
- Removed redundant code related to converting ModelItem to Speckle Collection.
- Streamlined the process of handling model items in the hierarchy.
* Remove unnecessary comment in hierarchy builder
Cleaned up the code by deleting a redundant comment about resolving ModelItem from a path string. This helps improve readability without losing any functionality.
* Catch exceptions and reprocess them around RevitTask
* Added SpeckleRevitTaskException to know when exceptions are jumping over revit task to handle the UI
* add comments
* Add fatch when
---------
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
* Add Saved Sets Filter
* formatting
* !!!
* fml
* Unclear why formatting rules are not being applied
* !!!
* !
* fixed?
* Add new filter for saved sets in Navisworks
- Included a new file for NavisworksSavedSetsFilter.
* POC ISendFilterSelect
* Align saved sets filtler with ISendFilterSelect
* No DI for send filters
* reverse condition
* Remove ISendFilterSelect from revit views
* Add notes
* Improve object selection error handling
- Updated logic for retrieving model items to use selected paths.
- Enhanced error messages based on visibility settings of objects.
- Simplified null checks for selected items in filters.
---------
Co-authored-by: Jonathon Broughton <jonathon@stardotbmp.com>