gitextract_apgfzb0f/ ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── ask-a-question.md │ │ ├── bug_report.md │ │ └── config.yml │ └── workflows/ │ ├── build.yml │ ├── codeql-analysis.yml │ ├── create-release-branch.yml │ ├── publish-package.yml │ └── sync-docs.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Directory.Build.props ├── Examples/ │ ├── Nodify.Calculator/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── ApplicationViewModel.cs │ │ ├── AssemblyInfo.cs │ │ ├── CalculatorInputOperationViewModel.cs │ │ ├── CalculatorOperationViewModel.cs │ │ ├── CalculatorViewModel.cs │ │ ├── ConnectionViewModel.cs │ │ ├── ConnectorViewModel.cs │ │ ├── Converters/ │ │ │ └── ItemToListConverter.cs │ │ ├── CreateOperationInfoViewModel.cs │ │ ├── EditorView.xaml │ │ ├── EditorView.xaml.cs │ │ ├── EditorViewModel.cs │ │ ├── ExpandoOperationViewModel.cs │ │ ├── ExpressionOperationViewModel.cs │ │ ├── GlobalUsings.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ ├── Nodify.Calculator.csproj │ │ ├── OperationGraphViewModel.cs │ │ ├── OperationGroupViewModel.cs │ │ ├── OperationInfoViewModel.cs │ │ ├── OperationViewModel.cs │ │ ├── Operations/ │ │ │ ├── BinaryOperation.cs │ │ │ ├── IOperation.cs │ │ │ ├── OperationFactory.cs │ │ │ ├── OperationsContainer.cs │ │ │ ├── ParamsOperation.cs │ │ │ ├── UnaryOperation.cs │ │ │ └── ValueOperation.cs │ │ ├── OperationsExtensions.cs │ │ ├── OperationsMenuView.xaml │ │ ├── OperationsMenuView.xaml.cs │ │ ├── OperationsMenuViewModel.cs │ │ ├── PendingConnectionViewModel.cs │ │ ├── Program.cs │ │ └── Themes/ │ │ ├── Dark.xaml │ │ ├── Light.xaml │ │ └── Nodify.xaml │ ├── Nodify.Playground/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── AssemblyInfo.cs │ │ ├── BaseSettingViewModel.cs │ │ ├── Converters/ │ │ │ ├── FlowToConnectorPositionConverter.cs │ │ │ ├── FlowToDirectionConverter.cs │ │ │ ├── UIntToRectConverter.cs │ │ │ └── UIntToRelativeRectConverter.cs │ │ ├── Editor/ │ │ │ ├── CommentNodeViewModel.cs │ │ │ ├── ConnectionViewModel.cs │ │ │ ├── ConnectorViewModel.cs │ │ │ ├── FlowNodeViewModel.cs │ │ │ ├── GraphSchema.cs │ │ │ ├── KnotNodeViewModel.cs │ │ │ ├── NodeViewModel.cs │ │ │ ├── NodifyEditorView.xaml │ │ │ ├── NodifyEditorView.xaml.cs │ │ │ ├── NodifyEditorViewModel.cs │ │ │ ├── PendingConnectionViewModel.cs │ │ │ ├── VerticalNodeViewModel.cs │ │ │ └── WpfComboBox.cs │ │ ├── EditorInputMode.cs │ │ ├── EditorSettings.cs │ │ ├── EditorSettingsView.xaml │ │ ├── EditorSettingsView.xaml.cs │ │ ├── GlobalUsings.cs │ │ ├── Helpers/ │ │ │ ├── NodeViewModelExtensions.cs │ │ │ └── RandomNodesGenerator.cs │ │ ├── ISettingViewModel.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ ├── Nodify.Playground.csproj │ │ ├── PlaygroundSettings.cs │ │ ├── PlaygroundViewModel.cs │ │ ├── PointEditor.cs │ │ ├── PointEditorView.xaml │ │ ├── PointEditorView.xaml.cs │ │ ├── Program.cs │ │ ├── ProxySettingViewModel.cs │ │ ├── SettingsView.xaml │ │ ├── SettingsView.xaml.cs │ │ └── Themes/ │ │ ├── Brushes.xaml │ │ ├── Dark.xaml │ │ ├── Light.xaml │ │ └── Nodify.xaml │ ├── Nodify.Shapes/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── AppShellViewModel.cs │ │ ├── AssemblyInfo.cs │ │ ├── Avalonia/ │ │ │ ├── Cursors.cs │ │ │ └── ToolItemSelector.cs │ │ ├── Canvas/ │ │ │ ├── CanvasToolbarViewModel.cs │ │ │ ├── CanvasView.xaml │ │ │ ├── CanvasView.xaml.cs │ │ │ ├── CanvasViewModel.cs │ │ │ ├── ConnectionViewModel.cs │ │ │ ├── ConnectorViewModel.cs │ │ │ ├── Decorators/ │ │ │ │ ├── ICanvasDecorator.cs │ │ │ │ ├── ShapeToolbarViewModel.cs │ │ │ │ └── UserCursorViewModel.cs │ │ │ ├── Gestures/ │ │ │ │ ├── DrawingGesturesMappings.cs │ │ │ │ ├── LockedGestureMappings.cs │ │ │ │ └── UnboundGestureMappings.cs │ │ │ ├── Shapes/ │ │ │ │ ├── EllipseViewModel.cs │ │ │ │ ├── RectangleViewModel.cs │ │ │ │ ├── ShapeViewModel.cs │ │ │ │ └── TriangleViewModel.cs │ │ │ └── UndoRedo/ │ │ │ ├── MoveShapesAction.cs │ │ │ ├── ResizeShapesAction.cs │ │ │ └── SelectShapesAction.cs │ │ ├── Controls/ │ │ │ └── ResizableContainer.cs │ │ ├── GlobalUsings.cs │ │ ├── MainView.axaml │ │ ├── MainView.axaml.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ └── Nodify.Shapes.csproj │ ├── Nodify.Shapes.Desktop/ │ │ ├── Nodify.Shapes.Desktop.csproj │ │ └── Program.cs │ ├── Nodify.Shapes.Web/ │ │ ├── AppBundle/ │ │ │ ├── app.css │ │ │ ├── index.html │ │ │ └── main.js │ │ ├── Nodify.Shapes.Web.csproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ └── runtimeconfig.template.json │ ├── Nodify.Shared/ │ │ ├── Behaviours/ │ │ │ ├── DataTrigger.cs │ │ │ ├── PropertySetter.cs │ │ │ └── WpfBtn.cs │ │ ├── BindingProxy.cs │ │ ├── BoxValue.cs │ │ ├── Controls/ │ │ │ ├── EditableTextBlock.cs │ │ │ ├── ResizablePanel.cs │ │ │ ├── Swatches.xaml.cs │ │ │ ├── TabControlEx.cs │ │ │ └── TabItemEx.cs │ │ ├── Converters/ │ │ │ ├── BooleanToVisibilityConverter.cs │ │ │ ├── ColorToSolidColorBrushConverter.cs │ │ │ ├── DebugConverter.cs │ │ │ ├── EnumValuesConverter.cs │ │ │ ├── InverseBooleanConverter.cs │ │ │ ├── MultiValueEqualityConverter.cs │ │ │ ├── RandomBrushConverter.cs │ │ │ ├── ResizeDirectionToVisiblityConverter.cs │ │ │ ├── StringToVisibilityConverter.cs │ │ │ └── ToStringConverter.cs │ │ ├── DelegateCommand.cs │ │ ├── FluentSyntax.cs │ │ ├── GlobalUsings.cs │ │ ├── Nodify.Shared.csproj │ │ ├── NodifyObservableCollection.cs │ │ ├── ObservableObject.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── RequeryCommand.cs │ │ ├── StringExtensions.cs │ │ ├── ThemeManager.cs │ │ ├── Themes/ │ │ │ ├── Brushes.xaml │ │ │ ├── Controls.xaml │ │ │ ├── Dark.xaml │ │ │ ├── Generic.xaml │ │ │ ├── Icons.xaml │ │ │ ├── Light.xaml │ │ │ └── Nodify.xaml │ │ └── UndoRedo/ │ │ ├── ActionsHistory.cs │ │ ├── BatchAction.cs │ │ ├── DelegateAction.cs │ │ ├── PropertyCache.cs │ │ └── Undoable.cs │ └── Nodify.StateMachine/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── BlackboardItemReferenceViewModel.cs │ ├── BlackboardItemViewModel.cs │ ├── BlackboardKeyEditorView.xaml │ ├── BlackboardKeyEditorView.xaml.cs │ ├── BlackboardKeyEditorViewModel.cs │ ├── BlackboardKeyViewModel.cs │ ├── BlackboardViewModel.cs │ ├── Converters/ │ │ ├── BlackboardKeyEditorConverter.cs │ │ ├── ConnectorOffsetConverter.cs │ │ ├── DrawingBrushToRectangleConverter.cs │ │ └── FilterBlackboardKeysConverter.cs │ ├── GlobalUsings.cs │ ├── Helpers/ │ │ └── BlackboardDescriptor.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Nodify.StateMachine.csproj │ ├── Program.cs │ ├── Runner/ │ │ ├── Actions/ │ │ │ ├── CopyKeyAction.cs │ │ │ ├── SetKeyValueAction.cs │ │ │ └── SetStateDelayAction.cs │ │ ├── Blackboard/ │ │ │ ├── Blackboard.cs │ │ │ ├── BlackboardConditionSet.cs │ │ │ ├── BlackboardItemAttribute.cs │ │ │ ├── BlackboardKey.cs │ │ │ ├── BlackboardProperty.cs │ │ │ ├── BlackboardPropertyAttribute.cs │ │ │ ├── IBlackboardAction.cs │ │ │ └── IBlackboardCondition.cs │ │ ├── Conditions/ │ │ │ ├── AreEqualCondition.cs │ │ │ ├── HasKeyCondition.cs │ │ │ └── HasValueCondition.cs │ │ ├── Debugging/ │ │ │ ├── DebugBlackboardDecorator.cs │ │ │ ├── DebugStateDecorator.cs │ │ │ └── DebugTransitionDecorator.cs │ │ ├── State.cs │ │ ├── StateMachine.cs │ │ └── Transition.cs │ ├── StateMachineRunnerViewModel.cs │ ├── StateMachineViewModel.cs │ ├── StateViewModel.cs │ ├── Themes/ │ │ ├── Brushes.xaml │ │ ├── Dark.xaml │ │ ├── Light.xaml │ │ └── Nodify.xaml │ └── TransitionViewModel.cs ├── LICENSE ├── Nodify/ │ ├── Compatibility/ │ │ ├── Attributes/ │ │ │ ├── ContentPropertyAttribute.cs │ │ │ └── StyleTypedPropertyAttribute.cs │ │ ├── Commands/ │ │ │ ├── ApplicationCommands.cs │ │ │ ├── CanExecuteRoutedEventArgs.cs │ │ │ ├── CommandBinding.cs │ │ │ ├── CommandManager.cs │ │ │ ├── ExecutedRoutedEventArgs.cs │ │ │ ├── RoutedCommand.cs │ │ │ └── RoutedUICommand.cs │ │ ├── Controls/ │ │ │ ├── GroupStyle.cs │ │ │ ├── MultiSelector.cs │ │ │ ├── Primitives/ │ │ │ │ └── IScrollInfo.cs │ │ │ ├── WpfControl.cs │ │ │ └── WpfShape.cs │ │ ├── DefaultStyleKeyProperty.cs │ │ ├── Dragging/ │ │ │ ├── DragCompletedEventArgs.cs │ │ │ ├── DragDeltaEventArgs.cs │ │ │ └── DragStartedEventArgs.cs │ │ ├── EmptyNamespaces.cs │ │ ├── Extensions/ │ │ │ ├── ControlCaptureExtensions.cs │ │ │ ├── PointExtensions.cs │ │ │ ├── SizeExtensions.cs │ │ │ ├── StreamGeometryContextExtensions.cs │ │ │ └── VisualExtensions.cs │ │ ├── Input/ │ │ │ ├── InputGesture.cs │ │ │ ├── InputGestureCollection.cs │ │ │ ├── InputKeyGesture.cs │ │ │ ├── MouseAction.cs │ │ │ ├── MouseButtonEventArgs.cs │ │ │ ├── MouseButtonState.cs │ │ │ ├── MouseEventArgs.cs │ │ │ ├── MouseGesture.cs │ │ │ ├── MouseMoveEventArgs.cs │ │ │ └── MouseWheelEventArgs.cs │ │ ├── PanelUtilities.cs │ │ └── VisualTreeHelper.cs │ ├── Connections/ │ │ ├── BaseConnection.Avalonia.cs │ │ ├── BaseConnection.cs │ │ ├── CircuitConnection.cs │ │ ├── Connection.cs │ │ ├── ConnectionContainer.Avalonia.cs │ │ ├── ConnectionContainer.cs │ │ ├── ConnectionsMultiSelector.Avalonia.cs │ │ ├── ConnectionsMultiSelector.cs │ │ ├── Connector.Avalonia.cs │ │ ├── Connector.cs │ │ ├── CuttingLine.cs │ │ ├── LineConnection.cs │ │ ├── PendingConnection.Avalonia.cs │ │ ├── PendingConnection.cs │ │ └── StepConnection.cs │ ├── DecoratorContainer.cs │ ├── DecoratorsControl.cs │ ├── EditorCommands.cs │ ├── EditorGestures.cs │ ├── EditorStates/ │ │ ├── ContainerDefaultState.cs │ │ ├── ContainerDraggingState.cs │ │ ├── ContainerState.cs │ │ ├── EditorCuttingState.cs │ │ ├── EditorDefaultState.cs │ │ ├── EditorPanningState.cs │ │ ├── EditorPushingItemsState.cs │ │ ├── EditorSelectingState.cs │ │ └── EditorState.cs │ ├── Events/ │ │ ├── ConnectionEventArgs.cs │ │ ├── ConnectorEventArgs.cs │ │ ├── PendingConnectionEventArgs.cs │ │ └── ResizeEventArgs.cs │ ├── GlobalUsings.cs │ ├── Helpers/ │ │ ├── BindableStyleClasses.cs │ │ ├── BoxValue.cs │ │ ├── DependencyObjectExtensions.cs │ │ ├── DraggingOptimized.cs │ │ ├── DraggingSimple.cs │ │ ├── MathExtensions.cs │ │ ├── MultiGesture.cs │ │ ├── PushItemsStrategy.cs │ │ ├── SelectionHelper.cs │ │ └── UnscaleTransformConverter.cs │ ├── ItemContainer.Avalonia.cs │ ├── ItemContainer.cs │ ├── Minimap/ │ │ ├── Minimap.Avalonia.cs │ │ ├── Minimap.cs │ │ ├── MinimapItem.cs │ │ ├── MinimapPanel.Avalonia.cs │ │ ├── MinimapPanel.cs │ │ ├── SubtractConverter.cs │ │ └── ZoomEventArgs.cs │ ├── Nodes/ │ │ ├── GroupingNode.cs │ │ ├── KnotNode.cs │ │ ├── Node.Avalonia.cs │ │ ├── Node.cs │ │ ├── NodeInput.Avalonia.cs │ │ ├── NodeInput.cs │ │ ├── NodeOutput.Avalonia.cs │ │ ├── NodeOutput.cs │ │ └── StateNode.cs │ ├── Nodify.csproj │ ├── Nodify.csproj.DotSettings │ ├── NodifyCanvas.cs │ ├── NodifyEditor.Avalonia.cs │ ├── NodifyEditor.PushingItems.cs │ ├── NodifyEditor.Scrolling.cs │ ├── NodifyEditor.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Theme.axaml │ └── Themes/ │ ├── Brushes.xaml │ ├── Controls.xaml │ ├── Dark.xaml │ ├── Generic.xaml │ ├── Light.xaml │ ├── Nodify.xaml │ ├── NodifyStyle.axaml │ └── Styles/ │ ├── Connection.xaml │ ├── Connector.xaml │ ├── Controls.xaml │ ├── CuttingLine.xaml │ ├── DecoratorContainer.xaml │ ├── GroupingNode.xaml │ ├── ItemContainer.xaml │ ├── KnotNode.xaml │ ├── Minimap.xaml │ ├── Node.xaml │ ├── NodeInput.xaml │ ├── NodeOutput.xaml │ ├── NodifyEditor.xaml │ ├── PendingConnection.xaml │ └── StateNode.xaml ├── Nodify.sln ├── Nodify.sln.DotSettings ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── build/ │ ├── Nodify.public.snk │ └── Nodify.snk ├── build_cloudflare.sh └── docs/ ├── API-Reference.md ├── Connections-Overview.md ├── Connectors-Overview.md ├── CuttingLine-Overview.md ├── Documentation.md ├── Editor-Overview.md ├── FAQ.md ├── Getting-Started.md ├── Home.md ├── ItemContainer-Overview.md ├── Minimap-Overview.md ├── Nodes-Overview.md ├── _Sidebar.md └── localization/ └── zh-CN/ ├── API-Reference.md ├── _Sidebar.md ├── 主页.md ├── 开始.md ├── 编辑器概述.md ├── 节点概述.md ├── 连接器概述.md ├── 连接概述.md ├── 问答.md └── 项目容器概述.md