Decouple IModelTransformer from export handler - #345
Draft
DanRod1999 wants to merge 2 commits into
Draft
Conversation
Register a dedicated export handler for IModelTransformer while preserving existing callback dispatch and exporter customization. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
IModelTransformercurrently serves as both the transformation facade and theIModelExportHandlerregistered withIModelExporter, coupling consumer-facing orchestration to exporter callback plumbing.This draft explores a dedicated internal export-handler adapter registered with the exporter instead of the transformer itself. Existing transformer callback overrides, exporter configuration, progress handling, skip behavior, and callback ordering remain supported through delegation. It also replaces private aspect-traversal access with an explicit internal exporter API.
This is a major API change because
IModelTransformerno longer extends or is assignable toIModelExportHandler. Migration guidance, API reports, regression coverage, and a major beachball change entry are included.The forwarding adapter improves type separation but retains the mirrored transformer callback surface and much of the behavioral coupling. The desired component boundaries are now being defined in the focused architectural sub-issue before this approach is finalized.
Element-pipeline refactoring and removal of callback
isUpdateparameters are intentionally tracked independently.Related to #348
generated with GPT-5.6 Sol