com.unity.graphtools.foundation 0.8.0-preview
com.unity.graphtools.foundation
Notes: processedReleased February 8, 2021
Unity Compatibility
Minimum Unity: 2020.1
Package Dependencies
✨ Features
- Obsolete names on `Enumeration`
- `class BasicModel.GraphTemplate` which provides a default `IGraphTemplate` implementation
- `DefaultSearcherDatabaseProvider` which provides a default `ISearcherDatabaseProvider` implementation
- `DropTarget` abstract `ModelUI` class handling drag and drop from SelectionDragger
- `IDragAndDropHandler` interface demonstrating ability to handle drag and drop events
⚡ API Changes
- `GtfoGraphView` class was merged into `GraphView`
- `GtfoEditorWindow` class was merged into `GraphViewEditorWindow`
- `VariableType` enum
- `ITranslator.TranslateAndCompile`
- `ITranslator.CanCompile`
- `RequestCompilationAction` (moved to Visual Scripting ECS package)
- `IGraphAssetModel.SourceFilePath`
- `IDroppable` interface
- `IDropTarget`. Use new class `DropTarget` to catch `GraphView` mouse drags as drag and drop instead of move.
📈 Improvements
- `GtfoWindow.GetShortcutDictionary()` is no longer abstract. It is a virtual that provides a default dictionary.
- `IGraphElement` renamed to `IModelUI`
- `GraphElement` and `Port` now inherits from new class `ModelUI`
- Renamed `State` to `GraphToolState`
- Renamed `Store` to `CommandDispatcher`
- Renamed `StoreHelper` to `CommandDispatcherHelper`
- Renamed `BaseAction` to `Command` and all *Action* to *Command*
- Renamed all `DefaultReducer` to `CommandHandler`
- `Preferences` class is not abstract anymore.
- `GraphView` class is not abstract anymore.
- `GraphViewEditorWindow` class is not abstract anymore.
- `vse-blank-page` USS class name changed to `ge-blank-page`
- `CompilationResult` renamed to `GraphProcessingResult`
- `CompilationStatus` renamed to `GraphProcessingStatus`
- `GraphViewEditorWindow.RecompilationTriggerActions` renamed to `GraphViewEditorWindow.GraphProcessingTriggerActions`
- `GraphViewEditorWindow.RecompileGraph` renamed to `GraphViewEditorWindow.ProcessGraph`
- `Stencil.CreateTranslator` renamed to `Stencil.CreateGraphProcessor`
- `Stencil.OnCompilationStarted` renamed to `Stencil.OnGraphProcessingStarted`
- `Stencil.OnCompilationSucceeded` renamed to `Stencil.OnGraphProcessingSucceeded`
- `Stencil.OnCompilationFailed` renamed to `Stencil.OnGraphProcessingFailed`
- `Stencil.GetCompilationPluginHandlers` renamed to `Stencil.GetGraphProcessingPluginHandlers`
- `ITranslator` renamed to `IGraphProcessor`
- `ITranslator.Compile` renamed to `IGraphProcessor.ProcessGraph`
- `BoolPref.AutoRecompile` renamed to `BoolPref.AutoProcess`
- `CompilationStateComponent` renamed to `GraphProcessingStateComponent`
- `CompilationTimer` renamed to `GraphProcessingTimer`
- `GraphView.RecompilationTriggerActions` renamed to `GraphView.GraphProcessingTriggerActions`
- `NoOpTranslator` renamed to `NoOpGraphProcessor`
- `CompilerErrorBadgeModel` renamed to `GraphProcessingErrorBadgeModel`
- `CompilerError` renamed to `GraphProcessingError`
- `CompilerQuickFix` renamed to `QuickFix`
- `CompilationOptions` renamed to `GraphProcessingOptions`
- `BoolPref.AutoProcess` and `BoolPref.AutoAlignDraggedEdges` are now false by default.
- `IGraphElementPart`, `BaseGraphElementPart` renamed to `IModelUIPart`, `BaseModelUIPart` respectively.
- `GraphElementPartList` renamed to `ModelUIPartList`
- `ICreatableGraphTemplate` merged into `IGraphTemplate`
- `IOnboardingProvider` interface changed to `OnboardingProvider` abstract class
- Default title of `GraphViewEditorWindow` is changed from *Visual Script* to *Graph Tool*
- `Stencil.MoveNodeDependenciesByDefault` is now initialized to `false`
- `GraphView` and `PlaceMat` no longer implement `IDropTarget`
- `Stencil.DragNDropHandler` changed to `Stencil.GetExternalDragNDropHandler()`. Allows to dynamically select a drag and drop handler depending on context.
- `Graphview.ExtractVariablesFromDroppedElements` changed to `Stencil.ExtractVariableFromGraphElement`
- `SerializableGUID` is now backed by a Hash128 rather than a GUID.
🔧 Bug Fixes
- Dragging a node to a port doesn't dispatch 2 actions anymore
- `IMovable.Move(delta)` correctly uses `delta` parameter for `NodeModel`
