Phase 14 - Organized directories.

This commit is contained in:
2026-10-03 19:13:39 -04:00
parent 6666173c4f
commit d950fd9d9a
307 changed files with 1452 additions and 1110 deletions
@@ -1,10 +1,10 @@
[gd_scene format=3 uid="uid://dr5ef3l2var2s"]
[ext_resource type="Script" uid="uid://b4rsae8suaxj7" path="res://scripts/stickman_rig.gd" id="1_rig_script"]
[ext_resource type="Script" path="res://scripts/stickman_locomotion.gd" id="2_locomotion"]
[ext_resource type="Script" path="res://scripts/stickman_ragdoll.gd" id="3_ragdoll"]
[ext_resource type="Script" path="res://scripts/stickman_action_runner.gd" id="4_runner"]
[ext_resource type="Script" path="res://scripts/stickman_prop_interactor.gd" id="5_prop_interactor"]
[ext_resource type="Script" uid="uid://b4rsae8suaxj7" path="res://scripts/characters/stickman/stickman_rig.gd" id="1_rig_script"]
[ext_resource type="Script" path="res://scripts/characters/stickman/stickman_locomotion.gd" id="2_locomotion"]
[ext_resource type="Script" path="res://scripts/characters/stickman/stickman_ragdoll.gd" id="3_ragdoll"]
[ext_resource type="Script" path="res://scripts/characters/stickman/stickman_action_runner.gd" id="4_runner"]
[ext_resource type="Script" path="res://scripts/characters/stickman/stickman_prop_interactor.gd" id="5_prop_interactor"]
[sub_resource type="GDScript" id="GDScript_f0s26"]
script/source = "@tool
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/prop_attach_preview.gd" id="1"]
[ext_resource type="Script" path="res://scripts/editors/prop/prop_attach_preview.gd" id="1"]
[node name="PropAttachPreview" type="PanelContainer"]
custom_minimum_size = Vector2(360, 0)
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3]
[ext_resource type="Script" path="res://scripts/prop_editor.gd" id="1_editor_script"]
[ext_resource type="Script" path="res://scripts/prop_canvas.gd" id="2_canvas_script"]
[ext_resource type="Script" path="res://scripts/editors/prop/prop_editor.gd" id="1_editor_script"]
[ext_resource type="Script" path="res://scripts/editors/prop/prop_canvas.gd" id="2_canvas_script"]
[sub_resource type="StyleBoxFlat" id="StyleBox_canvas"]
bg_color = Color(0.121569, 0.121569, 0.121569, 1)
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/action_editor.gd" id="1_ae"]
[ext_resource type="Script" path="res://scripts/editors/stage/action_editor.gd" id="1_ae"]
[node name="ActionEditor" type="PopupPanel"]
script = ExtResource("1_ae")
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/queue_panel.gd" id="1_qp"]
[ext_resource type="Script" path="res://scripts/editors/stage/queue_panel.gd" id="1_qp"]
[node name="QueuePanel" type="PopupPanel"]
script = ExtResource("1_qp")
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/rule_editor.gd" id="1_re"]
[ext_resource type="Script" path="res://scripts/editors/stage/rule_editor.gd" id="1_re"]
[node name="RuleEditor" type="PopupPanel"]
script = ExtResource("1_re")
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/rule_panel.gd" id="1_rp"]
[ext_resource type="Script" path="res://scripts/editors/stage/rule_panel.gd" id="1_rp"]
[node name="RulePanel" type="PopupPanel"]
script = ExtResource("1_rp")
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/speech_composer.gd" id="1_composer"]
[ext_resource type="Script" path="res://scripts/editors/stage/speech_composer.gd" id="1_composer"]
[node name="SpeechComposer" type="Control"]
script = ExtResource("1_composer")
@@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=3]
[ext_resource type="Script" path="res://scripts/body_part_panel.gd" id="1_panel_script"]
[ext_resource type="Script" path="res://scripts/editors/stickman/body_part_panel.gd" id="1_panel_script"]
[sub_resource type="StyleBoxFlat" id="StyleBox_panel"]
bg_color = Color(0.15, 0.15, 0.15, 1)
@@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://6wqo0sp4eij6"]
[ext_resource type="Script" uid="uid://dlacmxk257ro" path="res://scripts/stickman_editor.gd" id="1_editor_script"]
[ext_resource type="Script" uid="uid://codv3g6qw1tef" path="res://scripts/whole_stickman_preview.gd" id="2_preview_script"]
[ext_resource type="Script" uid="uid://dlacmxk257ro" path="res://scripts/editors/stickman/stickman_editor.gd" id="1_editor_script"]
[ext_resource type="Script" uid="uid://codv3g6qw1tef" path="res://scripts/editors/stickman/whole_stickman_preview.gd" id="2_preview_script"]
[sub_resource type="StyleBoxFlat" id="StyleBox_preview"]
bg_color = Color(0.12, 0.12, 0.12, 1)
+308
View File
@@ -0,0 +1,308 @@
[gd_scene format=3 uid="uid://bebku4g6ma0ge"]
[sub_resource type="GDScript" id="GDScript_f0s26"]
script/source = "@tool
extends Node2D
@export var radius : float = 100.0:
set(value):
radius = value
queue_redraw()
@export var color : Color = Color.WHITE:
set(value):
color = value
queue_redraw()
func _draw():
draw_circle(Vector2(0,0), radius, color)
"
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_yvxej"]
target_nodepath = NodePath("../IK_Targets/Right_Hand")
flip_bend_direction = true
joint_one_bone_idx = 4
joint_one_bone2d_node = NodePath("Torso/RightUpperArm")
joint_two_bone_idx = 5
joint_two_bone2d_node = NodePath("Torso/RightUpperArm/RightLowerArm")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_f0s26"]
target_nodepath = NodePath("../IK_Targets/Left_Hand")
joint_one_bone_idx = 2
joint_one_bone2d_node = NodePath("Torso/LeftUpperArm")
joint_two_bone_idx = 3
joint_two_bone2d_node = NodePath("Torso/LeftUpperArm/LeftLowerArm")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_ylko5"]
target_nodepath = NodePath("../IK_Targets/Right_Leg")
joint_one_bone_idx = 8
joint_one_bone2d_node = NodePath("Torso/RightUpperLeg")
joint_two_bone_idx = 9
joint_two_bone2d_node = NodePath("Torso/RightUpperLeg/RightLowerLeg")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_2leu7"]
target_nodepath = NodePath("../IK_Targets/Left_Leg")
flip_bend_direction = true
joint_one_bone_idx = 6
joint_one_bone2d_node = NodePath("Torso/LeftUpperLeg")
joint_two_bone_idx = 7
joint_two_bone2d_node = NodePath("Torso/LeftUpperLeg/LeftLowerLeg")
[sub_resource type="SkeletonModification2DLookAt" id="SkeletonModification2DLookAt_j4hao"]
bone_index = 1
bone2d_node = NodePath("Torso/Head")
target_nodepath = NodePath("../IK_Targets/Head")
enable_constraint = true
constraint_angle_min = 54.99999
constraint_angle_max = 304.9999
constraint_angle_invert = true
constraint_in_localspace = true
[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_j4hao"]
enabled = true
modification_count = 5
modifications/0 = SubResource("SkeletonModification2DTwoBoneIK_yvxej")
modifications/1 = SubResource("SkeletonModification2DTwoBoneIK_f0s26")
modifications/2 = SubResource("SkeletonModification2DTwoBoneIK_ylko5")
modifications/3 = SubResource("SkeletonModification2DTwoBoneIK_2leu7")
modifications/4 = SubResource("SkeletonModification2DLookAt_j4hao")
[node name="Master" type="Node2D" unique_id=319103476]
[node name="Body" type="Node2D" parent="." unique_id=327811712]
[node name="Head" type="Node2D" parent="Body" unique_id=864822355]
position = Vector2(-0.038604364, -463.49545)
rotation = 0.0005541252
scale = Vector2(0.9998275, 0.9998275)
script = SubResource("GDScript_f0s26")
[node name="Body" type="Line2D" parent="Body" unique_id=1290443463]
rotation = -3.1415925
points = PackedVector2Array(0, 0, 0, 400)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="LeftUpperLeg" type="Line2D" parent="Body" unique_id=199373156]
position = Vector2(1.6097474e-05, 5.3068015e-07)
rotation = 0.4947604
scale = Vector2(0.99997425, 0.99997425)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="RightUpperLeg" type="Line2D" parent="Body" unique_id=1396556308]
position = Vector2(-2.323452e-05, 2.1204825e-05)
rotation = -0.4947779
scale = Vector2(0.99997836, 0.99997836)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="LeftLowerLeg" type="Line2D" parent="Body" unique_id=1590485904]
position = Vector2(-94.961716, 176.01196)
rotation = 0.0051915757
scale = Vector2(0.9999537, 0.9999537)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="RightLowerLeg" type="Line2D" parent="Body" unique_id=29203948]
position = Vector2(94.96519, 176.01103)
rotation = -0.0051744725
scale = Vector2(0.9999583, 0.9999583)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="LeftUpperArm" type="Line2D" parent="Body" unique_id=744524157]
position = Vector2(0, -248)
rotation = 1.6184965
scale = Vector2(0.9999738, 0.9999738)
points = PackedVector2Array(0, 0, 0, 175)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="RightUpperArm" type="Line2D" parent="Body" unique_id=1593646765]
position = Vector2(0, -248)
rotation = -1.6184964
scale = Vector2(0.9999738, 0.9999738)
points = PackedVector2Array(0, 0, 0, 175)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="LeftLowerArm" type="Line2D" parent="Body" unique_id=2142117097]
position = Vector2(-167.80449, -256.01038)
rotation = 3.1406152
scale = Vector2(0.9999486, 0.9999486)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="RightLowerArm" type="Line2D" parent="Body" unique_id=1200980480]
position = Vector2(167.80452, -256.01035)
rotation = -3.1406155
scale = Vector2(0.9999486, 0.9999486)
points = PackedVector2Array(0, 0, 0, 200)
width = 16.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="Skeleton2D" type="Skeleton2D" parent="." unique_id=1854735445]
rotation = -0.0006991282
modification_stack = SubResource("SkeletonModificationStack2D_j4hao")
[node name="Torso" type="Bone2D" parent="Skeleton2D" unique_id=744339938]
rotation = 0.0006991282
rest = Transform2D(0.99999976, 0.00069912814, -0.00069912814, 0.99999976, 0, 0)
[node name="Head" type="Bone2D" parent="Skeleton2D/Torso" unique_id=1487357366]
position = Vector2(-0.12882307, -391.5079)
rotation = 0.00055408594
scale = Vector2(0.9998275, 0.9998275)
rest = Transform2D(0.9998273, 0.0005539903, -0.0005539903, 0.9998273, -0.12882307, -391.5079)
auto_calculate_length_and_angle = false
length = 90.0
bone_angle = -90.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/Head" unique_id=396112729]
position = Vector2(0.050337255, -72.00002)
remote_path = NodePath("../../../../Body/Head")
[node name="LeftUpperArm" type="Bone2D" parent="Skeleton2D/Torso" unique_id=1840957808]
position = Vector2(0, -248)
rotation = 0.047700156
scale = Vector2(0.9999738, 0.9999738)
rest = Transform2D(0.9988364, 0.04768082, -0.04768082, 0.9988364, 0, -248)
auto_calculate_length_and_angle = false
length = 168.0
bone_angle = -180.0
metadata/_local_pose_override_enabled_ = true
[node name="LeftLowerArm" type="Bone2D" parent="Skeleton2D/Torso/LeftUpperArm" unique_id=721380545]
position = Vector2(-168, 0)
rotation = -0.04867762
scale = Vector2(0.9999748, 0.9999748)
rest = Transform2D(0.9987903, -0.04865717, 0.04865717, 0.9987903, -168, 0)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = -90.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/LeftUpperArm/LeftLowerArm" unique_id=1189277122]
position = Vector2(3.0517578e-05, 1.9073486e-06)
rotation = 3.1415927
remote_path = NodePath("../../../../../Body/LeftLowerArm")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/LeftUpperArm" unique_id=1110605862]
rotation = 1.5707964
remote_path = NodePath("../../../../Body/LeftUpperArm")
[node name="RightUpperArm" type="Bone2D" parent="Skeleton2D/Torso" unique_id=36616186]
position = Vector2(0, -248)
rotation = -0.047700036
scale = Vector2(0.9999738, 0.9999738)
rest = Transform2D(0.9988364, -0.047680702, 0.047680702, 0.9988364, 0, -248)
auto_calculate_length_and_angle = false
length = 168.00006
bone_angle = 0.0
metadata/_local_pose_override_enabled_ = true
[node name="RightLowerArm" type="Bone2D" parent="Skeleton2D/Torso/RightUpperArm" unique_id=1018820563]
position = Vector2(168, 0)
rotation = -1.522119
scale = Vector2(0.9999748, 0.9999748)
rest = Transform2D(0.048656836, -0.9987903, 0.9987903, 0.048656836, 168, 0)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = 0.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/RightUpperArm/RightLowerArm" unique_id=1282597655]
rotation = -1.5707964
remote_path = NodePath("../../../../../Body/RightLowerArm")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/RightUpperArm" unique_id=975221467]
rotation = -1.5707964
remote_path = NodePath("../../../../Body/RightUpperArm")
[node name="LeftUpperLeg" type="Bone2D" parent="Skeleton2D/Torso" unique_id=180737371]
position = Vector2(-9.536743e-07, 0)
rotation = 0.4947604
scale = Vector2(0.99997425, 0.99997425)
rest = Transform2D(0.88005984, 0.47480857, -0.47480857, 0.88005984, -9.536743e-07, 0)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = 90.0
metadata/_local_pose_override_enabled_ = true
[node name="LeftLowerLeg" type="Bone2D" parent="Skeleton2D/Torso/LeftUpperLeg" unique_id=81288294]
position = Vector2(0, 200)
rotation = 1.0812275
scale = Vector2(0.99997944, 0.99997944)
rest = Transform2D(0.4702357, 0.8825176, -0.8825176, 0.4702357, 0, 200)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = 0.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/LeftUpperLeg/LeftLowerLeg" unique_id=1673135542]
rotation = -1.5707964
remote_path = NodePath("../../../../../Body/LeftLowerLeg")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/LeftUpperLeg" unique_id=62385944]
position = Vector2(1.5258789e-05, -7.6293945e-06)
remote_path = NodePath("../../../../Body/LeftUpperLeg")
[node name="RightUpperLeg" type="Bone2D" parent="Skeleton2D/Torso" unique_id=1125756606]
rotation = -0.4947779
scale = Vector2(0.99997836, 0.99997836)
rest = Transform2D(0.8800552, -0.47482592, 0.47482592, 0.8800552, 0, 0)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = 90.0
metadata/_local_pose_override_enabled_ = true
[node name="RightLowerLeg" type="Bone2D" parent="Skeleton2D/Torso/RightUpperLeg" unique_id=1819999778]
position = Vector2(0, 200)
rotation = 2.0603998
scale = Vector2(0.99998, 0.99998)
rest = Transform2D(-0.47026652, 0.8825017, -0.8825017, -0.47026652, 0, 200)
auto_calculate_length_and_angle = false
length = 200.0
bone_angle = 0.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/RightUpperLeg/RightLowerLeg" unique_id=278100224]
rotation = -1.5707964
remote_path = NodePath("../../../../../Body/RightLowerLeg")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso/RightUpperLeg" unique_id=1607553157]
position = Vector2(-3.0517578e-05, 7.6293945e-06)
remote_path = NodePath("../../../../Body/RightUpperLeg")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Skeleton2D/Torso" unique_id=968328845]
rotation = 3.1415927
remote_path = NodePath("../../../Body/Body")
[node name="IK_Targets" type="Node2D" parent="." unique_id=1089334064]
[node name="Right_Hand" type="Marker2D" parent="IK_Targets" unique_id=1785254130]
position = Vector2(168, -456)
[node name="Left_Hand" type="Marker2D" parent="IK_Targets" unique_id=1085197042]
position = Vector2(-168, -456)
[node name="Right_Leg" type="Marker2D" parent="IK_Targets" unique_id=720679106]
position = Vector2(96, 376)
[node name="Left_Leg" type="Marker2D" parent="IK_Targets" unique_id=63598929]
position = Vector2(-96, 376)
[node name="Head" type="Marker2D" parent="IK_Targets" unique_id=1347666160]
position = Vector2(0, -624)
[node name="Torso" type="Marker2D" parent="IK_Targets" unique_id=809821395]
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="IK_Targets/Torso" unique_id=1659291279]
remote_path = NodePath("../../../Skeleton2D/Torso")
+634
View File
@@ -0,0 +1,634 @@
[gd_scene format=3 uid="uid://ckc0tte3ud3oq"]
[sub_resource type="GDScript" id="GDScript_va7af"]
script/source = "@tool
extends Node2D
@export var radius : float = 100.0:
set(value):
radius = value
queue_redraw()
@export var color : Color = Color.WHITE:
set(value):
color = value
queue_redraw()
func _draw():
draw_circle(Vector2(0,0), radius, color)
"
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_va7af"]
target_nodepath = NodePath("../../../IK Targets/Leg_Left")
joint_one_bone_idx = 1
joint_one_bone2d_node = NodePath("Hip/Leg_Upper_Left")
joint_two_bone_idx = 2
joint_two_bone2d_node = NodePath("Hip/Leg_Upper_Left/Leg_Lower_Left")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_agfe5"]
target_nodepath = NodePath("../../../IK Targets/Leg_Right")
joint_one_bone_idx = 3
joint_one_bone2d_node = NodePath("Hip/Leg_Upper_Right")
joint_two_bone_idx = 4
joint_two_bone2d_node = NodePath("Hip/Leg_Upper_Right/Leg_Lower_Right")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_1hssm"]
target_nodepath = NodePath("../../../IK Targets/Arm_Right")
flip_bend_direction = true
joint_one_bone_idx = 7
joint_one_bone2d_node = NodePath("Hip/Arm_Upper_Right")
joint_two_bone_idx = 8
joint_two_bone2d_node = NodePath("Hip/Arm_Upper_Right/Arm_Lower_Right")
[sub_resource type="SkeletonModification2DTwoBoneIK" id="SkeletonModification2DTwoBoneIK_0algd"]
target_nodepath = NodePath("../../../IK Targets/Arm_Left")
flip_bend_direction = true
joint_one_bone_idx = 5
joint_one_bone2d_node = NodePath("Hip/Arm_Upper_Left")
joint_two_bone_idx = 6
joint_two_bone2d_node = NodePath("Hip/Arm_Upper_Left/Arm_Lower_Left")
[sub_resource type="SkeletonModification2DLookAt" id="SkeletonModification2DLookAt_va7af"]
bone_index = 9
bone2d_node = NodePath("Hip/Head")
target_nodepath = NodePath("../../../IK Targets/Head")
enable_constraint = true
constraint_angle_min = 65.0
constraint_angle_max = 294.99997
constraint_angle_invert = true
constraint_in_localspace = true
[sub_resource type="SkeletonModificationStack2D" id="SkeletonModificationStack2D_agfe5"]
enabled = true
modification_count = 5
modifications/0 = SubResource("SkeletonModification2DTwoBoneIK_va7af")
modifications/1 = SubResource("SkeletonModification2DTwoBoneIK_agfe5")
modifications/2 = SubResource("SkeletonModification2DTwoBoneIK_1hssm")
modifications/3 = SubResource("SkeletonModification2DTwoBoneIK_0algd")
modifications/4 = SubResource("SkeletonModification2DLookAt_va7af")
[sub_resource type="Animation" id="Animation_agfe5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Arm_Left:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 30)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Arm_Left:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Arm_Right:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(4, 29)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Arm_Right:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Leg_Left:position")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-1, 50)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Leg_Left:rotation")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Leg_Right:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 51)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Leg_Right:rotation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Head:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -10)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Head:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Body:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-3, -4)]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("Body:rotation")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_va7af"]
resource_name = "walk"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Arm_Left:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3, 0.633333, 0.9, 1.29, 1.56, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, 30), Vector2(8, 26), Vector2(13, 24), Vector2(15, 16), Vector2(13, 26), Vector2(6, 26), Vector2(0, 30)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Arm_Left:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Arm_Right:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.3, 0.633333, 0.9, 1.29, 1.56, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(4, 29), Vector2(0, 29), Vector2(-4, 27), Vector2(1, 25), Vector2(11, 26), Vector2(21, 26), Vector2(4, 29)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Arm_Right:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Leg_Left:position")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.29, 1.56, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(-1, 50), Vector2(5, 43), Vector2(17, 44), Vector2(-1, 50)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Leg_Left:rotation")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Leg_Right:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 0.3, 0.633333, 0.9, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, 51), Vector2(9, 46), Vector2(9, 49), Vector2(9, 50), Vector2(0, 51)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Leg_Right:rotation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Head:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 0.633333, 0.9, 1.56, 2),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(2, -10), Vector2(1, -10), Vector2(1, -10), Vector2(1, -9), Vector2(2, -9)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Head:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Body:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 0.633333, 0.9, 1.29, 1.56),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, -4), Vector2(0, -4), Vector2(0, -4), Vector2(0, -4), Vector2(0, -4)]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("Body:rotation")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1hssm"]
_data = {
&"RESET": SubResource("Animation_agfe5"),
&"walk": SubResource("Animation_va7af")
}
[sub_resource type="Animation" id="Animation_0algd"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sticky:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_1hssm"]
resource_name = "walk_to"
length = 6.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sticky:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(150, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_rp7ts"]
_data = {
&"RESET": SubResource("Animation_0algd"),
&"walk_to": SubResource("Animation_1hssm")
}
[node name="Node2D" type="Node2D" unique_id=148815519]
[node name="Sticky" type="Node2D" parent="." unique_id=1323071373]
[node name="Stickman" type="Node2D" parent="Sticky" unique_id=792656341]
[node name="Body" type="Node2D" parent="Sticky/Stickman" unique_id=1925514526]
[node name="Body" type="Line2D" parent="Sticky/Stickman/Body" unique_id=852096914]
position = Vector2(-1, 3)
points = PackedVector2Array(0, 0, 0, 27)
width = 4.0
default_color = Color(0.445488, 0.445488, 0.445488, 1)
[node name="Head" type="Node2D" parent="Sticky/Stickman/Body" unique_id=1072410872]
position = Vector2(-7.53883, 1.5011368)
rotation = -1.1344641
scale = Vector2(0.99999964, 0.99999964)
script = SubResource("GDScript_va7af")
radius = 7.0
color = Color(0, 0, 0, 1)
[node name="Arm_Upper_Right" type="Line2D" parent="Sticky/Stickman/Body" unique_id=690893519]
position = Vector2(1, 10)
rotation = 0.25072747
scale = Vector2(0.99996465, 0.99996465)
points = PackedVector2Array(0, 0, 12, 0)
width = 2.0
default_color = Color(0, 0, 0, 1)
[node name="Arm_Lower_Right" type="Line2D" parent="Sticky/Stickman/Body" unique_id=2042999912]
position = Vector2(11.655678, 12.7291)
rotation = -0.8834792
scale = Vector2(0.9999472, 0.9999472)
points = PackedVector2Array(0, 0, 10, 0)
width = 2.0
default_color = Color(0.205117, 0.205117, 0.205117, 1)
[node name="Arm_Upper_Left" type="Line2D" parent="Sticky/Stickman/Body" unique_id=1822869471]
position = Vector2(-13.899104, 11.48624)
rotation = -0.13552766
scale = Vector2(0.99999744, 0.99999744)
points = PackedVector2Array(0, 0, 12, 0)
width = 2.0
default_color = Color(0, 0, 0, 1)
[node name="Arm_Lower_Left" type="Line2D" parent="Sticky/Stickman/Body" unique_id=1605200761]
position = Vector2(-23.807375, 12.837371)
rotation = -0.13552794
scale = Vector2(0.9999969, 0.9999969)
points = PackedVector2Array(0, 0, 10, 0)
width = 2.0
default_color = Color(0.205117, 0.205117, 0.205117, 1)
[node name="Leg_Upper_Left" type="Line2D" parent="Sticky/Stickman/Body" unique_id=1990429308]
position = Vector2(-1.0000062, 28)
rotation = 2.35619
scale = Vector2(0.9999938, 0.9999938)
points = PackedVector2Array(0, 0, 13, 0)
width = 3.0
default_color = Color(0, 0, 0, 1)
[node name="Leg_Lower_Left" type="Line2D" parent="Sticky/Stickman/Body" unique_id=817778770]
position = Vector2(-9.99995, 35.99995)
rotation = 2.35619
scale = Vector2(0.9999931, 0.9999931)
points = PackedVector2Array(0, 0, 12, 0)
width = 3.0
default_color = Color(0.205117, 0.205117, 0.205117, 1)
[node name="Leg_Upper_Right" type="Line2D" parent="Sticky/Stickman/Body" unique_id=137282504]
position = Vector2(-0.97972786, 27.716055)
rotation = 0.92785174
scale = Vector2(0.9999934, 0.9999934)
points = PackedVector2Array(0, 0, 13, 0)
width = 3.0
default_color = Color(0, 0, 0, 1)
[node name="Leg_Lower_Right" type="Line2D" parent="Sticky/Stickman/Body" unique_id=806252297]
position = Vector2(6.7932673, 36.91272)
rotation = 0.9944168
scale = Vector2(0.9999921, 0.9999921)
points = PackedVector2Array(0, 0, 12, 0)
width = 3.0
default_color = Color(0.205117, 0.205117, 0.205117, 1)
[node name="Bones" type="Node2D" parent="Sticky/Stickman" unique_id=1093676524]
[node name="Skeleton2D" type="Skeleton2D" parent="Sticky/Stickman/Bones" unique_id=1107687133]
modification_stack = SubResource("SkeletonModificationStack2D_agfe5")
[node name="Hip" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D" unique_id=1385075484]
position = Vector2(-1, 27)
rest = Transform2D(1, 0, 0, 1, 0, 32)
[node name="Leg_Upper_Left" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=1611933179]
position = Vector2(-1, 1)
rest = Transform2D(1, 0, 0, 1, -1, 1)
metadata/_local_pose_override_enabled_ = true
[node name="Leg_Lower_Left" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Left" unique_id=526074417]
position = Vector2(-8, 8)
rest = Transform2D(1, 0, 0, 1, -8, 8)
auto_calculate_length_and_angle = false
length = 10.425
bone_angle = 89.99989
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Left/Leg_Lower_Left" unique_id=1193435898]
rotation = 1.57079
remote_path = NodePath("../../../../../../Body/Leg_Lower_Left")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Left" unique_id=648388442]
position = Vector2(1, 0)
rotation = 2.35619
remote_path = NodePath("../../../../../Body/Leg_Upper_Left")
[node name="Leg_Upper_Right" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=1242736278]
position = Vector2(2, 1)
rest = Transform2D(1, 0, 0, 1, 2, 1)
metadata/_local_pose_override_enabled_ = true
[node name="Leg_Lower_Right" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Right" unique_id=724685961]
position = Vector2(7, 8)
rest = Transform2D(1, 0, 0, 1, 7, 8)
auto_calculate_length_and_angle = false
length = 10.425
bone_angle = 89.99989
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Right/Leg_Lower_Right" unique_id=240724686]
rotation = 1.57079
remote_path = NodePath("../../../../../../Body/Leg_Lower_Right")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Leg_Upper_Right" unique_id=253412547]
position = Vector2(-2, 0)
rotation = 0.785397
remote_path = NodePath("../../../../../Body/Leg_Upper_Right")
[node name="Arm_Upper_Left" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=821534144]
position = Vector2(-2, -17)
rest = Transform2D(1, 0, 0, 1, -2, -17)
metadata/_local_pose_override_enabled_ = true
[node name="Arm_Lower_Left" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Left" unique_id=1402128826]
position = Vector2(-11, 0)
rest = Transform2D(1, 0, 0, 1, -11, 0)
auto_calculate_length_and_angle = false
length = 10.0
bone_angle = -180.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Left/Arm_Lower_Left" unique_id=290086777]
position = Vector2(-10, 0)
remote_path = NodePath("../../../../../../Body/Arm_Lower_Left")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Left" unique_id=1463696359]
position = Vector2(-11, 0)
remote_path = NodePath("../../../../../Body/Arm_Upper_Left")
[node name="Arm_Upper_Right" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=706825543]
position = Vector2(2, -17)
rotation = 0.25072864
scale = Vector2(0.99996465, 0.99996465)
rest = Transform2D(1, 0, 0, 1, 2, -17)
metadata/_local_pose_override_enabled_ = true
[node name="Arm_Lower_Right" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Right" unique_id=90692862]
position = Vector2(11, 0)
rest = Transform2D(1, 0, 0, 1, 11, 0)
auto_calculate_length_and_angle = false
length = 10.0
bone_angle = 0.0
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Right/Arm_Lower_Right" unique_id=393821830]
remote_path = NodePath("../../../../../../Body/Arm_Lower_Right")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Arm_Upper_Right" unique_id=1239382066]
remote_path = NodePath("../../../../../Body/Arm_Upper_Right")
[node name="Head" type="Bone2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=1216400457]
position = Vector2(0, -23)
rotation = -1.5707941
rest = Transform2D(2.22127e-06, -1, 1, 2.22127e-06, 0, -23)
metadata/_local_pose_override_enabled_ = true
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip/Head" unique_id=182450114]
position = Vector2(-0.498689, -6.98226)
remote_path = NodePath("../../../../../Body/Head")
[node name="HipTransform" type="RemoteTransform2D" parent="Sticky/Stickman/Bones/Skeleton2D/Hip" unique_id=1874080541]
position = Vector2(0, -24)
remote_path = NodePath("../../../../Body/Body")
[node name="IK Targets" type="Node2D" parent="Sticky" unique_id=551947257]
[node name="Arm_Left" type="Node2D" parent="Sticky/IK Targets" unique_id=1909901421]
position = Vector2(0, 30)
[node name="Arm_Right" type="Node2D" parent="Sticky/IK Targets" unique_id=47724411]
position = Vector2(4, 29)
[node name="Leg_Left" type="Node2D" parent="Sticky/IK Targets" unique_id=835187226]
position = Vector2(-1, 50)
[node name="Leg_Right" type="Node2D" parent="Sticky/IK Targets" unique_id=1410781970]
position = Vector2(0, 51)
[node name="Head" type="Node2D" parent="Sticky/IK Targets" unique_id=1860155308]
position = Vector2(0, -10)
[node name="Body" type="Node2D" parent="Sticky/IK Targets" unique_id=724013741]
position = Vector2(-3, -4)
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sticky/IK Targets/Body" unique_id=2080401610]
position = Vector2(2, 31)
remote_path = NodePath("../../../Stickman/Bones/Skeleton2D/Hip")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Sticky" unique_id=1461504481]
root_node = NodePath("../IK Targets")
libraries/ = SubResource("AnimationLibrary_1hssm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1606660942]
libraries/ = SubResource("AnimationLibrary_rp7ts")
+16
View File
@@ -0,0 +1,16 @@
[gd_scene load_steps=2 format=3 uid="uid://c5jkoyu1ik6fo"]
[ext_resource type="PackedScene" uid="uid://6wqo0sp4eij6" path="res://scenes/editors/stickman/stickman_editor.tscn" id="1_ig7tw"]
[node name="Main" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="StickmanEditor" parent="." instance=ExtResource("1_ig7tw")]
layout_mode = 1
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/asset_selector.gd" id="1_selector"]
[ext_resource type="Script" path="res://scripts/shared/ui/asset_selector.gd" id="1_selector"]
[node name="AssetSelector" type="PopupPanel"]
title = "Asset Selector"
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://tkbhhidf8nht"]
[ext_resource type="Script" uid="uid://dkhhg81ft70mm" path="res://scripts/sandbox_stage.gd" id="1_stage"]
[ext_resource type="Script" uid="uid://dkhhg81ft70mm" path="res://scripts/editors/stage/sandbox_stage.gd" id="1_stage"]
[node name="SandboxStage" type="Node2D" unique_id=1704308946]
script = ExtResource("1_stage")
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://dib8otk34bnb7"]
[ext_resource type="Script" uid="uid://cvejolojthtcs" path="res://scripts/physics_test_harness.gd" id="1_harness"]
[ext_resource type="Script" uid="uid://cvejolojthtcs" path="res://scripts/tools/physics_test_harness.gd" id="1_harness"]
[node name="PhysicsTestHarness" type="Node2D" unique_id=1744152756]
script = ExtResource("1_harness")
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://bleeb15l02i3d"]
[ext_resource type="Script" uid="uid://b7wkt57rkpfo4" path="res://scripts/test_harness.gd" id="1_harness"]
[ext_resource type="Script" uid="uid://b7wkt57rkpfo4" path="res://scripts/tools/test_harness.gd" id="1_harness"]
[node name="TestHarness" type="Control" unique_id=724700228]
layout_mode = 3