├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── main.yml ├── .gitignore ├── Actions ├── ActionExtensions.cs ├── AddVariableInputAction.cs ├── AddVariableOutputAction.cs ├── DebuggingAidsAction.cs ├── DefaultEditorActionFactory.cs ├── DeleteAction.cs ├── DuplicateAction.cs ├── EditColorAction.cs ├── EditCommentAction.cs ├── EditDocumentationAction.cs ├── FindUsagesAction.cs ├── GoToDefinitionAction.cs ├── IEditorAction.cs ├── IEditorActionFactory.cs ├── IEditorContext.cs ├── RefactorAction.cs ├── RefreshExternalReferencesAction.cs ├── RemoveColorAction.cs ├── RemoveCommentAction.cs ├── RemoveVariableInputAction.cs ├── RemoveVariableOutputAction.cs ├── RequestContext.cs ├── ShowHelpAction.cs ├── ToggleBackgroundModifierAction.cs ├── ToggleDebugModifierAction.cs ├── ToggleDisableModifierAction.cs ├── ToggleModifierAction.cs └── ToggleRootModifierAction.cs ├── AppVersion.cs ├── AssemblyInfo.cs ├── CHANGES.md ├── Configuration.cs ├── Fonts ├── Lato-Bold.ttf ├── Lato-Italic.ttf └── Lato-Regular.ttf ├── GraphEditor.cs ├── GraphEditor.tscn ├── History ├── EditorOpenTab.cs ├── EditorState.cs ├── HistoryStack.cs └── HistoryStackItem.cs ├── Icons ├── add0000.png ├── add0000.png.import ├── align_bottom0000.png ├── align_bottom0000.png.import ├── align_left0000.png ├── align_left0000.png.import ├── align_right0000.png ├── align_right0000.png.import ├── align_top0000.png ├── align_top0000.png.import ├── and0000.png ├── and0000.png.import ├── background0000.png ├── background0000.png.import ├── cast0000.png ├── cast0000.png.import ├── close0000.png ├── close0000.png.import ├── comment0000.png ├── comment0000.png.import ├── comment_selected0000.png ├── comment_selected0000.png.import ├── comment_unselected0000.png ├── comment_unselected0000.png.import ├── copy0000.png ├── copy0000.png.import ├── cut0000.png ├── cut0000.png.import ├── debug0000.png ├── debug0000.png.import ├── delete0000.png ├── delete0000.png.import ├── divide0000.png ├── divide0000.png.import ├── double0000.png ├── double0000.png.import ├── down0000.png ├── down0000.png.import ├── duplicate0000.png ├── duplicate0000.png.import ├── equal0000.png ├── equal0000.png.import ├── eraser0000.png ├── eraser0000.png.import ├── exp0000.png ├── exp0000.png.import ├── extract0000.png ├── extract0000.png.import ├── function0000.png ├── function0000.png.import ├── greater0000.png ├── greater0000.png.import ├── greater_equal0000.png ├── greater_equal0000.png.import ├── half0000.png ├── half0000.png.import ├── help0000.png ├── help0000.png.import ├── icons.comp ├── import0000.png ├── import0000.png.import ├── less0000.png ├── less0000.png.import ├── less_equal0000.png ├── less_equal0000.png.import ├── logfile0000.png ├── logfile0000.png.import ├── logo.comp ├── logo0000.icns ├── logo0000.ico ├── logo0000.png ├── logo0000.png.import ├── minus0000.png ├── minus0000.png.import ├── minus_one0000.png ├── minus_one0000.png.import ├── module0000.png ├── module0000.png.import ├── modulus0000.png ├── modulus0000.png.import ├── negate0000.png ├── negate0000.png.import ├── node_big_selected0000.png ├── node_big_selected0000.png.import ├── node_big_unselected0000.png ├── node_big_unselected0000.png.import ├── node_overlays.comp ├── node_simple_selected0000.png ├── node_simple_selected0000.png.import ├── node_simple_unselected0000.png ├── node_simple_unselected0000.png.import ├── nodes.comp ├── not0000.png ├── not0000.png.import ├── openscad_logo.png ├── openscad_logo.png.import ├── or0000.png ├── or0000.png.import ├── pairwise_multiply0000.png ├── pairwise_multiply0000.png.import ├── paste0000.png ├── paste0000.png.import ├── pencil0000.png ├── pencil0000.png.import ├── plus0000.png ├── plus0000.png.import ├── plus_one0000.png ├── plus_one0000.png.import ├── range0000.png ├── range0000.png.import ├── redo0000.png ├── redo0000.png.import ├── root0000.png ├── root0000.png.import ├── scad_builtin0000.png ├── scad_builtin0000.png.import ├── straighten0000.png ├── straighten0000.png.import ├── sum0000.png ├── sum0000.png.import ├── times0000.png ├── times0000.png.import ├── transitive_import0000.png ├── transitive_import0000.png.import ├── undo0000.png ├── undo0000.png.import ├── unused0000.png ├── unused0000.png.import ├── up0000.png ├── up0000.png.import ├── variable0000.png ├── variable0000.png.import ├── vector2merge0000.png ├── vector2merge0000.png.import ├── vector2split0000.png ├── vector2split0000.png.import ├── vector3merge0000.png ├── vector3merge0000.png.import ├── vector3split0000.png ├── vector3split0000.png.import ├── wireless0000.png └── wireless0000.png.import ├── JetBrainsMono-Regular.ttf ├── LICENSE ├── Library ├── BuiltInLibrary.cs ├── BuiltIns.cs ├── BuiltinsAddDialogEntryFactory.cs ├── CustomizerType.cs ├── External │ ├── DocumentationComment.cs │ ├── ExternalFileParser.cs │ ├── ExternalFilePathMode.cs │ ├── ExternalReference.cs │ ├── ExternalReferenceBuilder.cs │ ├── ExternalUnit.cs │ ├── IncludeMode.cs │ ├── OpenScadVisitor.cs │ └── PathResolver.cs ├── FunctionBuilder.cs ├── FunctionDescription.cs ├── IO │ ├── BrokenFileException.cs │ ├── FileBackups.cs │ ├── IoExt.cs │ ├── SavedConnection.cs │ ├── SavedExternalReference.cs │ ├── SavedFunctionDescription.cs │ ├── SavedGraph.cs │ ├── SavedInvokableDescription.cs │ ├── SavedMainModuleDescription.cs │ ├── SavedModuleDescription.cs │ ├── SavedNode.cs │ ├── SavedParameterDescription.cs │ ├── SavedProject.cs │ ├── SavedVariableCustomizerDescription.cs │ └── SavedVariableDescription.cs ├── IReferenceResolver.cs ├── InvokableDescription.cs ├── MainModuleDescription.cs ├── ModuleBuilder.cs ├── ModuleDescription.cs ├── NodeFactory.cs ├── ParameterDescription.cs ├── ProjectAddDialogEntryFactory.cs ├── ScadGraph.cs ├── ScadProject.cs ├── UsagePointInformation.cs ├── VariableBuilder.cs ├── VariableCustomizerConstraintType.cs ├── VariableCustomizerDescription.cs └── VariableDescription.cs ├── Nodes ├── AddOperator.cs ├── AndOperator.cs ├── BinaryComparisonOperator.cs ├── BinaryOperator.cs ├── BooleanLiteral.cs ├── BooleanOperator.cs ├── Branch.cs ├── Cast.cs ├── Child.cs ├── Children.cs ├── Chr.cs ├── Comment.cs ├── Concat.cs ├── ConnectionRules.cs ├── ConstructAffineTransformationMatrix.cs ├── ConstructRange.cs ├── ConstructVector │ ├── ConstructVector.cs │ ├── ConstructVectorAny.cs │ ├── ConstructVectorNumber.cs │ ├── ConstructVectorString.cs │ ├── ConstructVectorVector2.cs │ ├── ConstructVectorVector3.cs │ └── IAmAVectorConstruction.cs ├── ConstructVector2.cs ├── ConstructVector3.cs ├── Difference.cs ├── DivideOperator.cs ├── Double.cs ├── Echo.cs ├── EntryPoint.cs ├── EqualOperator.cs ├── ExponentiationOperator.cs ├── FlipBinaryOperatorInputsAction.cs ├── FlipBinaryOperatorInputsRefactoring.cs ├── ForLoop │ ├── ForLoopAddDialogEntryFactory.cs │ ├── ForLoopEnd.cs │ ├── ForLoopStart.cs │ ├── ToggleIntersectModeAction.cs │ └── ToggleIntersectModeRefactoring.cs ├── FunctionEntryPoint.cs ├── FunctionInvocation.cs ├── FunctionReturn.cs ├── GetVariable.cs ├── GetterSetterAddDialogEntryFactory.cs ├── GreaterEqualOperator.cs ├── GreaterThanOperator.cs ├── Half.cs ├── IAmAnExpression.cs ├── IAmBoundToOtherNode.cs ├── ICanHaveModifier.cs ├── ICanHaveMultipleInputConnections.cs ├── ICannotBeCreated.cs ├── ICannotBeDeleted.cs ├── IHaveCustomWidget.cs ├── IHaveNodeBackground.cs ├── IHaveVariableInputSize.cs ├── IHaveVariableOutputSize.cs ├── IImplyChildren.cs ├── IReferToAFunction.cs ├── IReferToAVariable.cs ├── IReferToAnInvokable.cs ├── IScadLiteral.cs ├── IndexVector.cs ├── Intersection.cs ├── LessEqualOperator.cs ├── LessThanOperator.cs ├── Let │ ├── LetAddDialogEntryFactory.cs │ ├── LetBlockEnd.cs │ ├── LetBlockStart.cs │ ├── LetExpressionEnd.cs │ └── LetExpressionStart.cs ├── ListComprehension │ ├── Each.cs │ ├── FilterIf.cs │ ├── ForComprehensionEnd.cs │ ├── ForComprehensionStart.cs │ ├── IAmAListComprehensionExpression.cs │ └── ListComprehensionAddDialogEntryFactory.cs ├── LiteralBase.cs ├── LiteralBoolean.cs ├── LiteralNumber.cs ├── LiteralString.cs ├── LiteralType.cs ├── Max.cs ├── Min.cs ├── MinusOne.cs ├── ModuleEntryPoint.cs ├── ModuleInvocation.cs ├── ModuloOperator.cs ├── MultiplyOperator.cs ├── NameLiteral.cs ├── NegateOperator.cs ├── NotEqualOperator.cs ├── NotOperator.cs ├── NumberLiteral.cs ├── OrOperator.cs ├── PairwiseMultiply.cs ├── PairwiseMultiplyVector2.cs ├── PairwiseMultiplyVector3.cs ├── PlusOne.cs ├── PortDefinition.cs ├── PortId.cs ├── PortType.cs ├── RenderHint.cs ├── Reroute │ ├── ChangeRerouteTypeRefactoring.cs │ ├── FixRerouteTypeRefactoring.cs │ ├── RerouteNode.cs │ ├── RerouteNodeExt.cs │ ├── ToggleWirelessAction.cs │ └── ToggleWirelessRefactoring.cs ├── ScadConnection.cs ├── ScadConnectionExt.cs ├── ScadNode.cs ├── ScadNodeComment.cs ├── ScadNodeModifier.cs ├── SetVariable.cs ├── SplitVector2.cs ├── SplitVector3.cs ├── Str.cs ├── StringEnum │ └── StringEnum.cs ├── StringLiteral.cs ├── SubtractOperator.cs ├── Sum │ ├── DeleteUnassignableConnectionsRefactoring.cs │ ├── FixSumPortTypesRefactoring.cs │ └── Sum.cs ├── SwitchableBinaryOperator │ ├── ChangeOperatorTypeAction.cs │ ├── ChangeOperatorTypeActionFactory.cs │ ├── ChangeOperatorTypeRefactoring.cs │ ├── ChangeSecondaryPortTypeAction.cs │ ├── ChangeSecondaryPortTypeActionFactory.cs │ ├── FixSwitchableBinaryOperatorPortTypesRefactoring.cs │ ├── FlipSwitchableBinaryOperatorInputsAction.cs │ ├── FlipSwitchableBinaryOperatorInputsRefactoring.cs │ ├── SwitchBinaryOperatorInputPortTypesRefactoring.cs │ └── SwitchableBinaryOperator.cs ├── TernaryOperator.cs ├── Vector2Literal.cs └── Vector3Literal.cs ├── OpenScadGraphEditor.csproj ├── OpenScadGraphEditor.sln ├── OpenScadGraphEditor.sln.DotSettings ├── OpenScadLexer.g4 ├── OpenScadParser.g4 ├── README.md ├── Refactorings ├── AddConnectionRefactoring.cs ├── AddInvokableParametersRefactoring.cs ├── AddNodeRefactoring.cs ├── AddOrUpdateExternalReferenceRefactoring.cs ├── AddVariableInputRefactoring.cs ├── AddVariableOutputRefactoring.cs ├── ChangeCommentRefactoring.cs ├── ChangeFunctionReturnTypeRefactoring.cs ├── ChangeInvokableDocumentationRefactoring.cs ├── ChangeInvokableParameterOptionalStateRefactoring.cs ├── ChangeInvokableParameterTypeRefactoring.cs ├── ChangeNodePositionRefactoring.cs ├── ChangeNodeSizeRefactoring.cs ├── ChangeParameterOrderRefactoring.cs ├── ChangeProjectPreambleRefactoring.cs ├── ChangeVariableCustomizerSettingsRefactoring.cs ├── ChangeVariableDefaultValueRefactoring.cs ├── ChangeVariableDocumentationRefactoring.cs ├── ChangeVariableTypeRefactoring.cs ├── DefaultUserSelectableRefactoringFactory.cs ├── DeleteConnectionRefactoring.cs ├── DeleteExternalReferenceRefactoring.cs ├── DeleteInputConnectionsRefactoring.cs ├── DeleteInvokableParametersRefactoring.cs ├── DeleteInvokableRefactoring.cs ├── DeleteNodeRefactoring.cs ├── DeleteOutputConnectionsRefactoring.cs ├── DeleteVariableRefactoring.cs ├── DisableChildrenRefactoring.cs ├── DuplicateInvokableRefactoring.cs ├── DuplicateVariableRefactoring.cs ├── EnableChildrenRefactoring.cs ├── ExternalReferenceMatchingExt.cs ├── ExtractInvokableRefactoring.cs ├── IProvideTicketData.cs ├── IUserSelectableRefactoringFactory.cs ├── IntroduceInvokableRefactoring.cs ├── IntroduceVariableRefactoring.cs ├── NodeRefactoring.cs ├── PasteNodesRefactoring.cs ├── Refactoring.cs ├── RefactoringContext.cs ├── RefactoringData.cs ├── RefactoringDataKey.cs ├── RefactoringExt.cs ├── RefreshExternalReferencesRefactoring.cs ├── RemoveVariableInputRefactoring.cs ├── RemoveVariableOutputRefactoring.cs ├── RenameInvokableParameterRefactoring.cs ├── RenameInvokableRefactoring.cs ├── RenameVariableRefactoring.cs ├── ReplaceExternalReferencesRefactoring.cs ├── SetLiteralValueRefactoring.cs ├── ToggleLiteralRefactoring.cs ├── ToggleModifierRefactoring.cs └── UserSelectableNodeRefactoring.cs ├── ReplaceIcon.gd ├── TestData ├── base_file_a.scad ├── base_file_b.scad ├── comment_parsing.scad ├── external_example.scad ├── include_a_b_1.scad └── include_a_b_2.scad ├── Tests ├── AddDialogTest.cs ├── BaseTest.cs ├── ConnectionTest.cs ├── Data │ └── import_test.scad ├── DocumentationTests.cs ├── Drivers │ ├── AddDialogDriver.cs │ ├── DocumentationDialogDriver.cs │ ├── FileDialogDriver.cs │ ├── HelpDialogDriver.cs │ ├── IconButtonDriver.cs │ ├── ImportDialogDriver.cs │ ├── InvokableRefactorDialogDriver.cs │ ├── InvokableRefactorDialogParameterLineDriver.cs │ ├── LineEditExt.cs │ ├── MainWindowDriver.cs │ ├── ScadNodeWidgetDriver.cs │ ├── TreeDriver.cs │ └── Vector3EditDriver.cs ├── ImportTest.cs ├── LiteralTests.cs ├── MainWindowTest.cs ├── ModuleTests.cs └── ParameterRefactoringTests.cs ├── Utils ├── DoubleExt.cs ├── EnumerableExt.cs ├── KeyMap.cs ├── Prefabs.cs ├── ReflectionExt.cs ├── Resources.cs └── StringExt.cs ├── Widgets ├── AddDialog │ ├── AddDialog.cs │ ├── AddDialog.tscn │ ├── BoundPairBasedEntry.cs │ ├── EntryFittingDecision.cs │ ├── IAddDialogEntry.cs │ ├── IAddDialogEntryFactory.cs │ └── SingleNodeBasedEntry.cs ├── BooleanEdit.cs ├── ColorButton │ ├── ColorButton.cs │ └── ColorButton.tscn ├── CommentEditingDialog │ ├── CommentEditingDialog.cs │ └── CommentEditingDialog.tscn ├── CommentWidget.cs ├── DocumentationDialog │ ├── DocumentationDialog.cs │ └── DocumentationDialog.tscn ├── DragData.cs ├── EditingInterface │ ├── EditingInterface.cs │ └── EditingInterface.tscn ├── FileSelectBox │ ├── FileSelectBox.cs │ └── FileSelectBox.tscn ├── FileSelector.cs ├── Foldout.cs ├── GraphLayouter.cs ├── HelpDialog │ ├── HelpDialog.cs │ └── HelpDialog.tscn ├── IScadLiteralWidget.cs ├── IconButton │ ├── IconButton.cs │ └── IconButton.tscn ├── ImportDialog │ ├── ImportDialog.cs │ └── ImportDialog.tscn ├── InvokableRefactorDialog │ ├── DialogMode.cs │ ├── InvokableRefactorDialog.cs │ └── InvokableRefactorDialog.tscn ├── LineEditBase.cs ├── LiteralWidgetBase.cs ├── LiteralWidgetFactory.cs ├── LogConsole │ ├── LogConsole.cs │ └── LogConsole.tscn ├── NameEdit.cs ├── NodeColorDialog │ ├── NodeColorDialog.cs │ └── NodeColorDialog.tscn ├── NotificationBubble │ ├── NotificationBubble.cs │ └── NotificationBubble.tscn ├── NotificationService.cs ├── NumberEdit.cs ├── NumberSlider.cs ├── NumberSpinEdit.cs ├── OpenButton.cs ├── PortContainer │ ├── PortContainer.cs │ ├── PortContainer.tscn │ └── node_inner_theme.tres ├── PortTypeSelector.cs ├── ProjectTree │ ├── ExternalReferenceTreeEntry.cs │ ├── ProjectTree.cs │ ├── ProjectTreeEntry.cs │ ├── RootProjectTreeEntry.cs │ ├── ScadInvokableTreeEntry.cs │ ├── ScadMainModuleTreeEntry.cs │ └── ScadVariableTreeEntry.cs ├── QuickAction.cs ├── QuickActionsPopup.cs ├── RerouteNodeWidget.cs ├── RotateContainer.cs ├── ScadConfirmationDialog.cs ├── ScadGraphEdit.cs ├── ScadNodeWidget.cs ├── SelectBox.cs ├── SelectOnFocusLineEdit.cs ├── SettingsDialog │ ├── SettingsDialog.cs │ └── SettingsDialog.tscn ├── SimpleNodeWidgetTheme.tres ├── SmallNodeWidget.cs ├── SpinEditLiteralWidgetBase.cs ├── StandardNodeWidgetTheme.tres ├── StringEdit.cs ├── StylusDebugDialog │ ├── StylusDebugDialog.cs │ └── StylusDebugDialog.tscn ├── UIScaling.cs ├── UsageDialog │ ├── UsageDialog.cs │ └── UsageDialog.tscn ├── ValidityChecker.cs ├── VariableCustomizer │ ├── VariableCustomizer.cs │ └── VariableCustomizer.tscn ├── VariableRefactorDialog │ ├── DialogMode.cs │ ├── VariableRefactorDialog.cs │ └── VariableRefactorDialog.tscn ├── Vector2Edit.cs ├── Vector2SpinEdit.cs ├── Vector3Edit.cs └── Vector3SpinEdit.cs ├── addons └── GodotXUnit │ ├── .gitignore │ ├── Directory.Build.props │ ├── GodotTestRunner.cs │ ├── GodotXUnitApi │ ├── GDI.cs │ ├── GDU.cs │ ├── GodotFactAttribute.cs │ ├── GodotXUnitEvents.cs │ └── Internal │ │ ├── Consts.cs │ │ ├── Extensions.cs │ │ ├── GodotFactDiscoverer.cs │ │ ├── GodotTestCase.cs │ │ ├── GodotTestOutputHelper.cs │ │ ├── GodotXUnitRunnerBase.cs │ │ ├── MessagePassing.cs │ │ ├── ProjectListing.cs │ │ └── WorkFiles.cs │ ├── LICENSE │ ├── Plugin.cs │ ├── README │ ├── XUnitDock.cs │ ├── XUnitDock.tscn │ ├── assets │ ├── check.png │ ├── check.png.import │ ├── error.png │ ├── error.png.import │ ├── running.png │ ├── running.png.import │ ├── warn.png │ └── warn.png.import │ ├── plugin.cfg │ └── runner │ ├── EmptyScene.tscn │ ├── GodotTestEntry.gd │ ├── GodotTestRunnerScene.tscn │ └── RiderTestRunner │ ├── Runner.cs │ └── Runner.tscn ├── default_env.tres ├── editor_font.tres ├── entitlements.plist ├── export_presets.cfg ├── global.json ├── icon.png ├── icon.png.import ├── manual ├── faq.md ├── images │ ├── .gdignore │ ├── add_item.png │ ├── add_loop_nest_level.png │ ├── add_node.gif │ ├── add_node_by_dragging.gif │ ├── add_one_node.png │ ├── add_operator.png │ ├── add_two_numbers_example.png │ ├── background_modifier.png │ ├── backup_configuration.png │ ├── boolean_operators.png │ ├── branch.png │ ├── cast.png │ ├── change_operator.gif │ ├── changing_color.gif │ ├── code_preview.png │ ├── construct_vector23.png │ ├── construct_vectorxy.png │ ├── create_function.gif │ ├── create_module.gif │ ├── create_variable.gif │ ├── ctrl_selections.gif │ ├── current_project_preamble.png │ ├── debug_modifier.png │ ├── debugging_aids_context_menu.png │ ├── default_parameters.gif │ ├── default_preamble.png │ ├── disable_modifier.png │ ├── documentation_dialog.png │ ├── documentation_in_code.png │ ├── double_node.png │ ├── drag_module.gif │ ├── drag_selections_add.gif │ ├── duplicate_module.gif │ ├── duplicate_variable.gif │ ├── edit_documentation_popup.png │ ├── edit_variable.gif │ ├── enabling_live_preview.png │ ├── extract_function.gif │ ├── flip_inputs.gif │ ├── flow_example_1.png │ ├── flow_example_2.png │ ├── getting_setting_variables.gif │ ├── half_node.png │ ├── help_screen.gif │ ├── implicit_union_example.png │ ├── implicit_union_example_2.png │ ├── include_files.gif │ ├── index_vector_string.png │ ├── inspect_expression.png │ ├── intermediate_results_without_variables.png │ ├── intersect_for.gif │ ├── literals_example.png │ ├── loop_example.png │ ├── loop_example_1d.png │ ├── loop_example_2d.png │ ├── make_root_modifier.png │ ├── nested_loop_example.png │ ├── node_comments.gif │ ├── node_overview.png │ ├── open_file.png │ ├── operator_module_example.png │ ├── operator_module_usage_example.png │ ├── pairwise_multiply.png │ ├── port_colors.png │ ├── refactoring_dialog.png │ ├── refactoring_popup.png │ ├── refresh_reference.png │ ├── remove_item.png │ ├── reroute_delete_keep_connections.gif │ ├── screenshot.png │ ├── shift_drag_selection.gif │ ├── split_vector23.png │ ├── starting_live_preview.png │ ├── string_enum_add_remove.png │ ├── string_enum_after.png │ ├── string_enum_before.png │ ├── subtract_one_node.png │ ├── sum_node.png │ ├── unintuitive_variables.png │ ├── usage_search.gif │ ├── using_external_functionality.gif │ ├── using_reroute_nodes.gif │ ├── variable_order1.png │ ├── variable_order2.png │ ├── variables_panel.gif │ └── windows11_pen_settings.png └── manual.md ├── project.godot └── ui_theme.tres /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: derkork 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help improve OpenSCAD Graph Editor 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [Windows 10, Ubuntu 22.04, OSX 12.0.1] 28 | - Version of OpenSCAD Graph Editor: [0.9.2] 29 | 30 | **Additional context** 31 | Add any other context about the problem here. 32 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for OpenSCAD Graph Editor 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | /.mono/ 3 | /.import/ 4 | /gen/ 5 | /builds/ 6 | 7 | mono_crash* 8 | *graph.tres* 9 | 10 | *.DotSettings.user 11 | /*.tokens 12 | -------------------------------------------------------------------------------- /Actions/AddVariableInputAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Refactorings; 4 | using OpenScadGraphEditor.Widgets; 5 | 6 | namespace OpenScadGraphEditor.Actions 7 | { 8 | [UsedImplicitly] 9 | public class AddVariableInputAction : IEditorAction 10 | { 11 | public int Order => 0; 12 | public string Group => "Input Ports"; 13 | 14 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 15 | { 16 | if (item.TryGetNode(out var graph, out var node) 17 | && node is IHaveVariableInputSize variableInputSize) 18 | { 19 | var title = variableInputSize.AddRefactoringTitle; 20 | result = new QuickAction(title, 21 | () => context.PerformRefactoring(title, new AddVariableInputRefactoring(graph, node))); 22 | return true; 23 | } 24 | result = default; 25 | return false; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Actions/DebuggingAidsAction.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Widgets; 2 | 3 | namespace OpenScadGraphEditor.Actions 4 | { 5 | public abstract class DebuggingAidsAction : IEditorAction 6 | { 7 | public abstract int Order { get; } 8 | public string Group => "-Debugging Aids"; 9 | public abstract bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result); 10 | } 11 | } -------------------------------------------------------------------------------- /Actions/DefaultEditorActionFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Actions 6 | { 7 | /// 8 | /// Default factory for editor actions. This automatically creates all editor actions which have 9 | /// a parameterless constructor. 10 | /// 11 | [UsedImplicitly] 12 | public class DefaultEditorActionFactory : IEditorActionFactory 13 | { 14 | public IEnumerable CreateActions() => 15 | typeof(IEditorAction) 16 | .GetImplementors() 17 | .CreateInstances(); 18 | } 19 | } -------------------------------------------------------------------------------- /Actions/EditColorAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Widgets; 4 | 5 | namespace OpenScadGraphEditor.Actions 6 | { 7 | [UsedImplicitly] 8 | public class EditColorAction : DebuggingAidsAction 9 | { 10 | public override int Order => 5000; 11 | 12 | public override bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 13 | { 14 | if (item.TryGetNode(out var graph, out var node) && node is ICanHaveModifier) 15 | { 16 | result = new QuickAction("Set color", () => context.EditNodeColor(graph, node)); 17 | return true; 18 | } 19 | 20 | result = default; 21 | return false; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Actions/EditDocumentationAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Widgets; 3 | 4 | namespace OpenScadGraphEditor.Actions 5 | { 6 | [UsedImplicitly] 7 | public class EditDocumentationAction : IEditorAction 8 | { 9 | public int Order => 8000; 10 | public string Group => ""; 11 | 12 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 13 | { 14 | if (item.IsEditableInvokable(context, out var invokableDescription)) 15 | { 16 | result = new QuickAction($"Edit documentation of {invokableDescription.Name}", 17 | () => context.OpenDocumentationDialog(invokableDescription)); 18 | return true; 19 | } 20 | 21 | result = default; 22 | return false; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Actions/GoToDefinitionAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Widgets; 4 | 5 | namespace OpenScadGraphEditor.Actions 6 | { 7 | [UsedImplicitly] 8 | public class GoToDefinitionAction : IEditorAction 9 | { 10 | public int Order => 1500; 11 | public string Group => ""; 12 | 13 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 14 | { 15 | if (item.IsEditableInvokable(context, out var invokableDescription) && !item.IsEntryPoint()) 16 | { 17 | result = new QuickAction($"Go to definition of {invokableDescription.Name}", 18 | () => context.OpenGraph(invokableDescription) 19 | ); 20 | return true; 21 | } 22 | 23 | result = default; 24 | return false; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Actions/IEditorActionFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OpenScadGraphEditor.Actions 4 | { 5 | /// 6 | /// Factory class for editor actions. 7 | /// 8 | public interface IEditorActionFactory 9 | { 10 | IEnumerable CreateActions(); 11 | } 12 | } -------------------------------------------------------------------------------- /Actions/RefreshExternalReferencesAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Refactorings; 3 | using OpenScadGraphEditor.Widgets; 4 | 5 | namespace OpenScadGraphEditor.Actions 6 | { 7 | [UsedImplicitly] 8 | public class RefreshExternalReferencesAction : IEditorAction 9 | { 10 | public int Order => 9000; 11 | public string Group => ""; 12 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 13 | { 14 | if (item.IsDirectExternalReference(out var externalReference)) 15 | { 16 | var title = "Refresh external references"; 17 | result = new QuickAction(title, 18 | () => context.PerformRefactoring( title, new RefreshExternalReferencesRefactoring())); 19 | return true; 20 | } 21 | 22 | result = default; 23 | return false; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Actions/RemoveColorAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Refactorings; 4 | using OpenScadGraphEditor.Widgets; 5 | 6 | namespace OpenScadGraphEditor.Actions 7 | { 8 | [UsedImplicitly] 9 | public class RemoveColorAction : DebuggingAidsAction 10 | { 11 | public override int Order => 5100; 12 | 13 | public override bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 14 | { 15 | if (item.TryGetNode(out var graph, out var node) 16 | && node.GetModifiers().HasFlag(ScadNodeModifier.Color)) 17 | { 18 | result = new QuickAction("Clear color", 19 | () => context.PerformRefactoring("Remove color", 20 | new ToggleModifierRefactoring(graph, node, ScadNodeModifier.Color, false))); 21 | return true; 22 | } 23 | 24 | result = default; 25 | return false; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Actions/ShowHelpAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Widgets; 3 | 4 | namespace OpenScadGraphEditor.Actions 5 | { 6 | [UsedImplicitly] 7 | public class ShowHelpAction : IEditorAction 8 | { 9 | public int Order => 99999; 10 | public string Group => ""; 11 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 12 | { 13 | if (item.TryGetNode(out var graph, out var node)) 14 | { 15 | result = new QuickAction($"Show help", 16 | () => context.ShowHelp(graph, node)); 17 | return true; 18 | } 19 | 20 | result = default; 21 | return false; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Actions/ToggleBackgroundModifierAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Refactorings; 5 | using OpenScadGraphEditor.Widgets; 6 | 7 | namespace OpenScadGraphEditor.Actions 8 | { 9 | [UsedImplicitly] 10 | public class ToggleBackgroundModifierAction : ToggleModifierAction 11 | { 12 | public override int Order => 3000; 13 | 14 | protected override QuickAction BuildAction(IEditorContext context, ScadGraph graph, ScadNode node) 15 | { 16 | var hasBackground = node.GetModifiers().HasFlag(ScadNodeModifier.Background); 17 | return new QuickAction("Background subtree", 18 | () => context.PerformRefactoring("Toggle: Background subtree", 19 | new ToggleModifierRefactoring(graph, node, ScadNodeModifier.Background, !hasBackground)), 20 | true, hasBackground); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Actions/ToggleDebugModifierAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Refactorings; 5 | using OpenScadGraphEditor.Widgets; 6 | 7 | namespace OpenScadGraphEditor.Actions 8 | { 9 | [UsedImplicitly] 10 | public class ToggleDebugModifierAction : ToggleModifierAction 11 | { 12 | public override int Order => 1000; 13 | 14 | protected override QuickAction BuildAction(IEditorContext context, ScadGraph graph, ScadNode node) 15 | { 16 | var hasDebug = node.GetModifiers().HasFlag(ScadNodeModifier.Debug); 17 | return new QuickAction("Debug subtree", 18 | () => context.PerformRefactoring("Toggle: Debug subtree", 19 | new ToggleModifierRefactoring(graph, node, ScadNodeModifier.Debug, !hasDebug)), true, 20 | hasDebug); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Actions/ToggleDisableModifierAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Refactorings; 5 | using OpenScadGraphEditor.Widgets; 6 | 7 | namespace OpenScadGraphEditor.Actions 8 | { 9 | [UsedImplicitly] 10 | public class ToggleDisableModifierAction : ToggleModifierAction 11 | { 12 | public override int Order => 4000; 13 | 14 | protected override QuickAction BuildAction(IEditorContext context, ScadGraph graph, ScadNode node) 15 | { 16 | 17 | var hasDisable = node.GetModifiers().HasFlag(ScadNodeModifier.Disable); 18 | return new QuickAction("Disable subtree", 19 | () => context.PerformRefactoring("Toggle: Disable subtree", 20 | new ToggleModifierRefactoring(graph, node, ScadNodeModifier.Disable, !hasDisable)), true, 21 | hasDisable); 22 | 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Actions/ToggleModifierAction.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Widgets; 4 | 5 | namespace OpenScadGraphEditor.Actions 6 | { 7 | public abstract class ToggleModifierAction : DebuggingAidsAction 8 | { 9 | public override bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 10 | { 11 | if (item.TryGetNode(out var graph, out var node) && node is ICanHaveModifier) 12 | { 13 | result = BuildAction(context, graph, node); 14 | return true; 15 | } 16 | 17 | result = default; 18 | return false; 19 | } 20 | 21 | protected abstract QuickAction BuildAction(IEditorContext context, ScadGraph graph, ScadNode node); 22 | } 23 | } -------------------------------------------------------------------------------- /Actions/ToggleRootModifierAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Refactorings; 5 | using OpenScadGraphEditor.Widgets; 6 | 7 | namespace OpenScadGraphEditor.Actions 8 | { 9 | [UsedImplicitly] 10 | public class ToggleRootModifierAction : ToggleModifierAction 11 | { 12 | public override int Order => 2000; 13 | 14 | protected override QuickAction BuildAction(IEditorContext context, ScadGraph graph, ScadNode node) 15 | { 16 | var hasRoot = node.GetModifiers().HasFlag(ScadNodeModifier.Root); 17 | return new QuickAction("Make node root", 18 | () => context.PerformRefactoring("Toggle: Make node root", 19 | new ToggleModifierRefactoring(graph, node, ScadNodeModifier.Root, !hasRoot)), true, 20 | hasRoot); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /AppVersion.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor 2 | { 3 | public static class AppVersion 4 | { 5 | public const string Version = "## Development Build ##"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | [assembly: CLSCompliant(false)] -------------------------------------------------------------------------------- /Fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /Fonts/Lato-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Fonts/Lato-Italic.ttf -------------------------------------------------------------------------------- /Fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /History/EditorOpenTab.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.History 4 | { 5 | /// 6 | /// Describes a tab that was open in the editor at a certain point in time. 7 | /// 8 | public class EditorOpenTab 9 | { 10 | /// 11 | /// The ID of the invokable that was loaded in the graph. 12 | /// 13 | public string InvokableId { get; } 14 | 15 | /// 16 | /// The scroll offset of the editor in the tab. 17 | /// 18 | public Vector2 ScrollOffset { get; } 19 | 20 | 21 | public EditorOpenTab(string invokableId, Vector2 scrollOffset) 22 | { 23 | InvokableId = invokableId; 24 | ScrollOffset = scrollOffset; 25 | } 26 | 27 | public bool DiffersFrom(EditorOpenTab otherOpenTab) 28 | { 29 | return InvokableId != otherOpenTab.InvokableId || ScrollOffset != otherOpenTab.ScrollOffset; 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /History/EditorState.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using GodotExt; 4 | 5 | namespace OpenScadGraphEditor.History 6 | { 7 | /// 8 | /// This holds the state of the editor at a certain point in time. 9 | /// 10 | public class EditorState 11 | { 12 | public List OpenTabs { get; } 13 | 14 | public int CurrentTabIndex { get; } 15 | 16 | public EditorState(IEnumerable openTabs, int currentTabIndex) 17 | { 18 | OpenTabs = openTabs.ToList(); 19 | GdAssert.That(currentTabIndex >= 0 && currentTabIndex < OpenTabs.Count, $"currentTabIndex is out of range (0 <= {currentTabIndex} < {OpenTabs.Count})"); 20 | CurrentTabIndex = currentTabIndex; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /History/HistoryStackItem.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library.IO; 2 | 3 | namespace OpenScadGraphEditor.History 4 | { 5 | /// 6 | /// A history stack item. It contains the name of the operation that was performed when this history 7 | /// item was created and the state of the project and the editor after the operation was performed. 8 | /// 9 | public class HistoryStackItem 10 | { 11 | public SavedProject ProjectState { get; } 12 | public EditorState EditorState { get; private set; } 13 | public string OperationName { get; } 14 | 15 | public HistoryStackItem(string operationName, SavedProject projectState, EditorState editorState) 16 | { 17 | ProjectState = projectState; 18 | EditorState = editorState; 19 | OperationName = operationName; 20 | } 21 | 22 | public void PatchEditorState(EditorState editorState) 23 | { 24 | EditorState = editorState; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Icons/add0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/add0000.png -------------------------------------------------------------------------------- /Icons/add0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/add0000.png-6c28ca4de423b2148878b3a69562e2d0.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/add0000.png" 13 | dest_files=[ "res://.import/add0000.png-6c28ca4de423b2148878b3a69562e2d0.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/align_bottom0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/align_bottom0000.png -------------------------------------------------------------------------------- /Icons/align_bottom0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/align_bottom0000.png-bd72d46c2270799423776a37ab80eab7.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/align_bottom0000.png" 13 | dest_files=[ "res://.import/align_bottom0000.png-bd72d46c2270799423776a37ab80eab7.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/align_left0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/align_left0000.png -------------------------------------------------------------------------------- /Icons/align_left0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/align_left0000.png-bad33092519b3ccb6ba6f906aa2a4c75.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/align_left0000.png" 13 | dest_files=[ "res://.import/align_left0000.png-bad33092519b3ccb6ba6f906aa2a4c75.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/align_right0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/align_right0000.png -------------------------------------------------------------------------------- /Icons/align_right0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/align_right0000.png-34e3190dead8c4bd188689566ea85271.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/align_right0000.png" 13 | dest_files=[ "res://.import/align_right0000.png-34e3190dead8c4bd188689566ea85271.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/align_top0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/align_top0000.png -------------------------------------------------------------------------------- /Icons/align_top0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/align_top0000.png-c551cc0a8881d6e0de04e8f8dd154277.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/align_top0000.png" 13 | dest_files=[ "res://.import/align_top0000.png-c551cc0a8881d6e0de04e8f8dd154277.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/and0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/and0000.png -------------------------------------------------------------------------------- /Icons/and0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/and0000.png-5986d6c851feb46c60d79062e0d9756f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/and0000.png" 13 | dest_files=[ "res://.import/and0000.png-5986d6c851feb46c60d79062e0d9756f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/background0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/background0000.png -------------------------------------------------------------------------------- /Icons/background0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/background0000.png-ac09e6e62a6d34952e7df778124460c6.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/background0000.png" 13 | dest_files=[ "res://.import/background0000.png-ac09e6e62a6d34952e7df778124460c6.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/cast0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/cast0000.png -------------------------------------------------------------------------------- /Icons/cast0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cast0000.png-1fd73a4e0d7844d247d0c43b8a508e51.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/cast0000.png" 13 | dest_files=[ "res://.import/cast0000.png-1fd73a4e0d7844d247d0c43b8a508e51.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/close0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/close0000.png -------------------------------------------------------------------------------- /Icons/close0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/close0000.png-3c69fbff098cf5402e15704ba1d5ec2a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/close0000.png" 13 | dest_files=[ "res://.import/close0000.png-3c69fbff098cf5402e15704ba1d5ec2a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/comment0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/comment0000.png -------------------------------------------------------------------------------- /Icons/comment0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/comment0000.png-44d23268974d20e861d3d70848adb1d3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/comment0000.png" 13 | dest_files=[ "res://.import/comment0000.png-44d23268974d20e861d3d70848adb1d3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/comment_selected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/comment_selected0000.png -------------------------------------------------------------------------------- /Icons/comment_selected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/comment_selected0000.png-13c6e7447b879e7efe4313b156fd233f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/comment_selected0000.png" 13 | dest_files=[ "res://.import/comment_selected0000.png-13c6e7447b879e7efe4313b156fd233f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/comment_unselected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/comment_unselected0000.png -------------------------------------------------------------------------------- /Icons/comment_unselected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/comment_unselected0000.png-db0b231cdc3e14032c1824d07a8a63ef.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/comment_unselected0000.png" 13 | dest_files=[ "res://.import/comment_unselected0000.png-db0b231cdc3e14032c1824d07a8a63ef.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/copy0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/copy0000.png -------------------------------------------------------------------------------- /Icons/copy0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/copy0000.png-8a9faa1a2d4b9c93fb81da2a9af3a9e3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/copy0000.png" 13 | dest_files=[ "res://.import/copy0000.png-8a9faa1a2d4b9c93fb81da2a9af3a9e3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/cut0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/cut0000.png -------------------------------------------------------------------------------- /Icons/cut0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cut0000.png-a734229231e0b4ba711a59ed9a1a979c.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/cut0000.png" 13 | dest_files=[ "res://.import/cut0000.png-a734229231e0b4ba711a59ed9a1a979c.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/debug0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/debug0000.png -------------------------------------------------------------------------------- /Icons/debug0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/debug0000.png-ac95660c7aa9ae2d58f978c8b687d919.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/debug0000.png" 13 | dest_files=[ "res://.import/debug0000.png-ac95660c7aa9ae2d58f978c8b687d919.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/delete0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/delete0000.png -------------------------------------------------------------------------------- /Icons/delete0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/delete0000.png-0bf36ab011229fccc7858d713e73bb75.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/delete0000.png" 13 | dest_files=[ "res://.import/delete0000.png-0bf36ab011229fccc7858d713e73bb75.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/divide0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/divide0000.png -------------------------------------------------------------------------------- /Icons/divide0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/divide0000.png-c3f4f6a69a5f5ceb544ba5bfa84e6fc9.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/divide0000.png" 13 | dest_files=[ "res://.import/divide0000.png-c3f4f6a69a5f5ceb544ba5bfa84e6fc9.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/double0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/double0000.png -------------------------------------------------------------------------------- /Icons/double0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/double0000.png-a7c648251206756ea361fd9393b4b887.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/double0000.png" 13 | dest_files=[ "res://.import/double0000.png-a7c648251206756ea361fd9393b4b887.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/down0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/down0000.png -------------------------------------------------------------------------------- /Icons/down0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/down0000.png-7a72d45f3ee4d0e43f31dffde1337c22.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/down0000.png" 13 | dest_files=[ "res://.import/down0000.png-7a72d45f3ee4d0e43f31dffde1337c22.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/duplicate0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/duplicate0000.png -------------------------------------------------------------------------------- /Icons/duplicate0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/duplicate0000.png-04a9c75ea4fb4ef502aaa1e207ad058e.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/duplicate0000.png" 13 | dest_files=[ "res://.import/duplicate0000.png-04a9c75ea4fb4ef502aaa1e207ad058e.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/equal0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/equal0000.png -------------------------------------------------------------------------------- /Icons/equal0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/equal0000.png-0bcf987a05cec1fb5a29ee30600b46f8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/equal0000.png" 13 | dest_files=[ "res://.import/equal0000.png-0bcf987a05cec1fb5a29ee30600b46f8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/eraser0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/eraser0000.png -------------------------------------------------------------------------------- /Icons/eraser0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/eraser0000.png-92921ae157419807507a9c176937c885.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/eraser0000.png" 13 | dest_files=[ "res://.import/eraser0000.png-92921ae157419807507a9c176937c885.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/exp0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/exp0000.png -------------------------------------------------------------------------------- /Icons/exp0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/exp0000.png-ce544bedb4f3193079761ea8c895fa09.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/exp0000.png" 13 | dest_files=[ "res://.import/exp0000.png-ce544bedb4f3193079761ea8c895fa09.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/extract0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/extract0000.png -------------------------------------------------------------------------------- /Icons/extract0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/extract0000.png-a2127433951bbfe70f537215b409e333.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/extract0000.png" 13 | dest_files=[ "res://.import/extract0000.png-a2127433951bbfe70f537215b409e333.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/function0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/function0000.png -------------------------------------------------------------------------------- /Icons/function0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/function0000.png-49b117f9e94aa975c575398fab484f4b.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/function0000.png" 13 | dest_files=[ "res://.import/function0000.png-49b117f9e94aa975c575398fab484f4b.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/greater0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/greater0000.png -------------------------------------------------------------------------------- /Icons/greater0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/greater0000.png-b59a2232a9aa1b10f335e3b7a4dd0aae.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/greater0000.png" 13 | dest_files=[ "res://.import/greater0000.png-b59a2232a9aa1b10f335e3b7a4dd0aae.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/greater_equal0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/greater_equal0000.png -------------------------------------------------------------------------------- /Icons/greater_equal0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/greater_equal0000.png-b324945f377a0e978a098ab3a23c470a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/greater_equal0000.png" 13 | dest_files=[ "res://.import/greater_equal0000.png-b324945f377a0e978a098ab3a23c470a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/half0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/half0000.png -------------------------------------------------------------------------------- /Icons/half0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/half0000.png-e41195a714be97008b28d9ca0c9a2786.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/half0000.png" 13 | dest_files=[ "res://.import/half0000.png-e41195a714be97008b28d9ca0c9a2786.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/help0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/help0000.png -------------------------------------------------------------------------------- /Icons/help0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/help0000.png-de27057e3f7b7faf68a3e8460bcaa300.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/help0000.png" 13 | dest_files=[ "res://.import/help0000.png-de27057e3f7b7faf68a3e8460bcaa300.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/import0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/import0000.png -------------------------------------------------------------------------------- /Icons/import0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/import0000.png-84b145b6514b2860d4447cd9b9171515.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/import0000.png" 13 | dest_files=[ "res://.import/import0000.png-84b145b6514b2860d4447cd9b9171515.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/less0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/less0000.png -------------------------------------------------------------------------------- /Icons/less0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/less0000.png-0beee356ac5715a3beaa371482a85764.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/less0000.png" 13 | dest_files=[ "res://.import/less0000.png-0beee356ac5715a3beaa371482a85764.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/less_equal0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/less_equal0000.png -------------------------------------------------------------------------------- /Icons/less_equal0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/less_equal0000.png-c5f86ba92319da54bb7273995c349c78.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/less_equal0000.png" 13 | dest_files=[ "res://.import/less_equal0000.png-c5f86ba92319da54bb7273995c349c78.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/logfile0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/logfile0000.png -------------------------------------------------------------------------------- /Icons/logfile0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/logfile0000.png-225b1e6a0509e933a5f463105c33a2e1.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/logfile0000.png" 13 | dest_files=[ "res://.import/logfile0000.png-225b1e6a0509e933a5f463105c33a2e1.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/logo0000.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/logo0000.icns -------------------------------------------------------------------------------- /Icons/logo0000.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/logo0000.ico -------------------------------------------------------------------------------- /Icons/logo0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/logo0000.png -------------------------------------------------------------------------------- /Icons/logo0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/logo0000.png-aabde9536aa248614b1aa648e1c5cd01.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/logo0000.png" 13 | dest_files=[ "res://.import/logo0000.png-aabde9536aa248614b1aa648e1c5cd01.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/minus0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/minus0000.png -------------------------------------------------------------------------------- /Icons/minus0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/minus0000.png-c4048e117b1ff11fff0c51fd489414e0.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/minus0000.png" 13 | dest_files=[ "res://.import/minus0000.png-c4048e117b1ff11fff0c51fd489414e0.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/minus_one0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/minus_one0000.png -------------------------------------------------------------------------------- /Icons/minus_one0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/minus_one0000.png-fa04284d108049c8ae7b17cccb5ca1b8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/minus_one0000.png" 13 | dest_files=[ "res://.import/minus_one0000.png-fa04284d108049c8ae7b17cccb5ca1b8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/module0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/module0000.png -------------------------------------------------------------------------------- /Icons/module0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/module0000.png-c23d27ceb86ade663ea365a298f27d62.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/module0000.png" 13 | dest_files=[ "res://.import/module0000.png-c23d27ceb86ade663ea365a298f27d62.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/modulus0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/modulus0000.png -------------------------------------------------------------------------------- /Icons/modulus0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/modulus0000.png-93c92a5376cd2f2abb3359753d9dac58.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/modulus0000.png" 13 | dest_files=[ "res://.import/modulus0000.png-93c92a5376cd2f2abb3359753d9dac58.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/negate0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/negate0000.png -------------------------------------------------------------------------------- /Icons/negate0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/negate0000.png-afe9549f768b51d36fa7099c4091b699.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/negate0000.png" 13 | dest_files=[ "res://.import/negate0000.png-afe9549f768b51d36fa7099c4091b699.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/node_big_selected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/node_big_selected0000.png -------------------------------------------------------------------------------- /Icons/node_big_selected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/node_big_selected0000.png-f061388e73e2df14148d1a0653e2c4b1.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/node_big_selected0000.png" 13 | dest_files=[ "res://.import/node_big_selected0000.png-f061388e73e2df14148d1a0653e2c4b1.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/node_big_unselected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/node_big_unselected0000.png -------------------------------------------------------------------------------- /Icons/node_big_unselected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/node_big_unselected0000.png-bb7c3b96924ccb902ed7b1857bc0431e.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/node_big_unselected0000.png" 13 | dest_files=[ "res://.import/node_big_unselected0000.png-bb7c3b96924ccb902ed7b1857bc0431e.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/node_simple_selected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/node_simple_selected0000.png -------------------------------------------------------------------------------- /Icons/node_simple_selected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/node_simple_selected0000.png-b14a2194f788321ad1316b3c1cc6892b.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/node_simple_selected0000.png" 13 | dest_files=[ "res://.import/node_simple_selected0000.png-b14a2194f788321ad1316b3c1cc6892b.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=false 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=false 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/node_simple_unselected0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/node_simple_unselected0000.png -------------------------------------------------------------------------------- /Icons/node_simple_unselected0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/node_simple_unselected0000.png-a8e7315ba18236fe5488dd141557ea83.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/node_simple_unselected0000.png" 13 | dest_files=[ "res://.import/node_simple_unselected0000.png-a8e7315ba18236fe5488dd141557ea83.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=false 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=false 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/not0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/not0000.png -------------------------------------------------------------------------------- /Icons/not0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/not0000.png-9dbbe14c490093f7ad6f5f8e901b804a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/not0000.png" 13 | dest_files=[ "res://.import/not0000.png-9dbbe14c490093f7ad6f5f8e901b804a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/openscad_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/openscad_logo.png -------------------------------------------------------------------------------- /Icons/openscad_logo.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/openscad_logo.png-f9ae122c47f71de56d4af195bbefbeb9.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/openscad_logo.png" 13 | dest_files=[ "res://.import/openscad_logo.png-f9ae122c47f71de56d4af195bbefbeb9.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/or0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/or0000.png -------------------------------------------------------------------------------- /Icons/or0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/or0000.png-bdba1f640633687e8ef5520961a61b23.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/or0000.png" 13 | dest_files=[ "res://.import/or0000.png-bdba1f640633687e8ef5520961a61b23.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/pairwise_multiply0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/pairwise_multiply0000.png -------------------------------------------------------------------------------- /Icons/pairwise_multiply0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/pairwise_multiply0000.png-70c7dd1d6957d93069c803b596f7e16f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/pairwise_multiply0000.png" 13 | dest_files=[ "res://.import/pairwise_multiply0000.png-70c7dd1d6957d93069c803b596f7e16f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/paste0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/paste0000.png -------------------------------------------------------------------------------- /Icons/paste0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/paste0000.png-2274745e641aefb2e1610505b42609ce.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/paste0000.png" 13 | dest_files=[ "res://.import/paste0000.png-2274745e641aefb2e1610505b42609ce.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/pencil0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/pencil0000.png -------------------------------------------------------------------------------- /Icons/pencil0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/pencil0000.png-bb397072e4a0471148de019b52643063.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/pencil0000.png" 13 | dest_files=[ "res://.import/pencil0000.png-bb397072e4a0471148de019b52643063.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/plus0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/plus0000.png -------------------------------------------------------------------------------- /Icons/plus0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/plus0000.png-e2f28573161385e15ddfd29b0fbf3d66.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/plus0000.png" 13 | dest_files=[ "res://.import/plus0000.png-e2f28573161385e15ddfd29b0fbf3d66.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/plus_one0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/plus_one0000.png -------------------------------------------------------------------------------- /Icons/plus_one0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/plus_one0000.png-70194459714bb2d55f625344d929d9a6.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/plus_one0000.png" 13 | dest_files=[ "res://.import/plus_one0000.png-70194459714bb2d55f625344d929d9a6.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/range0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/range0000.png -------------------------------------------------------------------------------- /Icons/range0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/range0000.png-55acaa141ba41de835ed735606dd6a55.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/range0000.png" 13 | dest_files=[ "res://.import/range0000.png-55acaa141ba41de835ed735606dd6a55.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/redo0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/redo0000.png -------------------------------------------------------------------------------- /Icons/redo0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/redo0000.png-db0da4dcebc768212e31d4b2c92ea29c.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/redo0000.png" 13 | dest_files=[ "res://.import/redo0000.png-db0da4dcebc768212e31d4b2c92ea29c.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/root0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/root0000.png -------------------------------------------------------------------------------- /Icons/root0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/root0000.png-84f5fa230b9ae599234a0e1f8bfbc7b0.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/root0000.png" 13 | dest_files=[ "res://.import/root0000.png-84f5fa230b9ae599234a0e1f8bfbc7b0.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/scad_builtin0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/scad_builtin0000.png -------------------------------------------------------------------------------- /Icons/scad_builtin0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/scad_builtin0000.png-71b1b3913ed75f0ef5faa8c6d692b040.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/scad_builtin0000.png" 13 | dest_files=[ "res://.import/scad_builtin0000.png-71b1b3913ed75f0ef5faa8c6d692b040.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/straighten0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/straighten0000.png -------------------------------------------------------------------------------- /Icons/straighten0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/straighten0000.png-7fe7ce48edd9152d8b20a8f6577fcb24.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/straighten0000.png" 13 | dest_files=[ "res://.import/straighten0000.png-7fe7ce48edd9152d8b20a8f6577fcb24.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/sum0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/sum0000.png -------------------------------------------------------------------------------- /Icons/sum0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/sum0000.png-8af77749c12a84892768bf4d01add5f1.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/sum0000.png" 13 | dest_files=[ "res://.import/sum0000.png-8af77749c12a84892768bf4d01add5f1.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/times0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/times0000.png -------------------------------------------------------------------------------- /Icons/times0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/times0000.png-7acc8bdc4643bff7e554c94c4d4c86ea.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/times0000.png" 13 | dest_files=[ "res://.import/times0000.png-7acc8bdc4643bff7e554c94c4d4c86ea.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/transitive_import0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/transitive_import0000.png -------------------------------------------------------------------------------- /Icons/transitive_import0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/transitive_import0000.png-83caefc1292b96fe600d0d9d26cd05be.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/transitive_import0000.png" 13 | dest_files=[ "res://.import/transitive_import0000.png-83caefc1292b96fe600d0d9d26cd05be.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/undo0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/undo0000.png -------------------------------------------------------------------------------- /Icons/undo0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/undo0000.png-bab60a6418e8d3790d5009a35f9cb3f4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/undo0000.png" 13 | dest_files=[ "res://.import/undo0000.png-bab60a6418e8d3790d5009a35f9cb3f4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/unused0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/unused0000.png -------------------------------------------------------------------------------- /Icons/unused0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/unused0000.png-f10b14f13f74644a97bed7a58b94fc9d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/unused0000.png" 13 | dest_files=[ "res://.import/unused0000.png-f10b14f13f74644a97bed7a58b94fc9d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/up0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/up0000.png -------------------------------------------------------------------------------- /Icons/up0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/up0000.png-a1c188a7e615822f923eea090f0e0404.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/up0000.png" 13 | dest_files=[ "res://.import/up0000.png-a1c188a7e615822f923eea090f0e0404.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/variable0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/variable0000.png -------------------------------------------------------------------------------- /Icons/variable0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/variable0000.png-cde312e3d41d302fe19adfac64ca9df6.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/variable0000.png" 13 | dest_files=[ "res://.import/variable0000.png-cde312e3d41d302fe19adfac64ca9df6.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/vector2merge0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/vector2merge0000.png -------------------------------------------------------------------------------- /Icons/vector2merge0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/vector2merge0000.png-e5c5d7394faa737dffee80c423a07ef8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/vector2merge0000.png" 13 | dest_files=[ "res://.import/vector2merge0000.png-e5c5d7394faa737dffee80c423a07ef8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/vector2split0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/vector2split0000.png -------------------------------------------------------------------------------- /Icons/vector2split0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/vector2split0000.png-a1b1540f20815498d0124f1ef2f73281.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/vector2split0000.png" 13 | dest_files=[ "res://.import/vector2split0000.png-a1b1540f20815498d0124f1ef2f73281.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/vector3merge0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/vector3merge0000.png -------------------------------------------------------------------------------- /Icons/vector3merge0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/vector3merge0000.png-c7d4e2020099ea7c449fc475d489e717.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/vector3merge0000.png" 13 | dest_files=[ "res://.import/vector3merge0000.png-c7d4e2020099ea7c449fc475d489e717.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/vector3split0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/vector3split0000.png -------------------------------------------------------------------------------- /Icons/vector3split0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/vector3split0000.png-16f75be4a33f6a4447b532f4ffe8da0a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/vector3split0000.png" 13 | dest_files=[ "res://.import/vector3split0000.png-16f75be4a33f6a4447b532f4ffe8da0a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /Icons/wireless0000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/Icons/wireless0000.png -------------------------------------------------------------------------------- /Icons/wireless0000.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/wireless0000.png-de4bae07c86103c2b3e1d429ba0ee588.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://Icons/wireless0000.png" 13 | dest_files=[ "res://.import/wireless0000.png-de4bae07c86103c2b3e1d429ba0ee588.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /JetBrainsMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/JetBrainsMono-Regular.ttf -------------------------------------------------------------------------------- /Library/BuiltInLibrary.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using OpenScadGraphEditor.Library.External; 3 | 4 | namespace OpenScadGraphEditor.Library 5 | { 6 | public class BuiltInLibrary : IReferenceResolver 7 | { 8 | public ModuleDescription ResolveModuleReference(string id) 9 | { 10 | return BuiltIns.Modules.First(it => it.Id == id); 11 | } 12 | 13 | public VariableDescription ResolveVariableReference(string id) 14 | { 15 | return BuiltIns.Variables.First(it => it.Id == id); 16 | } 17 | 18 | public FunctionDescription ResolveFunctionReference(string id) 19 | { 20 | return BuiltIns.Functions.First(it => it.Id == id); 21 | } 22 | 23 | public ExternalReference ResolveExternalReference(string id) 24 | { 25 | return null; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Library/CustomizerType.cs: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /Library/External/ExternalFileParser.cs: -------------------------------------------------------------------------------- 1 | using Antlr4.Runtime; 2 | 3 | namespace OpenScadGraphEditor.Library.External 4 | { 5 | /// 6 | /// This parser parses OpenScad code into our internal project representation, so that we can reference it in our UI. 7 | /// 8 | public static class ExternalFileParser 9 | { 10 | public static void Parse(string text, ExternalReference externalReference) 11 | { 12 | var inputStream = new AntlrInputStream(text); 13 | var lexer = new OpenScadLexer(inputStream); 14 | var tokenStream = new CommonTokenStream(lexer); 15 | var parser = new OpenScadParser(tokenStream); 16 | 17 | var root = parser.scadFile(); 18 | var visitor = new OpenScadVisitor(tokenStream, externalReference); 19 | visitor.Visit(root); 20 | 21 | externalReference.IsLoaded = true; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Library/External/ExternalFilePathMode.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Library.External 2 | { 3 | /// 4 | /// Path mode used for encoding references to external files. 5 | /// 6 | public enum ExternalFilePathMode 7 | { 8 | /// 9 | /// This references to a file in one of OpenSCADs library folders. 10 | /// 11 | Library, 12 | 13 | /// 14 | /// This references to a file relative to the current project. 15 | /// 16 | Relative, 17 | 18 | /// 19 | /// This references to an absolute file path. 20 | /// 21 | Absolute 22 | } 23 | } -------------------------------------------------------------------------------- /Library/External/IncludeMode.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Library.External 2 | { 3 | public enum IncludeMode 4 | { 5 | Use, 6 | Include 7 | } 8 | } -------------------------------------------------------------------------------- /Library/IO/BrokenFileException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OpenScadGraphEditor.Library.IO 4 | { 5 | public class BrokenFileException : Exception 6 | { 7 | public BrokenFileException(string message, Exception cause) : base(message, cause) 8 | { 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /Library/IO/SavedConnection.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.Library.IO 4 | { 5 | /// 6 | /// This resource represents a saved connection between nodes. 7 | /// 8 | public class SavedConnection : Resource 9 | { 10 | [Export] 11 | public string FromId; 12 | 13 | [Export] 14 | public int FromPort; 15 | 16 | [Export] 17 | public string ToId; 18 | 19 | [Export] 20 | public int ToPort; 21 | } 22 | } -------------------------------------------------------------------------------- /Library/IO/SavedFunctionDescription.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using OpenScadGraphEditor.Nodes; 3 | 4 | namespace OpenScadGraphEditor.Library.IO 5 | { 6 | /// 7 | /// Saved variant of a 8 | /// 9 | public sealed class SavedFunctionDescription : SavedInvokableDescription 10 | { 11 | /// 12 | /// The hinted return type of the function. 13 | /// 14 | [Export] 15 | public PortType ReturnTypeHint { get; set; } = PortType.Any; 16 | 17 | /// 18 | /// The description of the return value. 19 | /// 20 | [Export] 21 | public string ReturnValueDescription { get; set; } = ""; 22 | } 23 | } -------------------------------------------------------------------------------- /Library/IO/SavedGraph.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using Godot.Collections; 3 | 4 | namespace OpenScadGraphEditor.Library.IO 5 | { 6 | /// 7 | /// This resource represents a module or function implementation as a node graph. 8 | /// 9 | public class SavedGraph : Resource 10 | { 11 | [Export] 12 | public SavedInvokableDescription Description; 13 | 14 | [Export] 15 | public Array Nodes = new Array(); 16 | 17 | [Export] 18 | public Array Connections = new Array(); 19 | } 20 | } -------------------------------------------------------------------------------- /Library/IO/SavedMainModuleDescription.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Library.IO 2 | { 3 | /// 4 | /// Saved variant of a 5 | /// 6 | public sealed class SavedMainModuleDescription : SavedInvokableDescription 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Library/IO/SavedModuleDescription.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.Library.IO 4 | { 5 | /// 6 | /// Saved variant of a 7 | /// 8 | public sealed class SavedModuleDescription : SavedInvokableDescription 9 | { 10 | /// 11 | /// Whether or not this module supports children 12 | /// 13 | [Export] 14 | public bool SupportsChildren { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Library/IReferenceResolver.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library.External; 2 | 3 | namespace OpenScadGraphEditor.Library 4 | { 5 | public interface IReferenceResolver 6 | { 7 | FunctionDescription ResolveFunctionReference(string id); 8 | ModuleDescription ResolveModuleReference(string id); 9 | VariableDescription ResolveVariableReference(string id); 10 | ExternalReference ResolveExternalReference(string id); 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /Library/UsagePointInformation.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Library 2 | { 3 | /// 4 | /// Information about a usage point in the code. This contains the id of the graph and the id of the node 5 | /// that uses a thing. 6 | /// 7 | public class UsagePointInformation 8 | { 9 | public string Label { get; } 10 | public string GraphId { get; } 11 | public string NodeId { get; } 12 | 13 | public UsagePointInformation(string label, string graphId, string nodeId) 14 | { 15 | Label = label; 16 | GraphId = graphId; 17 | NodeId = nodeId; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Nodes/AndOperator.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Nodes 6 | { 7 | [UsedImplicitly] 8 | public class AndOperator : BooleanOperator 9 | { 10 | public override string NodeTitle => "And"; 11 | public override string NodeDescription => "Boolean AND (&&)"; 12 | public override string NodeQuickLookup => "&"; 13 | protected override string OperatorSign => "&&"; 14 | 15 | public override Texture NodeBackground => Resources.AndIcon; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/BinaryComparisonOperator.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public abstract class BinaryComparisonOperator : SwitchableBinaryOperator.SwitchableBinaryOperator 4 | { 5 | protected BinaryComparisonOperator() 6 | { 7 | OutputPorts.Clear(); 8 | OutputPorts 9 | .Boolean(allowLiteral: false); 10 | } 11 | 12 | protected override PortType CalculateOutputPortType() 13 | { 14 | // all comparison operators always return a boolean 15 | return PortType.Boolean; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Nodes/BooleanLiteral.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public class BooleanLiteral : LiteralBase 4 | { 5 | public bool Value { get; set; } 6 | 7 | public BooleanLiteral(bool value) 8 | { 9 | Value = value; 10 | } 11 | 12 | public override string RenderedValue => Value ? "true" : "false"; 13 | 14 | public override string SerializedValue 15 | { 16 | get => Value ? "true" : "false"; 17 | set => Value = value == "true"; 18 | } 19 | 20 | public override LiteralType LiteralType => LiteralType.Boolean; 21 | } 22 | } -------------------------------------------------------------------------------- /Nodes/BooleanOperator.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public abstract class BooleanOperator : BinaryOperator 4 | { 5 | 6 | protected BooleanOperator() 7 | { 8 | InputPorts 9 | .Boolean(allowLiteral:false) 10 | .Boolean(allowLiteral:false); 11 | 12 | OutputPorts 13 | .Boolean(allowLiteral:false); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/ConstructVectorAny.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace OpenScadGraphEditor.Nodes.ConstructVector 4 | { 5 | [UsedImplicitly] 6 | public class ConstructVectorAny : ConstructVector 7 | { 8 | public override string NodeQuickLookup => "VCA"; 9 | 10 | public ConstructVectorAny() : base(PortType.Any) 11 | { 12 | } 13 | 14 | public override string NodeTitle => "Construct Vector (Any)"; 15 | public override string NodeDescription => "Constructs a vector of arbitrary elements."; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/ConstructVectorNumber.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace OpenScadGraphEditor.Nodes.ConstructVector 4 | { 5 | [UsedImplicitly] 6 | public class ConstructVectorNumber : ConstructVector 7 | { 8 | public override string NodeQuickLookup => "VCN"; 9 | 10 | public ConstructVectorNumber() : base(PortType.Number) 11 | { 12 | } 13 | 14 | public override string NodeTitle => "Construct Vector (Number)"; 15 | public override string NodeDescription => "Constructs a vector of numbers."; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/ConstructVectorString.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace OpenScadGraphEditor.Nodes.ConstructVector 4 | { 5 | [UsedImplicitly] 6 | public class ConstructVectorString : ConstructVector 7 | { 8 | public override string NodeQuickLookup => "VCS"; 9 | 10 | public ConstructVectorString() : base(PortType.String) 11 | { 12 | } 13 | 14 | public override string NodeTitle => "Construct Vector (String)"; 15 | public override string NodeDescription => "Constructs a vector of strings."; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/ConstructVectorVector2.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace OpenScadGraphEditor.Nodes.ConstructVector 4 | { 5 | [UsedImplicitly] 6 | public class ConstructVectorVector2 : ConstructVector 7 | { 8 | public override string NodeQuickLookup => "VCV2"; 9 | 10 | public ConstructVectorVector2() : base(PortType.Vector2) 11 | { 12 | } 13 | 14 | public override string NodeTitle => "Construct Vector (Vector2)"; 15 | public override string NodeDescription => "Constructs a vector of Vector2s."; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/ConstructVectorVector3.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | 3 | namespace OpenScadGraphEditor.Nodes.ConstructVector 4 | { 5 | [UsedImplicitly] 6 | public class ConstructVectorVector3 : ConstructVector 7 | { 8 | public override string NodeQuickLookup => "VCV3"; 9 | 10 | public ConstructVectorVector3() : base(PortType.Vector3) 11 | { 12 | } 13 | 14 | public override string NodeTitle => "Construct Vector (Vector3)"; 15 | public override string NodeDescription => "Constructs a vector of Vector3s."; 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/ConstructVector/IAmAVectorConstruction.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes.ConstructVector 2 | { 3 | /// 4 | /// Marker interface for vector construction nodes. This is needed for the list comprehensions to work. 5 | /// 6 | public interface IAmAVectorConstruction 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/ExponentiationOperator.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Nodes 6 | { 7 | [UsedImplicitly] 8 | public class ExponentiationOperator : BinaryOperator 9 | { 10 | public override string NodeTitle => "^"; 11 | public override string NodeQuickLookup => "^"; 12 | public override string NodeDescription => "Exponentiation of the given inputs (first to the power of second)."; 13 | protected override string OperatorSign => "^"; 14 | 15 | public override Texture NodeBackground => Resources.ExpIcon; 16 | 17 | public ExponentiationOperator() 18 | { 19 | InputPorts 20 | .Number() 21 | .Number(); 22 | 23 | OutputPorts 24 | .Number(allowLiteral: false); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Nodes/ForLoop/ForLoopAddDialogEntryFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Actions; 4 | using OpenScadGraphEditor.Library; 5 | using OpenScadGraphEditor.Refactorings; 6 | using OpenScadGraphEditor.Utils; 7 | using OpenScadGraphEditor.Widgets.AddDialog; 8 | 9 | namespace OpenScadGraphEditor.Nodes.ForLoop 10 | { 11 | 12 | [UsedImplicitly] 13 | public class ForLoopAddDialogEntryFactory : IAddDialogEntryFactory 14 | { 15 | public IEnumerable BuildEntries(IEditorContext editorContext) 16 | { 17 | // add an entry for the for-comprehension loop 18 | yield return new BoundPairBasedEntry(Resources.ScadBuiltinIcon, "For loop [Frlp]", 19 | "for-loop, iterate, iteration", 20 | NodeFactory.Build, 21 | NodeFactory.Build, 22 | editorContext); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Nodes/ForLoop/ToggleIntersectModeAction.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Actions; 3 | using OpenScadGraphEditor.Widgets; 4 | 5 | namespace OpenScadGraphEditor.Nodes.ForLoop 6 | { 7 | [UsedImplicitly] 8 | public class ToggleIntersectModeAction : IEditorAction 9 | { 10 | public int Order => 0; 11 | public string Group => ""; 12 | 13 | public bool TryBuildQuickAction(IEditorContext context, RequestContext item, out QuickAction result) 14 | { 15 | if (item.TryGetNode(out var graph, out var node) 16 | && node is ForLoopStart forLoopStart) 17 | { 18 | const string title = "Toggle intersect mode"; 19 | result = new QuickAction(title, 20 | () => context.PerformRefactoring(title, new ToggleIntersectModeRefactoring(graph, forLoopStart))); 21 | return true; 22 | } 23 | 24 | result = default; 25 | return false; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Nodes/ForLoop/ToggleIntersectModeRefactoring.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Refactorings; 4 | 5 | namespace OpenScadGraphEditor.Nodes.ForLoop 6 | { 7 | 8 | /// 9 | /// Refactoring to toggle the intersect mode for the for loop. 10 | /// 11 | [UsedImplicitly] 12 | public class ToggleIntersectModeRefactoring : NodeRefactoring 13 | { 14 | public ToggleIntersectModeRefactoring(ScadGraph holder, ForLoopStart node) : base(holder, node) 15 | { 16 | } 17 | 18 | public override void PerformRefactoring(RefactoringContext context) 19 | { 20 | var forLoopStart = (ForLoopStart)Node; 21 | // this has no impact on connection it just changes the rendered text, so this is all we need to do 22 | forLoopStart.IntersectMode = !forLoopStart.IntersectMode; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Nodes/IAmAnExpression.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes which are an expression. These nodes must have exactly one output pin. 5 | /// 6 | public interface IAmAnExpression 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/IAmBoundToOtherNode.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public interface IAmBoundToOtherNode : ICannotBeCreated 4 | { 5 | string OtherNodeId { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Nodes/ICanHaveModifier.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes that can have modifiers. 5 | /// 6 | public interface ICanHaveModifier 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/ICanHaveMultipleInputConnections.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes that accept multiple input connections. For these nodes, the rule that 5 | /// a port can only have one input connection does not apply. The nodes are themselves responsible to 6 | /// create appropriate rules governing their input connections. 7 | /// 8 | public interface ICanHaveMultipleInputConnections 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /Nodes/ICannotBeCreated.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes that cannot be directly created. These nodes will be created by the editor 5 | /// under special circumstances. This interface is used as a filter when adding nodes to the add dialog. 6 | /// 7 | public interface ICannotBeCreated 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Nodes/ICannotBeDeleted.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes that cannot be deleted from the graph. 5 | /// 6 | public interface ICannotBeDeleted 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/IHaveCustomWidget.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Widgets; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | /// 6 | /// Marker interface for nodes that use a custom widget to render themselves. 7 | /// 8 | public interface IHaveCustomWidget 9 | { 10 | ScadNodeWidget InstantiateCustomWidget(); 11 | } 12 | } -------------------------------------------------------------------------------- /Nodes/IHaveNodeBackground.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | public interface IHaveNodeBackground 6 | { 7 | Texture NodeBackground { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /Nodes/IImplyChildren.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// Marker interface for nodes that imply that the surrounding module can support children. 5 | /// 6 | public interface IImplyChildren 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/IReferToAFunction.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | /// 6 | /// Interface to be implemented by nodes which refer to functions. 7 | /// 8 | public interface IReferToAFunction : IReferToAnInvokable 9 | { 10 | /// 11 | /// Returns an enumerable of all ports in this node which refer to the return value of the function. 12 | /// 13 | IEnumerable GetPortsReferringToReturnValue(); 14 | } 15 | } -------------------------------------------------------------------------------- /Nodes/IReferToAVariable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using OpenScadGraphEditor.Library; 3 | 4 | namespace OpenScadGraphEditor.Nodes 5 | { 6 | public interface IReferToAVariable : ICannotBeCreated 7 | { 8 | VariableDescription VariableDescription { get; } 9 | 10 | void SetupPorts(VariableDescription description); 11 | 12 | /// 13 | /// Returns an enumerable of all ports in this which refer to the variable. 14 | /// 15 | IEnumerable GetPortsReferringToVariable(); 16 | } 17 | } -------------------------------------------------------------------------------- /Nodes/IScadLiteral.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public interface IScadLiteral 4 | { 5 | /// 6 | /// Indicator whether the user actually wants to set this literal. 7 | /// 8 | bool IsSet { get; set; } 9 | string RenderedValue { get; } 10 | string SerializedValue { get; set; } 11 | LiteralType LiteralType { get; } 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /Nodes/ListComprehension/IAmAListComprehensionExpression.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes.ListComprehension 2 | { 3 | public interface IAmAListComprehensionExpression : IAmAnExpression 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Nodes/ListComprehension/ListComprehensionAddDialogEntryFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Actions; 4 | using OpenScadGraphEditor.Library; 5 | using OpenScadGraphEditor.Utils; 6 | using OpenScadGraphEditor.Widgets.AddDialog; 7 | 8 | namespace OpenScadGraphEditor.Nodes.ListComprehension 9 | { 10 | [UsedImplicitly] 11 | public class ListComprehensionAddDialogEntryFactory : IAddDialogEntryFactory 12 | { 13 | public IEnumerable BuildEntries(IEditorContext editorContext) 14 | { 15 | // add an entry for the for-comprehension loop 16 | yield return new BoundPairBasedEntry(Resources.ScadBuiltinIcon, "For-Comprehension [Foco]", 17 | "for-comprehension, map", 18 | NodeFactory.Build, 19 | NodeFactory.Build, 20 | editorContext); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Nodes/LiteralBase.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public abstract class LiteralBase : IScadLiteral 4 | { 5 | public virtual bool IsSet { get; set; } 6 | public abstract string RenderedValue { get; } 7 | public abstract string SerializedValue { get; set; } 8 | public abstract LiteralType LiteralType { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/ModuloOperator.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Nodes 6 | { 7 | [UsedImplicitly] 8 | public class ModuloOperator : BinaryOperator 9 | { 10 | public override string NodeTitle => "%"; 11 | public override string NodeQuickLookup => "%"; 12 | public override string NodeDescription => "Calculates the modulus the given inputs."; 13 | protected override string OperatorSign => "%"; 14 | 15 | public override Texture NodeBackground => Resources.ModulusIcon; 16 | 17 | public ModuloOperator() 18 | { 19 | InputPorts 20 | .Number() 21 | .Number(); 22 | 23 | OutputPorts 24 | .Number(allowLiteral: false); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Nodes/NameLiteral.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public class NameLiteral : LiteralBase 4 | { 5 | public NameLiteral(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; set; } 11 | 12 | public override string RenderedValue => Value; 13 | 14 | public override string SerializedValue 15 | { 16 | get => Value; 17 | set => Value = value; 18 | } 19 | 20 | public override LiteralType LiteralType => LiteralType.Name; 21 | } 22 | } -------------------------------------------------------------------------------- /Nodes/NumberLiteral.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Utils; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | public class NumberLiteral : LiteralBase 6 | { 7 | public NumberLiteral(double value) 8 | { 9 | Value = value; 10 | } 11 | 12 | public double Value { get; set; } 13 | 14 | public override string RenderedValue => Value.SafeToString(); 15 | 16 | public override string SerializedValue 17 | { 18 | get => Value.SafeToString(); 19 | set => Value = value.SafeParse(); 20 | } 21 | 22 | public override LiteralType LiteralType => LiteralType.Number; 23 | } 24 | } -------------------------------------------------------------------------------- /Nodes/OrOperator.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Nodes 6 | { 7 | [UsedImplicitly] 8 | public class OrOperator : BooleanOperator 9 | { 10 | public override string NodeTitle => "Or"; 11 | public override string NodeQuickLookup => "|"; 12 | public override string NodeDescription => "Boolean OR (||)"; 13 | protected override string OperatorSign => "||"; 14 | public override Texture NodeBackground => Resources.OrIcon; 15 | } 16 | } -------------------------------------------------------------------------------- /Nodes/RenderHint.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | /// 4 | /// A render hint for the widget rendering a port. 5 | /// 6 | public enum RenderHint 7 | { 8 | /// 9 | /// The default render hint. Render the port as a normal port. 10 | /// 11 | None, 12 | 13 | /// 14 | /// Renders the port as a file input port. Instead of a string widget, allows the user to select a file. 15 | /// 16 | FileInput, 17 | 18 | /// 19 | /// Renders the port as a font input port. Instead of a string widget, allows the user to select a font. 20 | /// 21 | FontInput 22 | } 23 | } -------------------------------------------------------------------------------- /Nodes/Reroute/ChangeRerouteTypeRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | using OpenScadGraphEditor.Refactorings; 3 | 4 | namespace OpenScadGraphEditor.Nodes.Reroute 5 | { 6 | public class ChangeRerouteTypeRefactoring : NodeRefactoring 7 | { 8 | private readonly PortType _newConnectionType; 9 | 10 | public ChangeRerouteTypeRefactoring(ScadGraph holder, ScadNode node, PortType newConnectionType) : base(holder, node) 11 | { 12 | _newConnectionType = newConnectionType; 13 | } 14 | 15 | public override void PerformRefactoring(RefactoringContext context) 16 | { 17 | var currentConnectionType = Node.GetPortType(PortId.Input(0)); 18 | if (currentConnectionType == _newConnectionType) 19 | { 20 | return; // nothing to do 21 | } 22 | 23 | // update the port type 24 | ((RerouteNode) Node).UpdatePortType(_newConnectionType); 25 | 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Nodes/Reroute/RerouteNodeExt.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes.Reroute 2 | { 3 | public static class RerouteNodeExt 4 | { 5 | public static bool IsWirelessReroute(this ScadNode node) 6 | { 7 | return node is RerouteNode {IsWireless: true}; 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /Nodes/Reroute/ToggleWirelessRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | using OpenScadGraphEditor.Refactorings; 3 | 4 | namespace OpenScadGraphEditor.Nodes.Reroute 5 | { 6 | /// 7 | /// Refactoring which toggles whether or not a reroute node is wireless. 8 | /// 9 | public class ToggleWirelessRefactoring : NodeRefactoring 10 | { 11 | public ToggleWirelessRefactoring(ScadGraph holder, RerouteNode node) : base(holder, node) 12 | { 13 | } 14 | 15 | public override void PerformRefactoring(RefactoringContext context) 16 | { 17 | var node = (RerouteNode)Node; 18 | node.IsWireless = !node.IsWireless; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Nodes/ScadConnection.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | public class ScadConnection 6 | { 7 | public ScadGraph Owner { get; } 8 | 9 | public ScadNode From { get; } 10 | public int FromPort { get; } 11 | public ScadNode To { get; } 12 | public int ToPort { get; } 13 | 14 | public ScadConnection(ScadGraph owner, ScadNode from, int fromPort, ScadNode to, int toPort) 15 | { 16 | Owner = owner; 17 | From = from; 18 | FromPort = fromPort; 19 | To = to; 20 | ToPort = toPort; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Nodes/ScadNodeComment.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | public static class ScadNodeCommentExt 6 | { 7 | public static bool TryGetComment(this ScadNode node, out string comment) 8 | { 9 | return node.TryGetCustomAttribute("comment", out comment); 10 | } 11 | 12 | public static void SetComment(this ScadNode node, string comment) 13 | { 14 | if (comment.Empty()) 15 | { 16 | node.UnsetCustomAttribute("comment"); 17 | } 18 | else 19 | { 20 | node.SetCustomAttribute("comment", comment); 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Nodes/StringLiteral.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Nodes 2 | { 3 | public class StringLiteral : LiteralBase 4 | { 5 | public StringLiteral(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; set; } 11 | 12 | public override string RenderedValue => "\"" + Value.Replace("\\", "\\\\").Replace("\"", "\\\"") + "\""; 13 | 14 | public override string SerializedValue 15 | { 16 | get => Value; 17 | set => Value = value; 18 | } 19 | 20 | public override LiteralType LiteralType => LiteralType.String; 21 | } 22 | } -------------------------------------------------------------------------------- /Nodes/SwitchableBinaryOperator/ChangeOperatorTypeActionFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using JetBrains.Annotations; 4 | using OpenScadGraphEditor.Actions; 5 | using OpenScadGraphEditor.Utils; 6 | 7 | namespace OpenScadGraphEditor.Nodes.SwitchableBinaryOperator 8 | { 9 | [UsedImplicitly] 10 | public class ChangeOperatorTypeActionFactory : IEditorActionFactory 11 | { 12 | 13 | public IEnumerable CreateActions() 14 | { 15 | return typeof(SwitchableBinaryOperator) 16 | .GetImplementors() 17 | .Select(it => new ChangeOperatorTypeAction(it)); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Nodes/SwitchableBinaryOperator/ChangeSecondaryPortTypeActionFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using JetBrains.Annotations; 5 | using OpenScadGraphEditor.Actions; 6 | 7 | namespace OpenScadGraphEditor.Nodes.SwitchableBinaryOperator 8 | { 9 | [UsedImplicitly] 10 | public class ChangeSecondaryPortTypeActionFactory : IEditorActionFactory 11 | { 12 | public IEnumerable CreateActions() 13 | { 14 | // get all port types which are expression types and create an action for each of them 15 | return Enum.GetValues(typeof(PortType)) 16 | .Cast() 17 | .Where(it => it.IsExpressionType()) 18 | .Select(it => new ChangeSecondaryPortTypeAction(it)); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Nodes/Vector2Literal.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Utils; 2 | 3 | namespace OpenScadGraphEditor.Nodes 4 | { 5 | public class Vector2Literal : LiteralBase 6 | { 7 | public double X { get; set; } 8 | public double Y { get; set; } 9 | 10 | public Vector2Literal(double x, double y) 11 | { 12 | X = x; 13 | Y = y; 14 | } 15 | 16 | public override string RenderedValue => $"[{X.SafeToString()}, {Y.SafeToString()}]"; 17 | 18 | public override string SerializedValue 19 | { 20 | get => $"{X.SafeToString()}|{Y.SafeToString()}"; 21 | set 22 | { 23 | var parts = value.Split('|'); 24 | X = parts[0].SafeParse(); 25 | Y = parts[1].SafeParse(); 26 | } 27 | } 28 | 29 | public override LiteralType LiteralType => LiteralType.Vector2; 30 | } 31 | } -------------------------------------------------------------------------------- /OpenScadGraphEditor.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True -------------------------------------------------------------------------------- /Refactorings/AddVariableInputRefactoring.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | /// 8 | /// Refactoring for nodes which implement . This adds a new input to the node. 9 | /// 10 | [UsedImplicitly] 11 | public class AddVariableInputRefactoring : NodeRefactoring 12 | { 13 | 14 | public AddVariableInputRefactoring(ScadGraph holder, ScadNode node) : base(holder, node) 15 | { 16 | } 17 | 18 | public override void PerformRefactoring(RefactoringContext context) 19 | { 20 | if (!(Node is IHaveVariableInputSize variableInputSize)) 21 | { 22 | return; // not applicable 23 | } 24 | variableInputSize.AddVariableInputPort(); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Refactorings/AddVariableOutputRefactoring.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | /// 8 | /// Refactoring for nodes which implement . This adds a new output to the node. 9 | /// 10 | [UsedImplicitly] 11 | public class AddVariableOutputRefactoring : NodeRefactoring 12 | { 13 | 14 | public AddVariableOutputRefactoring(ScadGraph holder, ScadNode node) : base(holder, node) 15 | { 16 | } 17 | 18 | public override void PerformRefactoring(RefactoringContext context) 19 | { 20 | if (!(Node is IHaveVariableOutputSize iHaveVariableOutputSize)) 21 | { 22 | return; // not applicable 23 | } 24 | iHaveVariableOutputSize.AddVariableOutputPort(); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Refactorings/ChangeNodePositionRefactoring.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | public class ChangeNodePositionRefactoring :NodeRefactoring 8 | { 9 | private readonly Vector2 _newPosition; 10 | 11 | public ChangeNodePositionRefactoring(ScadGraph graph, ScadNode node, Vector2 newPosition) : base(graph, node) 12 | { 13 | _newPosition = newPosition; 14 | } 15 | 16 | 17 | public override void PerformRefactoring(RefactoringContext context) 18 | { 19 | Node.Offset = _newPosition; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Refactorings/ChangeNodeSizeRefactoring.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using GodotExt; 3 | using OpenScadGraphEditor.Library; 4 | using OpenScadGraphEditor.Nodes; 5 | 6 | namespace OpenScadGraphEditor.Refactorings 7 | { 8 | public class ChangeNodeSizeRefactoring : NodeRefactoring 9 | { 10 | private readonly Vector2 _newSize; 11 | 12 | public ChangeNodeSizeRefactoring(ScadGraph holder, ScadNode node, Vector2 newSize) : base(holder, node) 13 | { 14 | _newSize = newSize; 15 | } 16 | 17 | public override void PerformRefactoring(RefactoringContext context) 18 | { 19 | GdAssert.That(Node is Comment, "Resize is only supported for comments"); 20 | 21 | // set the new size 22 | ((Comment) Node).Size = _newSize; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Refactorings/ChangeProjectPreambleRefactoring.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Refactorings 2 | { 3 | public class ChangeProjectPreambleRefactoring : Refactoring 4 | { 5 | private readonly string _newPreamble; 6 | 7 | public ChangeProjectPreambleRefactoring(string newPreamble) 8 | { 9 | _newPreamble = newPreamble; 10 | } 11 | 12 | public override void PerformRefactoring(RefactoringContext context) 13 | { 14 | context.Project.Preamble = _newPreamble; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Refactorings/ChangeVariableDefaultValueRefactoring.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | public class ChangeVariableDefaultValueRefactoring : Refactoring 8 | { 9 | private readonly VariableDescription _description; 10 | [CanBeNull] private readonly IScadLiteral _newDefaultValue; 11 | 12 | public ChangeVariableDefaultValueRefactoring(VariableDescription description, [CanBeNull] IScadLiteral newDefaultValue) 13 | { 14 | _description = description; 15 | _newDefaultValue = newDefaultValue; 16 | } 17 | 18 | public override void PerformRefactoring(RefactoringContext context) 19 | { 20 | // for now this is simple we overwrite the old default value with the new one 21 | _description.DefaultValue = _newDefaultValue; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Refactorings/ChangeVariableDocumentationRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Refactorings 4 | { 5 | public class ChangeVariableDocumentationRefactoring : Refactoring 6 | { 7 | private readonly VariableDescription _description; 8 | private readonly string _newDescription; 9 | 10 | public ChangeVariableDocumentationRefactoring(VariableDescription description, string newDescription) 11 | { 12 | _description = description; 13 | _newDescription = newDescription; 14 | } 15 | 16 | public override void PerformRefactoring(RefactoringContext context) 17 | { 18 | // change the description 19 | _description.Description = _newDescription; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Refactorings/DeleteInputConnectionsRefactoring.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Utils; 5 | 6 | namespace OpenScadGraphEditor.Refactorings 7 | { 8 | public class DeleteInputConnectionsRefactoring : NodeRefactoring 9 | { 10 | private readonly int _port; 11 | 12 | public DeleteInputConnectionsRefactoring(ScadGraph holder, ScadNode node, int port) : base(holder, node) 13 | { 14 | _port = port; 15 | } 16 | 17 | public override void PerformRefactoring(RefactoringContext context) 18 | { 19 | Holder.GetAllConnections() 20 | .Where(it => it.To.Id == Node.Id && it.ToPort == _port) 21 | .ToList() 22 | .ForAll(Holder.RemoveConnection); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Refactorings/DeleteOutputConnectionsRefactoring.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Utils; 5 | 6 | namespace OpenScadGraphEditor.Refactorings 7 | { 8 | public class DeleteOutputConnectionsRefactoring : NodeRefactoring 9 | { 10 | private readonly int _port; 11 | 12 | public DeleteOutputConnectionsRefactoring(ScadGraph holder, ScadNode node, int port) : base(holder, node) 13 | { 14 | _port = port; 15 | } 16 | 17 | public override void PerformRefactoring(RefactoringContext context) 18 | { 19 | Holder.GetAllConnections() 20 | .Where(it => it.From.Id == Node.Id && it.FromPort == _port) 21 | .ToList() 22 | .ForAll(Holder.RemoveConnection); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Refactorings/IProvideTicketData.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Refactorings 2 | { 3 | /// 4 | /// Interface for refactorings that provide ticket data. 5 | /// 6 | public interface IProvideTicketData 7 | { 8 | public string Ticket { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Refactorings/IUserSelectableRefactoringFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | /// 8 | /// An interface for factories that can produce instances for a given node. 9 | /// 10 | public interface IUserSelectableRefactoringFactory 11 | { 12 | IEnumerable GetRefactorings(ScadGraph graph, ScadNode node); 13 | } 14 | } -------------------------------------------------------------------------------- /Refactorings/IntroduceInvokableRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Refactorings 4 | { 5 | public class IntroduceInvokableRefactoring : Refactoring 6 | { 7 | private readonly InvokableDescription _description; 8 | 9 | public IntroduceInvokableRefactoring(InvokableDescription description) 10 | { 11 | _description = description; 12 | } 13 | 14 | public override void PerformRefactoring(RefactoringContext context) 15 | { 16 | context.Project.AddInvokable(_description); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Refactorings/IntroduceVariableRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Refactorings 4 | { 5 | public class IntroduceVariableRefactoring : Refactoring 6 | { 7 | private readonly VariableDescription _description; 8 | 9 | public IntroduceVariableRefactoring(VariableDescription description) 10 | { 11 | _description = description; 12 | } 13 | 14 | public override void PerformRefactoring(RefactoringContext context) 15 | { 16 | context.Project.AddVariable(_description); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Refactorings/NodeRefactoring.cs: -------------------------------------------------------------------------------- 1 | using GodotExt; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Refactorings 6 | { 7 | /// 8 | /// Base class for refactorings that apply on a single node. 9 | /// 10 | public abstract class NodeRefactoring : Refactoring 11 | { 12 | protected ScadGraph Holder { get; } 13 | protected ScadNode Node { get; } 14 | 15 | protected NodeRefactoring(ScadGraph holder, ScadNode node) 16 | { 17 | GdAssert.That(holder != null, "holder != null"); 18 | GdAssert.That(node != null, "node != null"); 19 | Holder = holder; 20 | Node = node; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Refactorings/Refactoring.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Refactorings 2 | { 3 | public abstract class Refactoring 4 | { 5 | /// 6 | /// Performs the actual refactoring by modifying the the given project. 7 | /// 8 | public abstract void PerformRefactoring(RefactoringContext context); 9 | 10 | public virtual bool IsLate => false; 11 | } 12 | } -------------------------------------------------------------------------------- /Refactorings/RefactoringDataKey.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Refactorings 2 | { 3 | public class RefactoringDataKey 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Refactorings/RenameInvokableRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Refactorings 4 | { 5 | public class RenameInvokableRefactoring : Refactoring 6 | { 7 | private readonly InvokableDescription _description; 8 | private readonly string _newName; 9 | 10 | public RenameInvokableRefactoring(InvokableDescription description, string newName) 11 | { 12 | _description = description; 13 | _newName = newName; 14 | } 15 | 16 | public override void PerformRefactoring(RefactoringContext context) 17 | { 18 | // change the name 19 | _description.Name = _newName; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Refactorings/RenameVariableRefactoring.cs: -------------------------------------------------------------------------------- 1 | using OpenScadGraphEditor.Library; 2 | 3 | namespace OpenScadGraphEditor.Refactorings 4 | { 5 | public class RenameVariableRefactoring : Refactoring 6 | { 7 | private readonly VariableDescription _description; 8 | private readonly string _newName; 9 | 10 | public RenameVariableRefactoring(VariableDescription description, string newName) 11 | { 12 | _description = description; 13 | _newName = newName; 14 | } 15 | 16 | public override void PerformRefactoring(RefactoringContext context) 17 | { 18 | // change the name 19 | _description.Name = _newName; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /TestData/base_file_a.scad: -------------------------------------------------------------------------------- 1 | function func_base_file_a() = 10; 2 | module mod_base_file_a() {} 3 | -------------------------------------------------------------------------------- /TestData/base_file_b.scad: -------------------------------------------------------------------------------- 1 | function func_base_file_b() = 10; 2 | module mod_base_file_b() {} 3 | -------------------------------------------------------------------------------- /TestData/comment_parsing.scad: -------------------------------------------------------------------------------- 1 | /** 2 | * Import test that verifies that documentation comments override inferred values. 3 | * 4 | * @param boolean [boolean] a boolean 5 | * @param number [number] a number 6 | * @param string [string] a string 7 | * @param vector2 [vector2] a vector2 8 | * @param vector3 [vector3] a vector3 9 | * @param array [array] an array 10 | * @param any [any] any type 11 | * @return [number] a number 12 | */ 13 | function doc_overrides(number,boolean,string,vector2,vector3,array,any=5) = 10; 14 | 15 | 16 | function inferred(number=1, boolean=true, string="hello", vector2=[1,2], vector3=[1,(2),3], array=[1,2,3,4], any) = 10; -------------------------------------------------------------------------------- /TestData/external_example.scad: -------------------------------------------------------------------------------- 1 | module mod_a() { 2 | 3 | } 4 | 5 | module mod_b(foo, soo, shoo = 7) {} 6 | 7 | function func_af(g,b,c) = 0; -------------------------------------------------------------------------------- /TestData/include_a_b_1.scad: -------------------------------------------------------------------------------- 1 | include 2 | include 3 | 4 | -------------------------------------------------------------------------------- /TestData/include_a_b_2.scad: -------------------------------------------------------------------------------- 1 | include 2 | include 3 | 4 | -------------------------------------------------------------------------------- /Tests/Data/import_test.scad: -------------------------------------------------------------------------------- 1 | /** 2 | * Calculates the sum of the given numbers in an interesting way. 3 | * 4 | * @param a the first number to add 5 | * @param b the second number to add 6 | * @return [number] the sum of the given numbers 7 | */ 8 | function interesting_sum(a = 1, b = 2) = a + b + a + b + a + b - 2 * a - 2 * b; 9 | 10 | 11 | /** 12 | * Renders an interesting cube. 13 | * 14 | * @param size the size of the cube 15 | * @param center [boolean] whether to center the cube 16 | */ 17 | module interesting_cube(size=[1,2,3], center) { 18 | cube(size, center); 19 | } -------------------------------------------------------------------------------- /Tests/Drivers/AddDialogDriver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Godot; 3 | using GodotExt; 4 | using GodotTestDriver.Drivers; 5 | using OpenScadGraphEditor.Widgets.AddDialog; 6 | 7 | namespace OpenScadGraphEditor.Tests.Drivers 8 | { 9 | public class AddDialogDriver : ControlDriver 10 | { 11 | public AddDialogDriver(Func producer, string description = "") : base(producer, description) 12 | { 13 | SearchField = new LineEditDriver(() => Root?.WithNameOrNull("LineEdit"), Description + " -> Search Field"); 14 | ItemList = new ItemListDriver(() => Root?.WithNameOrNull("ItemList"), Description + " -> Item List"); 15 | } 16 | 17 | public LineEditDriver SearchField { get; } 18 | public ItemListDriver ItemList { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /Tests/Drivers/IconButtonDriver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Godot; 4 | using GodotTestDriver.Drivers; 5 | using OpenScadGraphEditor.Widgets.IconButton; 6 | 7 | namespace OpenScadGraphEditor.Tests.Drivers 8 | { 9 | public class IconButtonDriver : ControlDriver 10 | { 11 | public IconButtonDriver(Func producer, string description = "") : base(producer, description) 12 | { 13 | } 14 | 15 | public bool IsPressed => PresentRoot.Pressed; 16 | 17 | public override async Task ClickCenter(ButtonList mouseButton = ButtonList.Left) 18 | { 19 | var button = VisibleRoot; 20 | if (button.Disabled) 21 | { 22 | throw new InvalidOperationException("Button is disabled"); 23 | } 24 | 25 | await base.ClickCenter(mouseButton); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Tests/Drivers/LineEditExt.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using GodotTestDriver.Drivers; 3 | 4 | namespace OpenScadGraphEditor.Tests.Drivers 5 | { 6 | public static class LineEditDriverExt 7 | { 8 | public static async Task SelectAndType(this LineEditDriver driver, string text) 9 | { 10 | await driver.ClickCenter(); 11 | await driver.Type(text); 12 | await driver.ReleaseFocus(); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Utils/ReflectionExt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | namespace OpenScadGraphEditor.Utils 7 | { 8 | public static class ReflectionExt 9 | { 10 | public static IEnumerable GetImplementors(this Type baseType, params Type[] constructorArguments) 11 | { 12 | return Assembly.GetExecutingAssembly() 13 | .GetTypes() 14 | .Where(it => baseType.IsAssignableFrom(it) && !it.IsAbstract) 15 | .Where(it => it.GetConstructor(constructorArguments) != null); 16 | } 17 | 18 | public static IEnumerable CreateInstances(this IEnumerable types, 19 | params object[] constructorArguments) 20 | { 21 | return types.Select(it => Activator.CreateInstance(it, constructorArguments)) 22 | .Cast(); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Widgets/AddDialog/EntryFittingDecision.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Widgets.AddDialog 2 | { 3 | /// 4 | /// A decision whether or not a node can be added to the graph and if it fits the context. 5 | /// 6 | public enum EntryFittingDecision 7 | { 8 | /// 9 | /// The node fits the context and can be added. 10 | /// 11 | Fits, 12 | 13 | /// 14 | /// The node does not fit the context but can be added anyway. 15 | /// 16 | DoesNotFit, 17 | 18 | /// 19 | /// The node does not fit the context and must not be added. 20 | /// 21 | Veto 22 | } 23 | } -------------------------------------------------------------------------------- /Widgets/AddDialog/IAddDialogEntry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Godot; 3 | using OpenScadGraphEditor.Actions; 4 | 5 | namespace OpenScadGraphEditor.Widgets.AddDialog 6 | { 7 | public interface IAddDialogEntry 8 | { 9 | /// 10 | /// The title that should be displayed. 11 | /// 12 | string Title { get; } 13 | 14 | /// 15 | /// Keywords that can be used to find the entry. 16 | /// 17 | string Keywords { get; } 18 | 19 | /// 20 | /// Action to be performed when this entry is selected. 21 | /// 22 | Action Action { get; } 23 | 24 | /// 25 | /// The icon to use to represent this entry. 26 | /// 27 | Texture Icon { get; } 28 | 29 | /// 30 | /// Whether or not the entry can be added given the current context. 31 | /// 32 | EntryFittingDecision CanAdd(RequestContext context); 33 | } 34 | } -------------------------------------------------------------------------------- /Widgets/AddDialog/IAddDialogEntryFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using OpenScadGraphEditor.Actions; 3 | using OpenScadGraphEditor.Library; 4 | using OpenScadGraphEditor.Refactorings; 5 | 6 | namespace OpenScadGraphEditor.Widgets.AddDialog 7 | { 8 | /// 9 | /// Factory interface for factories which want to produce entries for the . 10 | /// 11 | public interface IAddDialogEntryFactory 12 | { 13 | IEnumerable BuildEntries(IEditorContext editorContext); 14 | } 15 | } -------------------------------------------------------------------------------- /Widgets/BooleanEdit.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using GodotExt; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Widgets 6 | { 7 | public class BooleanEdit : LiteralWidgetBase 8 | { 9 | protected override CheckBox CreateControl() 10 | { 11 | var checkBox = new CheckBox(); 12 | checkBox.Connect("toggled") 13 | .To(this, nameof(NotifyChanged)); 14 | 15 | return checkBox; 16 | } 17 | 18 | protected override void ApplyControlValue() 19 | { 20 | Control.Pressed = Literal.Value; 21 | } 22 | 23 | private void NotifyChanged(bool value) 24 | { 25 | EmitValueChange(new BooleanLiteral(value)); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Widgets/ColorButton/ColorButton.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://Widgets/ColorButton/ColorButton.cs" type="Script" id=1] 4 | 5 | [node name="ColorButton" type="MarginContainer"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | script = ExtResource( 1 ) 9 | 10 | [node name="Button" type="Button" parent="."] 11 | margin_right = 1920.0 12 | margin_bottom = 1080.0 13 | 14 | [node name="MarginContainer" type="MarginContainer" parent="."] 15 | margin_right = 1920.0 16 | margin_bottom = 1080.0 17 | mouse_filter = 2 18 | custom_constants/margin_right = 5 19 | custom_constants/margin_top = 5 20 | custom_constants/margin_left = 5 21 | custom_constants/margin_bottom = 5 22 | 23 | [node name="ColorRect" type="ColorRect" parent="MarginContainer"] 24 | margin_left = 5.0 25 | margin_top = 5.0 26 | margin_right = 1915.0 27 | margin_bottom = 1075.0 28 | mouse_filter = 2 29 | -------------------------------------------------------------------------------- /Widgets/DragData.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | 3 | namespace OpenScadGraphEditor.Widgets 4 | { 5 | /// 6 | /// Wrapper class to get our own data in and out of Godot land. 7 | /// 8 | public class DragData : Reference 9 | { 10 | private readonly object _data; 11 | 12 | public DragData(object data) 13 | { 14 | _data = data; 15 | } 16 | 17 | public bool TryGetData(out T data) 18 | { 19 | if (_data is T t) 20 | { 21 | data = t; 22 | return true; 23 | } 24 | 25 | data = default; 26 | return false; 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Widgets/IScadLiteralWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenScadGraphEditor.Nodes; 3 | 4 | namespace OpenScadGraphEditor.Widgets 5 | { 6 | public interface IScadLiteralWidget 7 | { 8 | event Action LiteralValueChanged; 9 | event Action LiteralToggled; 10 | } 11 | } -------------------------------------------------------------------------------- /Widgets/IconButton/IconButton.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://Widgets/IconButton/IconButton.cs" type="Script" id=2] 4 | 5 | [node name="IconButton" type="MarginContainer"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | script = ExtResource( 2 ) 9 | 10 | [node name="Button" type="Button" parent="."] 11 | margin_right = 1920.0 12 | margin_bottom = 1080.0 13 | 14 | [node name="MarginContainer" type="MarginContainer" parent="."] 15 | margin_right = 1920.0 16 | margin_bottom = 1080.0 17 | mouse_filter = 2 18 | size_flags_horizontal = 3 19 | size_flags_vertical = 3 20 | custom_constants/margin_right = 0 21 | custom_constants/margin_top = 0 22 | custom_constants/margin_left = 0 23 | custom_constants/margin_bottom = 0 24 | 25 | [node name="TextureRect" type="TextureRect" parent="MarginContainer"] 26 | margin_right = 1920.0 27 | margin_bottom = 1080.0 28 | mouse_filter = 2 29 | expand = true 30 | stretch_mode = 6 31 | -------------------------------------------------------------------------------- /Widgets/InvokableRefactorDialog/DialogMode.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Widgets.InvokableRefactorDialog 2 | { 3 | public enum DialogMode 4 | { 5 | Edit, 6 | CreateFunction, 7 | CreateModule 8 | } 9 | } -------------------------------------------------------------------------------- /Widgets/LineEditBase.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using GodotExt; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Utils; 5 | 6 | namespace OpenScadGraphEditor.Widgets 7 | { 8 | public abstract class LineEditBase : LiteralWidgetBase where TLiteral : IScadLiteral 9 | { 10 | protected abstract string LiteralValue { get; } 11 | 12 | protected override LineEdit CreateControl() 13 | { 14 | var lineEdit = Prefabs.New(); 15 | lineEdit.ExpandToTextLength = true; 16 | lineEdit.Connect("focus_exited") 17 | .To(this, nameof(OnFocusExited)); 18 | return lineEdit; 19 | } 20 | 21 | protected override void ApplyControlValue() 22 | { 23 | Control.Text = LiteralValue; 24 | } 25 | 26 | protected abstract void OnFocusExited(); 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Widgets/NumberEdit.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using OpenScadGraphEditor.Nodes; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Widgets 6 | { 7 | [UsedImplicitly] 8 | public class NumberEdit : LineEditBase 9 | { 10 | protected override string LiteralValue => Literal.Value.SafeToString(); 11 | 12 | 13 | protected override void OnFocusExited() 14 | { 15 | EmitValueChange(new NumberLiteral(!Control.Text.SafeTryParse(out var result) ? 0d : result)); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Widgets/PortContainer/node_inner_theme.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Theme" load_steps=3 format=2] 2 | 3 | [ext_resource path="res://Fonts/Lato-Regular.ttf" type="DynamicFontData" id=1] 4 | 5 | [sub_resource type="DynamicFont" id=1] 6 | size = 14 7 | font_data = ExtResource( 1 ) 8 | 9 | [resource] 10 | default_font = SubResource( 1 ) 11 | CheckBox/constants/hseparation = 10 12 | -------------------------------------------------------------------------------- /Widgets/ProjectTree/ProjectTreeEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Godot; 3 | 4 | namespace OpenScadGraphEditor.Widgets.ProjectTree 5 | { 6 | public abstract class ProjectTreeEntry 7 | { 8 | public abstract string Title { get; } 9 | 10 | public virtual bool CanBeCollapsed => true; 11 | 12 | public abstract Texture Icon { get; } 13 | 14 | public abstract string Id { get; } 15 | 16 | public virtual List Children => new List(); 17 | 18 | public virtual bool TryGetDragData(out object data) 19 | { 20 | data = default; 21 | return false; 22 | } 23 | } 24 | 25 | public abstract class ProjectTreeEntry : ProjectTreeEntry 26 | { 27 | public abstract T Description { get; } 28 | } 29 | } -------------------------------------------------------------------------------- /Widgets/ProjectTree/ScadMainModuleTreeEntry.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Utils; 4 | 5 | namespace OpenScadGraphEditor.Widgets.ProjectTree 6 | { 7 | public class ScadMainModuleTreeEntry : ScadInvokableTreeEntry 8 | { 9 | 10 | public override Texture Icon => Resources.ModuleIcon; 11 | 12 | public ScadMainModuleTreeEntry(InvokableDescription description) : base(description) 13 | { 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Widgets/ProjectTree/ScadVariableTreeEntry.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using OpenScadGraphEditor.Library; 3 | using OpenScadGraphEditor.Nodes; 4 | using OpenScadGraphEditor.Utils; 5 | 6 | namespace OpenScadGraphEditor.Widgets.ProjectTree 7 | { 8 | public class ScadVariableTreeEntry : ProjectTreeEntry 9 | { 10 | public override Texture Icon { get; } 11 | 12 | public override string Id => Description.Id; 13 | 14 | public override string Title => $"{Description.Name} <{Description.TypeHint.HumanReadableName()}>"; 15 | public override VariableDescription Description { get; } 16 | 17 | public override bool TryGetDragData(out object data) 18 | { 19 | data = Description; 20 | return true; 21 | } 22 | 23 | public ScadVariableTreeEntry(VariableDescription description) 24 | { 25 | Description = description; 26 | Icon = Resources.VariableIcon; 27 | } 28 | 29 | } 30 | } -------------------------------------------------------------------------------- /Widgets/ScadConfirmationDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Godot; 3 | using JetBrains.Annotations; 4 | 5 | namespace OpenScadGraphEditor.Widgets 6 | { 7 | [UsedImplicitly] 8 | public class ScadConfirmationDialog : ConfirmationDialog 9 | { 10 | private Action _onConfirm; 11 | 12 | public override void _Ready() 13 | { 14 | Connect("confirmed", this, nameof(OnConfirmed)); 15 | } 16 | 17 | public void Open(string message, Action onConfirm) 18 | { 19 | DialogText = message; 20 | _onConfirm = onConfirm; 21 | PopupCentered(); 22 | } 23 | 24 | private void OnConfirmed() 25 | { 26 | _onConfirm.Invoke(); 27 | } 28 | 29 | } 30 | } -------------------------------------------------------------------------------- /Widgets/SimpleNodeWidgetTheme.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Theme" load_steps=5 format=2] 2 | 3 | [ext_resource path="res://Icons/node_simple_unselected0000.png" type="Texture" id=1] 4 | [ext_resource path="res://Icons/node_simple_selected0000.png" type="Texture" id=2] 5 | 6 | [sub_resource type="StyleBoxTexture" id=1] 7 | texture = ExtResource( 1 ) 8 | region_rect = Rect2( 0, 0, 32, 32 ) 9 | margin_left = 8.0 10 | margin_right = 8.0 11 | margin_top = 8.0 12 | margin_bottom = 8.0 13 | 14 | [sub_resource type="StyleBoxTexture" id=2] 15 | texture = ExtResource( 2 ) 16 | region_rect = Rect2( 0, 0, 32, 32 ) 17 | margin_left = 8.0 18 | margin_right = 8.0 19 | margin_top = 8.0 20 | margin_bottom = 8.0 21 | 22 | [resource] 23 | GraphNode/constants/port_offset = 2 24 | GraphNode/constants/title_offset = 0 25 | GraphNode/styles/frame = SubResource( 1 ) 26 | GraphNode/styles/selectedframe = SubResource( 2 ) 27 | -------------------------------------------------------------------------------- /Widgets/StringEdit.cs: -------------------------------------------------------------------------------- 1 | using Godot; 2 | using JetBrains.Annotations; 3 | using OpenScadGraphEditor.Nodes; 4 | 5 | namespace OpenScadGraphEditor.Widgets 6 | { 7 | [UsedImplicitly] 8 | public class StringEdit : LineEditBase 9 | { 10 | private int _maxLength; 11 | protected override string LiteralValue => Literal.Value; 12 | 13 | public int MaxLength 14 | { 15 | get => _maxLength; 16 | set 17 | { 18 | _maxLength = value; 19 | if (Control != null) 20 | { 21 | Control.MaxLength = value; 22 | } 23 | } 24 | } 25 | 26 | protected override LineEdit CreateControl() 27 | { 28 | var result = base.CreateControl(); 29 | result.MaxLength = MaxLength; 30 | return result; 31 | } 32 | 33 | 34 | protected override void OnFocusExited() 35 | { 36 | EmitValueChange(new StringLiteral(Control.Text)); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Widgets/VariableRefactorDialog/DialogMode.cs: -------------------------------------------------------------------------------- 1 | namespace OpenScadGraphEditor.Widgets.VariableRefactorDialog 2 | { 3 | public enum DialogMode 4 | { 5 | Create, 6 | Edit 7 | } 8 | } -------------------------------------------------------------------------------- /addons/GodotXUnit/.gitignore: -------------------------------------------------------------------------------- 1 | GodotXUnitApi/bin/ 2 | GodotXUnitApi/obj/ 3 | _work 4 | !_work/.gdignore -------------------------------------------------------------------------------- /addons/GodotXUnit/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ../../../.mono/build/obj/$(Configuration) 5 | 6 | -------------------------------------------------------------------------------- /addons/GodotXUnit/GodotTestRunner.cs: -------------------------------------------------------------------------------- 1 | using GodotXUnitApi.Internal; 2 | 3 | namespace GodotXUnit 4 | { 5 | public class GodotTestRunner : GodotXUnitRunnerBase 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /addons/GodotXUnit/GodotXUnitApi/Internal/Extensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Godot; 3 | 4 | namespace GodotXUnitApi.Internal 5 | { 6 | public static class Extensions 7 | { 8 | public static void ThrowIfNotOk(this Error check) 9 | { 10 | if (check == Error.Ok) return; 11 | throw new Exception($"godot error returned: {check}"); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /addons/GodotXUnit/GodotXUnitApi/Internal/GodotFactDiscoverer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Xunit.Abstractions; 3 | using Xunit.Sdk; 4 | 5 | namespace GodotXUnitApi.Internal 6 | { 7 | public class GodotFactDiscoverer : IXunitTestCaseDiscoverer 8 | { 9 | private readonly IMessageSink diagnosticMessageSink; 10 | 11 | public GodotFactDiscoverer(IMessageSink diagnosticMessageSink) 12 | { 13 | this.diagnosticMessageSink = diagnosticMessageSink; 14 | } 15 | 16 | public IEnumerable Discover(ITestFrameworkDiscoveryOptions options, 17 | ITestMethod method, 18 | IAttributeInfo attribute) 19 | { 20 | yield return new GodotTestCase(attribute, diagnosticMessageSink, options, method); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /addons/GodotXUnit/README: -------------------------------------------------------------------------------- 1 | 2 | the complete installation process can be found here: 3 | https://github.com/fledware/GodotXUnit 4 | -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/addons/GodotXUnit/assets/check.png -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/check.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/check.png-93c4fe9a01601b2e5a6e2306ca570d1e.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/GodotXUnit/assets/check.png" 13 | dest_files=[ "res://.import/check.png-93c4fe9a01601b2e5a6e2306ca570d1e.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/addons/GodotXUnit/assets/error.png -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/error.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/error.png-7d7dee34d347bdc60be578dd61003c69.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/GodotXUnit/assets/error.png" 13 | dest_files=[ "res://.import/error.png-7d7dee34d347bdc60be578dd61003c69.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/addons/GodotXUnit/assets/running.png -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/running.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/running.png-f4bbeb95db62dba2dfecfd374db363b5.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/GodotXUnit/assets/running.png" 13 | dest_files=[ "res://.import/running.png-f4bbeb95db62dba2dfecfd374db363b5.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/addons/GodotXUnit/assets/warn.png -------------------------------------------------------------------------------- /addons/GodotXUnit/assets/warn.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/warn.png-d4a9955bdfe89d37d1373fc2d882c282.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/GodotXUnit/assets/warn.png" 13 | dest_files=[ "res://.import/warn.png-d4a9955bdfe89d37d1373fc2d882c282.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /addons/GodotXUnit/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | name="GodotXUnit" 3 | description="A fully integrated xunit testing executor" 4 | author="https://github.com/fledware/GodotXUnit" 5 | version="0.10.0" 6 | script="Plugin.cs" -------------------------------------------------------------------------------- /addons/GodotXUnit/runner/EmptyScene.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene format=2] 2 | 3 | [node name="EmptyScene" type="Node"] 4 | -------------------------------------------------------------------------------- /addons/GodotXUnit/runner/GodotTestEntry.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | func _process(delta): 4 | if get_node_or_null("/root/GodotTestRunner") == null: 5 | var runner = load("res://addons/GodotXUnit/GodotTestRunner.cs").new() 6 | runner.name = "GodotTestRunner" 7 | get_tree().root.add_child(runner) 8 | set_process(false) 9 | -------------------------------------------------------------------------------- /addons/GodotXUnit/runner/GodotTestRunnerScene.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://addons/GodotXUnit/runner/GodotTestEntry.gd" type="Script" id=1] 4 | 5 | [node name="GodotTestRunnerScene" type="Node2D"] 6 | script = ExtResource( 1 ) 7 | -------------------------------------------------------------------------------- /addons/GodotXUnit/runner/RiderTestRunner/Runner.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="Runner.cs" type="Script" id=1] 4 | 5 | [node name="Node2D" type="Node2D"] 6 | script = ExtResource( 1 ) 7 | 8 | [node name="RichTextLabel" type="RichTextLabel" parent="."] 9 | margin_left = 10.0 10 | margin_top = 10.0 11 | margin_right = 500.0 12 | margin_bottom = 200.0 13 | rect_scale = Vector2( 2, 2 ) 14 | text = "Running" 15 | __meta__ = { 16 | "_edit_use_anchors_": false 17 | } -------------------------------------------------------------------------------- /default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /editor_font.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="DynamicFont" load_steps=2 format=2] 2 | 3 | [ext_resource path="res://JetBrainsMono-Regular.ttf" type="DynamicFontData" id=1] 4 | 5 | [resource] 6 | font_data = ExtResource( 1 ) 7 | -------------------------------------------------------------------------------- /entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.cs.allow-dyld-environment-variables 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.cs.allow-unsigned-executable-memory 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "6.0.0", 4 | "rollForward": "latestMajor", 5 | "allowPrerelease": false 6 | } 7 | } -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/icon.png -------------------------------------------------------------------------------- /icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /manual/images/.gdignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/.gdignore -------------------------------------------------------------------------------- /manual/images/add_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_item.png -------------------------------------------------------------------------------- /manual/images/add_loop_nest_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_loop_nest_level.png -------------------------------------------------------------------------------- /manual/images/add_node.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_node.gif -------------------------------------------------------------------------------- /manual/images/add_node_by_dragging.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_node_by_dragging.gif -------------------------------------------------------------------------------- /manual/images/add_one_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_one_node.png -------------------------------------------------------------------------------- /manual/images/add_operator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_operator.png -------------------------------------------------------------------------------- /manual/images/add_two_numbers_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/add_two_numbers_example.png -------------------------------------------------------------------------------- /manual/images/background_modifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/background_modifier.png -------------------------------------------------------------------------------- /manual/images/backup_configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/backup_configuration.png -------------------------------------------------------------------------------- /manual/images/boolean_operators.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/boolean_operators.png -------------------------------------------------------------------------------- /manual/images/branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/branch.png -------------------------------------------------------------------------------- /manual/images/cast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/cast.png -------------------------------------------------------------------------------- /manual/images/change_operator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/change_operator.gif -------------------------------------------------------------------------------- /manual/images/changing_color.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/changing_color.gif -------------------------------------------------------------------------------- /manual/images/code_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/code_preview.png -------------------------------------------------------------------------------- /manual/images/construct_vector23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/construct_vector23.png -------------------------------------------------------------------------------- /manual/images/construct_vectorxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/construct_vectorxy.png -------------------------------------------------------------------------------- /manual/images/create_function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/create_function.gif -------------------------------------------------------------------------------- /manual/images/create_module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/create_module.gif -------------------------------------------------------------------------------- /manual/images/create_variable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/create_variable.gif -------------------------------------------------------------------------------- /manual/images/ctrl_selections.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/ctrl_selections.gif -------------------------------------------------------------------------------- /manual/images/current_project_preamble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/current_project_preamble.png -------------------------------------------------------------------------------- /manual/images/debug_modifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/debug_modifier.png -------------------------------------------------------------------------------- /manual/images/debugging_aids_context_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/debugging_aids_context_menu.png -------------------------------------------------------------------------------- /manual/images/default_parameters.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/default_parameters.gif -------------------------------------------------------------------------------- /manual/images/default_preamble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/default_preamble.png -------------------------------------------------------------------------------- /manual/images/disable_modifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/disable_modifier.png -------------------------------------------------------------------------------- /manual/images/documentation_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/documentation_dialog.png -------------------------------------------------------------------------------- /manual/images/documentation_in_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/documentation_in_code.png -------------------------------------------------------------------------------- /manual/images/double_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/double_node.png -------------------------------------------------------------------------------- /manual/images/drag_module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/drag_module.gif -------------------------------------------------------------------------------- /manual/images/drag_selections_add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/drag_selections_add.gif -------------------------------------------------------------------------------- /manual/images/duplicate_module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/duplicate_module.gif -------------------------------------------------------------------------------- /manual/images/duplicate_variable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/duplicate_variable.gif -------------------------------------------------------------------------------- /manual/images/edit_documentation_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/edit_documentation_popup.png -------------------------------------------------------------------------------- /manual/images/edit_variable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/edit_variable.gif -------------------------------------------------------------------------------- /manual/images/enabling_live_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/enabling_live_preview.png -------------------------------------------------------------------------------- /manual/images/extract_function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/extract_function.gif -------------------------------------------------------------------------------- /manual/images/flip_inputs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/flip_inputs.gif -------------------------------------------------------------------------------- /manual/images/flow_example_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/flow_example_1.png -------------------------------------------------------------------------------- /manual/images/flow_example_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/flow_example_2.png -------------------------------------------------------------------------------- /manual/images/getting_setting_variables.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/getting_setting_variables.gif -------------------------------------------------------------------------------- /manual/images/half_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/half_node.png -------------------------------------------------------------------------------- /manual/images/help_screen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/help_screen.gif -------------------------------------------------------------------------------- /manual/images/implicit_union_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/implicit_union_example.png -------------------------------------------------------------------------------- /manual/images/implicit_union_example_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/implicit_union_example_2.png -------------------------------------------------------------------------------- /manual/images/include_files.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/include_files.gif -------------------------------------------------------------------------------- /manual/images/index_vector_string.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/index_vector_string.png -------------------------------------------------------------------------------- /manual/images/inspect_expression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/inspect_expression.png -------------------------------------------------------------------------------- /manual/images/intermediate_results_without_variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/intermediate_results_without_variables.png -------------------------------------------------------------------------------- /manual/images/intersect_for.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/intersect_for.gif -------------------------------------------------------------------------------- /manual/images/literals_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/literals_example.png -------------------------------------------------------------------------------- /manual/images/loop_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/loop_example.png -------------------------------------------------------------------------------- /manual/images/loop_example_1d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/loop_example_1d.png -------------------------------------------------------------------------------- /manual/images/loop_example_2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/loop_example_2d.png -------------------------------------------------------------------------------- /manual/images/make_root_modifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/make_root_modifier.png -------------------------------------------------------------------------------- /manual/images/nested_loop_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/nested_loop_example.png -------------------------------------------------------------------------------- /manual/images/node_comments.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/node_comments.gif -------------------------------------------------------------------------------- /manual/images/node_overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/node_overview.png -------------------------------------------------------------------------------- /manual/images/open_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/open_file.png -------------------------------------------------------------------------------- /manual/images/operator_module_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/operator_module_example.png -------------------------------------------------------------------------------- /manual/images/operator_module_usage_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/operator_module_usage_example.png -------------------------------------------------------------------------------- /manual/images/pairwise_multiply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/pairwise_multiply.png -------------------------------------------------------------------------------- /manual/images/port_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/port_colors.png -------------------------------------------------------------------------------- /manual/images/refactoring_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/refactoring_dialog.png -------------------------------------------------------------------------------- /manual/images/refactoring_popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/refactoring_popup.png -------------------------------------------------------------------------------- /manual/images/refresh_reference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/refresh_reference.png -------------------------------------------------------------------------------- /manual/images/remove_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/remove_item.png -------------------------------------------------------------------------------- /manual/images/reroute_delete_keep_connections.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/reroute_delete_keep_connections.gif -------------------------------------------------------------------------------- /manual/images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/screenshot.png -------------------------------------------------------------------------------- /manual/images/shift_drag_selection.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/shift_drag_selection.gif -------------------------------------------------------------------------------- /manual/images/split_vector23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/split_vector23.png -------------------------------------------------------------------------------- /manual/images/starting_live_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/starting_live_preview.png -------------------------------------------------------------------------------- /manual/images/string_enum_add_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/string_enum_add_remove.png -------------------------------------------------------------------------------- /manual/images/string_enum_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/string_enum_after.png -------------------------------------------------------------------------------- /manual/images/string_enum_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/string_enum_before.png -------------------------------------------------------------------------------- /manual/images/subtract_one_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/subtract_one_node.png -------------------------------------------------------------------------------- /manual/images/sum_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/sum_node.png -------------------------------------------------------------------------------- /manual/images/unintuitive_variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/unintuitive_variables.png -------------------------------------------------------------------------------- /manual/images/usage_search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/usage_search.gif -------------------------------------------------------------------------------- /manual/images/using_external_functionality.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/using_external_functionality.gif -------------------------------------------------------------------------------- /manual/images/using_reroute_nodes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/using_reroute_nodes.gif -------------------------------------------------------------------------------- /manual/images/variable_order1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/variable_order1.png -------------------------------------------------------------------------------- /manual/images/variable_order2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/variable_order2.png -------------------------------------------------------------------------------- /manual/images/variables_panel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/variables_panel.gif -------------------------------------------------------------------------------- /manual/images/windows11_pen_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/derkork/openscad-graph-editor/7192f5216851c17f74ecf347bb65bd486420d5dd/manual/images/windows11_pen_settings.png -------------------------------------------------------------------------------- /ui_theme.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Theme" load_steps=4 format=2] 2 | 3 | [ext_resource path="res://Fonts/Lato-Regular.ttf" type="DynamicFontData" id=1] 4 | [ext_resource path="res://editor_font.tres" type="DynamicFont" id=2] 5 | 6 | [sub_resource type="DynamicFont" id=1] 7 | font_data = ExtResource( 1 ) 8 | 9 | [resource] 10 | default_font = SubResource( 1 ) 11 | GraphNode/constants/port_offset = 20 12 | TextEdit/fonts/font = ExtResource( 2 ) 13 | --------------------------------------------------------------------------------