mirror of
https://codeberg.org/StreamGraph/StreamGraph.git
synced 2024-11-13 19:49:55 +01:00
make descriptor renderers into scenes (#74)
closes #60 Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/74 Co-authored-by: Lera Elvoé <yagich@poto.cafe> Co-committed-by: Lera Elvoé <yagich@poto.cafe>
This commit is contained in:
parent
df3b3c4990
commit
c7e003ffe6
27 changed files with 708 additions and 88 deletions
|
@ -25,6 +25,17 @@ const PORT_USAGE_ICONS := {
|
|||
Port.UsageType.BOTH: preload("res://graph_node_renderer/textures/port_any_12.svg"),
|
||||
}
|
||||
|
||||
const DESCRIPTOR_SCENES := {
|
||||
"button": preload("res://graph_node_renderer/descriptors/button_descriptor.tscn"),
|
||||
"field": preload("res://graph_node_renderer/descriptors/field_descriptor.tscn"),
|
||||
"singlechoice": preload("res://graph_node_renderer/descriptors/single_choice_descriptor.tscn"),
|
||||
"codeblock": preload("res://graph_node_renderer/descriptors/codeblock_descriptor.tscn"),
|
||||
"checkbox": preload("res://graph_node_renderer/descriptors/check_box_descriptor.tscn"),
|
||||
"spinbox": preload("res://graph_node_renderer/descriptors/spin_box_descriptor.tscn"),
|
||||
"label": preload("res://graph_node_renderer/descriptors/label_descriptor.tscn"),
|
||||
}
|
||||
|
||||
|
||||
## Setups up all the properties based off [member node]. Including looping through
|
||||
## [method DeckNode.get_all_ports()] and setting up all the descriptors.
|
||||
func _ready() -> void:
|
||||
|
@ -112,94 +123,13 @@ func _on_node_renamed(new_name: String) -> void:
|
|||
|
||||
func update_port(port: Port) -> void:
|
||||
var descriptor_split := port.descriptor.split(":")
|
||||
match descriptor_split[0]:
|
||||
"button":
|
||||
var button := Button.new()
|
||||
add_child(button)
|
||||
button.text = port.label
|
||||
if port.port_type == DeckNode.PortType.OUTPUT:
|
||||
button.pressed.connect(
|
||||
func():
|
||||
node.send(port.index_of_type, true)
|
||||
)
|
||||
#elif port.port_type == DeckNode.PortType.INPUT:
|
||||
var d: DescriptorContainer
|
||||
if DESCRIPTOR_SCENES.has(descriptor_split[0]):
|
||||
d = DESCRIPTOR_SCENES[descriptor_split[0]].instantiate()
|
||||
else:
|
||||
button.pressed.connect(
|
||||
func():
|
||||
node._receive(port.index_of_type, true)
|
||||
)
|
||||
"field":
|
||||
var line_edit := LineEdit.new()
|
||||
add_child(line_edit)
|
||||
if port.value:
|
||||
line_edit.text = str(port.value)
|
||||
line_edit.placeholder_text = port.label
|
||||
port.value_callback = line_edit.get_text
|
||||
line_edit.text_changed.connect(port.set_value)
|
||||
"singlechoice":
|
||||
var box := OptionButton.new()
|
||||
if descriptor_split.slice(1).is_empty():
|
||||
if port.value:
|
||||
box.add_item(port.value)
|
||||
else:
|
||||
box.add_item(port.label)
|
||||
else:
|
||||
for item in descriptor_split.slice(1):
|
||||
box.add_item(item)
|
||||
add_child(box)
|
||||
port.value_callback = func(): return box.get_item_text(box.get_selected_id())
|
||||
if port.type == DeckType.Types.STRING:
|
||||
box.item_selected.connect(
|
||||
func(_id: int):
|
||||
port.set_value.call(box.get_item_text(box.get_selected_id()))
|
||||
)
|
||||
"codeblock":
|
||||
var code_edit = CodeEdit.new()
|
||||
add_child(code_edit)
|
||||
if port.value:
|
||||
code_edit.text = str(port.value)
|
||||
code_edit.placeholder_text = port.label
|
||||
port.value_callback = code_edit.get_text
|
||||
code_edit.text_changed.connect(port.set_value.bind(code_edit.get_text))
|
||||
code_edit.custom_minimum_size = Vector2(200, 100)
|
||||
code_edit.size_flags_vertical = SIZE_EXPAND_FILL
|
||||
"checkbox":
|
||||
var cb := CheckBox.new()
|
||||
add_child(cb)
|
||||
if descriptor_split.size() > 1:
|
||||
cb.button_pressed = true
|
||||
if port.value is bool:
|
||||
cb.button_pressed = port.value
|
||||
cb.text = port.label
|
||||
port.value_callback = cb.is_pressed
|
||||
cb.toggled.connect(port.set_value)
|
||||
"spinbox":
|
||||
var sb := SpinBox.new()
|
||||
add_child(sb)
|
||||
if port.value != null:
|
||||
sb.value = float(port.value)
|
||||
if "unbounded" in descriptor_split:
|
||||
sb.max_value = 99999
|
||||
sb.allow_greater = true
|
||||
sb.allow_lesser = true
|
||||
if descriptor_split.size() > 2:
|
||||
sb.step = float(descriptor_split[1])
|
||||
else:
|
||||
sb.step = 1.0
|
||||
else:
|
||||
sb.min_value = float(descriptor_split[1])
|
||||
if descriptor_split.size() > 2:
|
||||
sb.max_value = float(descriptor_split[2])
|
||||
if descriptor_split.size() > 3:
|
||||
sb.step = float(descriptor_split[3])
|
||||
port.value_callback = sb.get_value
|
||||
sb.value_changed.connect(port.set_value)
|
||||
_:
|
||||
var label := Label.new()
|
||||
add_child(label)
|
||||
label.text = port.label
|
||||
if port.port_type == DeckNode.PortType.OUTPUT:
|
||||
label.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT
|
||||
d = DESCRIPTOR_SCENES.label.instantiate()
|
||||
add_child(d)
|
||||
d.set_up_from_port(port, node)
|
||||
|
||||
set_slot(
|
||||
port.index,
|
||||
|
|
21
graph_node_renderer/descriptors/button_descriptor.gd
Normal file
21
graph_node_renderer/descriptors/button_descriptor.gd
Normal file
|
@ -0,0 +1,21 @@
|
|||
# meta-description: An empty template with StreamGraph license header.
|
||||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var button: Button = %Button
|
||||
|
||||
|
||||
func _setup(port: Port, node: DeckNode) -> void:
|
||||
button.text = port.label
|
||||
if port.port_type == DeckNode.PortType.OUTPUT:
|
||||
button.pressed.connect(
|
||||
func():
|
||||
node.send(port.index_of_type, true)
|
||||
)
|
||||
else:
|
||||
button.pressed.connect(
|
||||
func():
|
||||
node._receive(port.index_of_type, true)
|
||||
)
|
12
graph_node_renderer/descriptors/button_descriptor.tscn
Normal file
12
graph_node_renderer/descriptors/button_descriptor.tscn
Normal file
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://ckr4kal7nctrx"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_hfny8"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/button_descriptor.gd" id="2_65frt"]
|
||||
|
||||
[node name="ButtonDescriptor" instance=ExtResource("1_hfny8")]
|
||||
script = ExtResource("2_65frt")
|
||||
|
||||
[node name="Button" type="Button" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
16
graph_node_renderer/descriptors/check_box_descriptor.gd
Normal file
16
graph_node_renderer/descriptors/check_box_descriptor.gd
Normal file
|
@ -0,0 +1,16 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var check_box: CheckBox = %CheckBox
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
if descriptor.size() > 1:
|
||||
check_box.button_pressed = true
|
||||
if port.value is bool:
|
||||
check_box.button_pressed = port.value
|
||||
check_box.text = port.label
|
||||
port.value_callback = check_box.is_pressed
|
||||
check_box.toggled.connect(port.set_value)
|
12
graph_node_renderer/descriptors/check_box_descriptor.tscn
Normal file
12
graph_node_renderer/descriptors/check_box_descriptor.tscn
Normal file
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://t1n4n78tstam"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_seff0"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/check_box_descriptor.gd" id="2_3wtke"]
|
||||
|
||||
[node name="CheckBoxDescriptor" instance=ExtResource("1_seff0")]
|
||||
script = ExtResource("2_3wtke")
|
||||
|
||||
[node name="CheckBox" type="CheckBox" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
16
graph_node_renderer/descriptors/codeblock_descriptor.gd
Normal file
16
graph_node_renderer/descriptors/codeblock_descriptor.gd
Normal file
|
@ -0,0 +1,16 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var code_edit: CodeEdit = %CodeEdit
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
if port.value:
|
||||
code_edit.text = str(port.value)
|
||||
code_edit.placeholder_text = port.label
|
||||
port.value_callback = code_edit.get_text
|
||||
code_edit.text_changed.connect(port.set_value.bind(code_edit.get_text))
|
||||
code_edit.custom_minimum_size = Vector2(200, 100)
|
||||
code_edit.size_flags_vertical = SIZE_EXPAND_FILL
|
12
graph_node_renderer/descriptors/codeblock_descriptor.tscn
Normal file
12
graph_node_renderer/descriptors/codeblock_descriptor.tscn
Normal file
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://chkr2fe7myh8u"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_mf186"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/codeblock_descriptor.gd" id="2_2orkx"]
|
||||
|
||||
[node name="CodeblockDescriptor" instance=ExtResource("1_mf186")]
|
||||
script = ExtResource("2_2orkx")
|
||||
|
||||
[node name="CodeEdit" type="CodeEdit" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
37
graph_node_renderer/descriptors/descriptor_container.gd
Normal file
37
graph_node_renderer/descriptors/descriptor_container.gd
Normal file
|
@ -0,0 +1,37 @@
|
|||
# meta-description: An empty template with StreamGraph license header.
|
||||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends HBoxContainer
|
||||
class_name DescriptorContainer
|
||||
|
||||
@onready var type_icon: TextureRect = %TypeIcon
|
||||
var descriptor: Array
|
||||
|
||||
const TYPE_ICONS := {
|
||||
DeckType.Types.BOOL: preload("res://graph_node_renderer/textures/type_bool.svg"),
|
||||
DeckType.Types.NUMERIC: preload("res://graph_node_renderer/textures/type_numeric.svg"),
|
||||
DeckType.Types.STRING: preload("res://graph_node_renderer/textures/type_string.svg"),
|
||||
DeckType.Types.ARRAY: preload("res://graph_node_renderer/textures/type_array.svg"),
|
||||
DeckType.Types.DICTIONARY: preload("res://graph_node_renderer/textures/type_dictionary.svg"),
|
||||
}
|
||||
|
||||
|
||||
@warning_ignore("unused_parameter")
|
||||
func set_up_from_port(port: Port, node: DeckNode) -> void:
|
||||
descriptor = port.descriptor.split(":")
|
||||
_setup(port, node)
|
||||
if port.port_type == DeckNode.PortType.VIRTUAL or port.type == DeckType.Types.ANY:
|
||||
type_icon.visible = false
|
||||
return
|
||||
|
||||
type_icon.modulate = DeckNodeRendererGraphNode.TYPE_COLORS[port.type]
|
||||
type_icon.tooltip_text = "Type: %s" % DeckType.type_str(port.type).to_lower()
|
||||
type_icon.texture = TYPE_ICONS[port.type]
|
||||
if port.port_type == DeckNode.PortType.OUTPUT:
|
||||
move_child(type_icon, -1)
|
||||
|
||||
|
||||
@warning_ignore("unused_parameter")
|
||||
func _setup(port: Port, node: DeckNode) -> void:
|
||||
pass
|
15
graph_node_renderer/descriptors/descriptor_container.tscn
Normal file
15
graph_node_renderer/descriptors/descriptor_container.tscn
Normal file
|
@ -0,0 +1,15 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://8fmb03aluec"]
|
||||
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/descriptor_container.gd" id="1_mllll"]
|
||||
[ext_resource type="Texture2D" uid="uid://bol5ialhcf2ro" path="res://graph_node_renderer/textures/type_bool.svg" id="2_jphog"]
|
||||
|
||||
[node name="DescriptorContainer" type="HBoxContainer"]
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource("1_mllll")
|
||||
|
||||
[node name="TypeIcon" type="TextureRect" parent="."]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(16, 16)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_jphog")
|
||||
stretch_mode = 3
|
14
graph_node_renderer/descriptors/field_descriptor.gd
Normal file
14
graph_node_renderer/descriptors/field_descriptor.gd
Normal file
|
@ -0,0 +1,14 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var line_edit: LineEdit = %LineEdit
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
if port.value:
|
||||
line_edit.text = str(port.value)
|
||||
line_edit.placeholder_text = port.label
|
||||
port.value_callback = line_edit.get_text
|
||||
line_edit.text_changed.connect(port.set_value)
|
13
graph_node_renderer/descriptors/field_descriptor.tscn
Normal file
13
graph_node_renderer/descriptors/field_descriptor.tscn
Normal file
|
@ -0,0 +1,13 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://c8024ohyvhk5i"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_5hcki"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/field_descriptor.gd" id="2_fot1l"]
|
||||
|
||||
[node name="FieldDescriptor" instance=ExtResource("1_5hcki")]
|
||||
script = ExtResource("2_fot1l")
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
caret_blink = true
|
12
graph_node_renderer/descriptors/label_descriptor.gd
Normal file
12
graph_node_renderer/descriptors/label_descriptor.gd
Normal file
|
@ -0,0 +1,12 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var label: Label = %Label
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
label.text = port.label
|
||||
if port.port_type == DeckNode.PortType.OUTPUT:
|
||||
label.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT
|
12
graph_node_renderer/descriptors/label_descriptor.tscn
Normal file
12
graph_node_renderer/descriptors/label_descriptor.tscn
Normal file
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://rb5g86kwrovd"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_45bmr"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/label_descriptor.gd" id="2_mwy0b"]
|
||||
|
||||
[node name="LabelDescriptor" instance=ExtResource("1_45bmr")]
|
||||
script = ExtResource("2_mwy0b")
|
||||
|
||||
[node name="Label" type="Label" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
23
graph_node_renderer/descriptors/single_choice_descriptor.gd
Normal file
23
graph_node_renderer/descriptors/single_choice_descriptor.gd
Normal file
|
@ -0,0 +1,23 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var box: OptionButton = %Box
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
if descriptor.slice(1).is_empty():
|
||||
if port.value:
|
||||
box.add_item(port.value)
|
||||
else:
|
||||
box.add_item(port.label)
|
||||
else:
|
||||
for item in descriptor.slice(1):
|
||||
box.add_item(item)
|
||||
port.value_callback = func(): return box.get_item_text(box.get_selected_id())
|
||||
if port.type == DeckType.Types.STRING:
|
||||
box.item_selected.connect(
|
||||
func(_id: int):
|
||||
port.set_value.call(box.get_item_text(box.get_selected_id()))
|
||||
)
|
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://b1gndmvua0sc1"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_d3gnn"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/single_choice_descriptor.gd" id="2_v3n2u"]
|
||||
|
||||
[node name="SingleChoiceDescriptor" instance=ExtResource("1_d3gnn")]
|
||||
script = ExtResource("2_v3n2u")
|
||||
|
||||
[node name="Box" type="OptionButton" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
27
graph_node_renderer/descriptors/spin_box_descriptor.gd
Normal file
27
graph_node_renderer/descriptors/spin_box_descriptor.gd
Normal file
|
@ -0,0 +1,27 @@
|
|||
# (c) 2023-present Eroax
|
||||
# (c) 2023-present Yagich
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
extends DescriptorContainer
|
||||
|
||||
@onready var spin_box: SpinBox = %SpinBox
|
||||
|
||||
|
||||
func _setup(port: Port, _node: DeckNode) -> void:
|
||||
if port.value != null:
|
||||
spin_box.value = float(port.value)
|
||||
if "unbounded" in descriptor:
|
||||
spin_box.max_value = 99999
|
||||
spin_box.allow_greater = true
|
||||
spin_box.allow_lesser = true
|
||||
if descriptor.size() > 2:
|
||||
spin_box.step = float(descriptor[1])
|
||||
else:
|
||||
spin_box.step = 1.0
|
||||
else:
|
||||
spin_box.min_value = float(descriptor[1])
|
||||
if descriptor.size() > 2:
|
||||
spin_box.max_value = float(descriptor[2])
|
||||
if descriptor.size() > 3:
|
||||
spin_box.step = float(descriptor[3])
|
||||
port.value_callback = spin_box.get_value
|
||||
spin_box.value_changed.connect(port.set_value)
|
12
graph_node_renderer/descriptors/spin_box_descriptor.tscn
Normal file
12
graph_node_renderer/descriptors/spin_box_descriptor.tscn
Normal file
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bvdxb4cj0anb6"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8fmb03aluec" path="res://graph_node_renderer/descriptors/descriptor_container.tscn" id="1_ea46l"]
|
||||
[ext_resource type="Script" path="res://graph_node_renderer/descriptors/spin_box_descriptor.gd" id="2_cxb6h"]
|
||||
|
||||
[node name="SpinBoxDescriptor" instance=ExtResource("1_ea46l")]
|
||||
script = ExtResource("2_cxb6h")
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
55
graph_node_renderer/textures/type_array.svg
Normal file
55
graph_node_renderer/textures/type_array.svg
Normal file
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="15.999999"
|
||||
viewBox="0 0 4.2333332 4.233333"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-83.939057,-9.2887143)">
|
||||
<g
|
||||
id="g31"
|
||||
transform="translate(88.370832,3.6852425)"
|
||||
style="stroke-width:1">
|
||||
<g
|
||||
id="g67"
|
||||
transform="translate(-4.4317707,5.6034716)"
|
||||
style="stroke-width:1">
|
||||
<rect
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect29"
|
||||
width="1.8520833"
|
||||
height="1.8520833"
|
||||
x="0"
|
||||
y="0"
|
||||
rx="0.34862742"
|
||||
ry="0.34862742" />
|
||||
<rect
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect30"
|
||||
width="1.8520833"
|
||||
height="1.8520833"
|
||||
x="2.3812499"
|
||||
y="0"
|
||||
rx="0.34862742"
|
||||
ry="0.34862742" />
|
||||
<rect
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect31"
|
||||
width="1.8520833"
|
||||
height="1.8520833"
|
||||
x="0"
|
||||
y="2.3812499"
|
||||
rx="0.34862742"
|
||||
ry="0.34862742" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
37
graph_node_renderer/textures/type_array.svg.import
Normal file
37
graph_node_renderer/textures/type_array.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bigqmjuo8snv6"
|
||||
path="res://.godot/imported/type_array.svg-2e1191c84d43632ec1e2fc36c8d61944.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graph_node_renderer/textures/type_array.svg"
|
||||
dest_files=["res://.godot/imported/type_array.svg-2e1191c84d43632ec1e2fc36c8d61944.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
55
graph_node_renderer/textures/type_bool.svg
Normal file
55
graph_node_renderer/textures/type_bool.svg
Normal file
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="15.999999"
|
||||
viewBox="0 0 4.2333332 4.233333"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<linearGradient
|
||||
id="linearGradient34">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop34" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0.5"
|
||||
id="stop36" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0.5"
|
||||
id="stop37" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop35" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient34"
|
||||
id="linearGradient35"
|
||||
x1="31.030689"
|
||||
y1="18.150694"
|
||||
x2="39.497356"
|
||||
y2="9.6840267"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.50000002,0,0,0.50000002,-6.5725387,-62.868126)" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-53.792779,-8.9428061)">
|
||||
<circle
|
||||
style="fill:url(#linearGradient35);stroke:none;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path25"
|
||||
transform="rotate(90)"
|
||||
cx="11.059473"
|
||||
cy="-55.909447"
|
||||
r="2.1166666" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
37
graph_node_renderer/textures/type_bool.svg.import
Normal file
37
graph_node_renderer/textures/type_bool.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bol5ialhcf2ro"
|
||||
path="res://.godot/imported/type_bool.svg-92b38d7de4df29735406c7b522d91e73.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graph_node_renderer/textures/type_bool.svg"
|
||||
dest_files=["res://.godot/imported/type_bool.svg-92b38d7de4df29735406c7b522d91e73.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
59
graph_node_renderer/textures/type_dictionary.svg
Normal file
59
graph_node_renderer/textures/type_dictionary.svg
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="15.999999"
|
||||
viewBox="0 0 4.2333332 4.233333"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-92.123223,-8.9428071)">
|
||||
<g
|
||||
id="g66"
|
||||
transform="matrix(0.5,0,0,0.5,92.123224,8.9428069)"
|
||||
style="stroke-width:2">
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.588;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect53"
|
||||
width="3.7041667"
|
||||
height="3.7041667"
|
||||
x="0"
|
||||
y="0"
|
||||
rx="0.69725484"
|
||||
ry="0.69725484" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.588;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect54"
|
||||
width="3.7041667"
|
||||
height="3.7041667"
|
||||
x="4.7624998"
|
||||
y="0"
|
||||
rx="0.69725484"
|
||||
ry="0.69725484" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.588;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect55"
|
||||
width="3.7041667"
|
||||
height="3.7041667"
|
||||
x="0"
|
||||
y="4.7625003"
|
||||
rx="0.69725484"
|
||||
ry="0.69725484" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.588;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect56"
|
||||
width="3.7041667"
|
||||
height="3.7041667"
|
||||
x="4.7624998"
|
||||
y="4.7624998"
|
||||
rx="0.69725484"
|
||||
ry="0.69725484" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
37
graph_node_renderer/textures/type_dictionary.svg.import
Normal file
37
graph_node_renderer/textures/type_dictionary.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://po7fd7hyx61b"
|
||||
path="res://.godot/imported/type_dictionary.svg-99302a86f715d579f92f26a0938f2f8e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graph_node_renderer/textures/type_dictionary.svg"
|
||||
dest_files=["res://.godot/imported/type_dictionary.svg-99302a86f715d579f92f26a0938f2f8e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
23
graph_node_renderer/textures/type_numeric.svg
Normal file
23
graph_node_renderer/textures/type_numeric.svg
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="15.999999"
|
||||
viewBox="0 0 4.2333332 4.233333"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-63.529969,-8.9428061)">
|
||||
<path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path26"
|
||||
d="m -11.059473,63.52997 a 2.1166666,2.1166666 0 0 1 1.9555449,1.306654 2.1166666,2.1166666 0 0 1 -0.4588357,2.306722 2.1166666,2.1166666 0 0 1 -2.3067222,0.458836 2.1166666,2.1166666 0 0 1 -1.306654,-1.955545 h 2.116667 z"
|
||||
transform="rotate(-90)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 876 B |
37
graph_node_renderer/textures/type_numeric.svg.import
Normal file
37
graph_node_renderer/textures/type_numeric.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4nxbgk4y2k2g"
|
||||
path="res://.godot/imported/type_numeric.svg-e123dacd412d3ef8051ed92c771cabc3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graph_node_renderer/textures/type_numeric.svg"
|
||||
dest_files=["res://.godot/imported/type_numeric.svg-e123dacd412d3ef8051ed92c771cabc3.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
47
graph_node_renderer/textures/type_string.svg
Normal file
47
graph_node_renderer/textures/type_string.svg
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="15.999995"
|
||||
viewBox="0 0 4.2333332 4.233332"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-73.923135,-8.9428071)">
|
||||
<g
|
||||
id="g29"
|
||||
transform="translate(73.923134,8.9428069)"
|
||||
style="stroke-width:1">
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.793998;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle26"
|
||||
cx="2.1166666"
|
||||
cy="2.1166666"
|
||||
r="2.1166666" />
|
||||
<circle
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle27"
|
||||
cx="2.1166666"
|
||||
cy="2.8608072"
|
||||
r="0.37620443" />
|
||||
<circle
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle28"
|
||||
cx="3.1171222"
|
||||
cy="2.8608072"
|
||||
r="0.37620443" />
|
||||
<circle
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.794;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle29"
|
||||
cx="1.1162109"
|
||||
cy="2.8608072"
|
||||
r="0.37620443" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
37
graph_node_renderer/textures/type_string.svg.import
Normal file
37
graph_node_renderer/textures/type_string.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://i0jytdaqbhfq"
|
||||
path="res://.godot/imported/type_string.svg-899d33697d621295887bbca38bdc4ef5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graph_node_renderer/textures/type_string.svg"
|
||||
dest_files=["res://.godot/imported/type_string.svg-899d33697d621295887bbca38bdc4ef5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
Loading…
Reference in a new issue