-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Insertion live template for connections (#120)
Adds insertion live template support for GUI connect operations. Experimental, partially implemented (for single ports only, limited support for arrays and boundary ports), currently behind a toggle in the settings menu. Architecturally, this separates the connect-builder (which determines which connections are allowed to a link) from the block analysis (which determines which ports are in a connected group, and what connects are available to a port), from the IR mutator (the executor, which takes a connectivity change and updates the Block IR), from the code generator / insertion live template. Probably more code to before, but in chunks that actually make more sense. Prior, GUI connects were much more monolithic code-wise. Other functional changes: - Fix getting the nearest insertion location when above the class level - prior it crashed because it would traverse to the folder level and can’t getTextRange. Now it detects a null text range is invalid. Other refactoring / infrastructural changes: - Updates to support the new connect expansion. - Refactor the IR-to-graph parsing to use the expanded versions, if available. - Move the insert block live template to its own file - Support no variables in insertion live template Future TODOs - Support suggested index - perhaps as template field - Don’t allow name when connecting to an existing named link - Support connect append in live template - Support boundary ports including bridging - Better support for array types
- Loading branch information
Showing
23 changed files
with
1,928 additions
and
187 deletions.
There are no files selected for viewing
Submodule PolymorphicBlocks
updated
27 files
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.