From d285f7a12d36ad43780989bc3ad2ecded63bbfa5 Mon Sep 17 00:00:00 2001 From: Mono Date: Sun, 12 Dec 2021 17:04:17 +0100 Subject: [PATCH] No really productive changes. --- Bullshit/PolyTest/MyProject.tres | 7 ++ Bullshit/PolyTest/MyRealProject.tres | 12 ++++ Bullshit/PolyTest/new scene.tscn | 13 ++++ Bullshit/scene_073.tres | 2 +- Main.tscn | 30 ++++---- Node2D.gd | 20 +++--- addons/summer_day/data/blueprint/blueprint.gd | 12 ++++ addons/summer_day/data/blueprint/editable.gd | 25 +++++++ .../data/blueprint/template_editables/tube.gd | 3 + addons/summer_day/data/document/document.gd | 13 ++++ addons/summer_day/data/scene/scene.gd | 2 +- .../{interface => display}/ITIsWhateitIs.tres | 0 .../{interface => display}/display.gd | 4 +- addons/summer_day/main_screen.gd | 4 +- addons/summer_day/main_screen.tscn | 2 +- addons/summer_day/summer_day.gd | 25 ++++--- .../tools/general_use/free_transform.gd | 0 .../canvas/tools/general_use/hand.gd | 0 .../canvas/tools/general_use/rotation.gd | 0 .../canvas/tools/general_use/zoom.gd | 4 -- .../{tool => tools}/canvas/tools/tool_pool.gd | 0 .../{tool => tools}/tool_system/base_tool.gd | 0 .../tool_system/tool_context.gd | 2 +- .../{tool => tools}/tool_system/tool_pool.gd | 0 .../{tool => user_interface}/canvas/canvas.gd | 14 ++-- .../canvas/canvas.tscn | 18 ++--- .../canvas/canvas_state.gd | 0 .../canvas/rendering/empty_canvas_layer.gd | 0 .../canvas/rendering/space_camera.gd | 2 - .../canvas/rendering/viewport_handler.gd | 0 .../resource_picker/scene_picker.gd | 18 +++++ .../timeline/timeline.gd | 0 .../timeline/timeline.tscn | 2 +- production/ann.tres | 8 +++ production/blueprints/mannequin/blueprint.gd | 7 ++ production/test/scene_001.tres | 7 ++ project.godot | 70 +++++++++++++------ 37 files changed, 241 insertions(+), 85 deletions(-) create mode 100644 Bullshit/PolyTest/MyProject.tres create mode 100644 Bullshit/PolyTest/MyRealProject.tres create mode 100644 Bullshit/PolyTest/new scene.tscn create mode 100644 addons/summer_day/data/blueprint/blueprint.gd create mode 100644 addons/summer_day/data/blueprint/editable.gd create mode 100644 addons/summer_day/data/blueprint/template_editables/tube.gd create mode 100644 addons/summer_day/data/document/document.gd rename addons/summer_day/{interface => display}/ITIsWhateitIs.tres (100%) rename addons/summer_day/{interface => display}/display.gd (79%) rename addons/summer_day/{tool => tools}/canvas/tools/general_use/free_transform.gd (100%) rename addons/summer_day/{tool => tools}/canvas/tools/general_use/hand.gd (100%) rename addons/summer_day/{tool => tools}/canvas/tools/general_use/rotation.gd (100%) rename addons/summer_day/{tool => tools}/canvas/tools/general_use/zoom.gd (94%) rename addons/summer_day/{tool => tools}/canvas/tools/tool_pool.gd (100%) rename addons/summer_day/{tool => tools}/tool_system/base_tool.gd (100%) rename addons/summer_day/{tool => tools}/tool_system/tool_context.gd (85%) rename addons/summer_day/{tool => tools}/tool_system/tool_pool.gd (100%) rename addons/summer_day/{tool => user_interface}/canvas/canvas.gd (84%) rename addons/summer_day/{tool => user_interface}/canvas/canvas.tscn (83%) rename addons/summer_day/{tool => user_interface}/canvas/canvas_state.gd (100%) rename addons/summer_day/{tool => user_interface}/canvas/rendering/empty_canvas_layer.gd (100%) rename addons/summer_day/{tool => user_interface}/canvas/rendering/space_camera.gd (95%) rename addons/summer_day/{tool => user_interface}/canvas/rendering/viewport_handler.gd (100%) create mode 100644 addons/summer_day/user_interface/resource_picker/scene_picker.gd rename addons/summer_day/{tool => user_interface}/timeline/timeline.gd (100%) rename addons/summer_day/{tool => user_interface}/timeline/timeline.tscn (84%) create mode 100644 production/ann.tres create mode 100644 production/blueprints/mannequin/blueprint.gd create mode 100644 production/test/scene_001.tres diff --git a/Bullshit/PolyTest/MyProject.tres b/Bullshit/PolyTest/MyProject.tres new file mode 100644 index 0000000..ec7cb1d --- /dev/null +++ b/Bullshit/PolyTest/MyProject.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" load_steps=2 format=2] + +[ext_resource path="res://addons/summer_day/data/scene/scene.gd" type="Script" id=1] + +[resource] +script = ExtResource( 1 ) +aspect_ratio = Vector2( 16, 9 ) diff --git a/Bullshit/PolyTest/MyRealProject.tres b/Bullshit/PolyTest/MyRealProject.tres new file mode 100644 index 0000000..1741989 --- /dev/null +++ b/Bullshit/PolyTest/MyRealProject.tres @@ -0,0 +1,12 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://addons/summer_day/data/scene/scene.gd" type="Script" id=1] +[ext_resource path="res://addons/summer_day/data/document/document.gd" type="Script" id=2] + +[sub_resource type="Resource" id=1] +script = ExtResource( 1 ) +aspect_ratio = Vector2( 16, 9 ) + +[resource] +script = ExtResource( 2 ) +scene = SubResource( 1 ) diff --git a/Bullshit/PolyTest/new scene.tscn b/Bullshit/PolyTest/new scene.tscn new file mode 100644 index 0000000..de48348 --- /dev/null +++ b/Bullshit/PolyTest/new scene.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/summer_day/display/display.gd" type="Script" id=2] + +[node name="Node2D" type="Node2D"] + +[node name="SDDisplay" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Bullshit/scene_073.tres b/Bullshit/scene_073.tres index c7c6827..ec7cb1d 100644 --- a/Bullshit/scene_073.tres +++ b/Bullshit/scene_073.tres @@ -4,4 +4,4 @@ [resource] script = ExtResource( 1 ) -aspect_ratio = Vector2( 16.291, 11.644 ) +aspect_ratio = Vector2( 16, 9 ) diff --git a/Main.tscn b/Main.tscn index 23d34e8..8a966f6 100644 --- a/Main.tscn +++ b/Main.tscn @@ -3,9 +3,9 @@ [ext_resource path="res://TryingOutSomethingNew.gd" type="Script" id=1] [ext_resource path="res://Node2D.gd" type="Script" id=2] [ext_resource path="res://icon.png" type="Texture" id=3] -[ext_resource path="res://addons/summer_day/interface/display.gd" type="Script" id=4] +[ext_resource path="res://addons/summer_day/display/display.gd" type="Script" id=4] [ext_resource path="res://Bullshit/Main.gd" type="Script" id=5] -[ext_resource path="res://addons/summer_day/tool/canvas/rendering/space_camera.gd" type="Script" id=6] +[ext_resource path="res://addons/summer_day/user_interface/canvas/rendering/space_camera.gd" type="Script" id=6] [sub_resource type="Shader" id=1] code = "shader_type spatial; @@ -38,7 +38,7 @@ shader = SubResource( 1 ) shader_param/albedo = Color( 0.768627, 0.231373, 0.231373, 1 ) shader_param/ha = null -[sub_resource type="Image" id=17] +[sub_resource type="Image" id=16] data = { "data": PoolByteArray( 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 154, 153, 25, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0, 154, 153, 25, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 154, 153, 25, 190, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0, 154, 153, 25, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63 ), "format": "RGBAFloat", @@ -47,10 +47,10 @@ data = { "width": 8 } -[sub_resource type="ImageTexture" id=16] +[sub_resource type="ImageTexture" id=15] flags = 0 flags = 0 -image = SubResource( 17 ) +image = SubResource( 16 ) size = Vector2( 8, 1 ) [sub_resource type="CapsuleMesh" id=5] @@ -105,7 +105,7 @@ void fragment() { ALBEDO = texture(table, UV).rgb; }" -[sub_resource type="Image" id=18] +[sub_resource type="Image" id=17] data = { "data": PoolByteArray( 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 154, 153, 25, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0, 154, 153, 25, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 154, 153, 25, 190, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0, 154, 153, 25, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63 ), "format": "RGBAFloat", @@ -114,16 +114,16 @@ data = { "width": 8 } -[sub_resource type="ImageTexture" id=19] +[sub_resource type="ImageTexture" id=18] flags = 0 flags = 0 -image = SubResource( 18 ) +image = SubResource( 17 ) size = Vector2( 8, 1 ) [sub_resource type="ShaderMaterial" id=7] shader = SubResource( 6 ) -shader_param/canvas_transform = Basis( 0.486942, -0.0451413, -0.453712, -0.0795491, -0.858099, 0.370417, 0, 0, 1 ) -shader_param/table = SubResource( 19 ) +shader_param/canvas_transform = Basis( 1.07527, 0, -0.716846, 0, -2, 1, 0, 0, 1 ) +shader_param/table = SubResource( 18 ) [sub_resource type="QuadMesh" id=8] @@ -156,9 +156,7 @@ void fragment() { [sub_resource type="ShaderMaterial" id=10] shader = SubResource( 9 ) -[sub_resource type="Animation" id=14] -length = 725.63 -loop = true +[sub_resource type="Animation" id=13] [node name="Main" type="Node"] script = ExtResource( 5 ) @@ -178,7 +176,7 @@ script = ExtResource( 6 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( 619.786, 73.103 ) -texture = SubResource( 16 ) +texture = SubResource( 15 ) centered = false [node name="Sprite3D" type="Sprite3D" parent="."] @@ -186,7 +184,7 @@ visible = false opacity = 0.15 texture = ExtResource( 3 ) -[node name="CSGBox" type="CSGMesh" parent="." groups=["ListenForSpatialTransform"]] +[node name="CSGBox" type="CSGMesh" parent="." groups=["SummerDaySpatialTransform"]] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.401247, 0.829002, -0.735263 ) mesh = SubResource( 5 ) material = SubResource( 7 ) @@ -212,4 +210,4 @@ script = ExtResource( 4 ) __meta__ = { "_edit_use_anchors_": false } -scene = SubResource( 14 ) +scene = SubResource( 13 ) diff --git a/Node2D.gd b/Node2D.gd index 244365a..2baf618 100644 --- a/Node2D.gd +++ b/Node2D.gd @@ -60,8 +60,6 @@ func update_canvas_inv(): func _input(event): - #print(canvas_inv.xform(get_local_mouse_position())) - #print(event.as_text()) var mouse_position = get_viewport().get_mouse_position() if event is InputEventMouseButton: @@ -82,26 +80,26 @@ func _input(event): func _draw(): for i in range(4): draw_line( - canvas_trans.xform(corners[i]), - canvas_trans.xform(corners[wrapi(i + 1, 0, 4)]), + corners[i], + corners[wrapi(i + 1, 0, 4)], Color.maroon) for i in range(4): - draw_circle(canvas_trans.xform(corners[i]), 10.0, Color.maroon) + draw_circle(corners[i], 0.01, Color.maroon) for i in range(4): draw_line( - canvas_trans.xform(corners[i]), - canvas_trans.xform(corners[i + 4]), + corners[i], + corners[i + 4], Color.yellow) for i in range(4): draw_line( - canvas_trans.xform(corners[i + 4]), - canvas_trans.xform(corners[wrapi(i + 5, 4, 8)]), + corners[i + 4], + corners[wrapi(i + 5, 4, 8)], Color.purple) for i in range(4): - draw_circle(canvas_trans.xform(corners[i + 4]), 10.0, Color.purple) + draw_circle(corners[i + 4], 0.01, Color.purple) draw_texture_rect(table, Rect2( - Vector2(750.0, 50.0), Vector2(256.0, 32.0) + Vector2(450.0, 50.0), Vector2(256.0, 32.0) ), false) diff --git a/addons/summer_day/data/blueprint/blueprint.gd b/addons/summer_day/data/blueprint/blueprint.gd new file mode 100644 index 0000000..868e034 --- /dev/null +++ b/addons/summer_day/data/blueprint/blueprint.gd @@ -0,0 +1,12 @@ +# This class can be abstracted and is meant to handle the drawing workflow +# of each individual model. +tool +extends Resource +class_name SummerDayBlueprint + + +var editables = [] + + +func _setup_editables(): + pass diff --git a/addons/summer_day/data/blueprint/editable.gd b/addons/summer_day/data/blueprint/editable.gd new file mode 100644 index 0000000..a41f6b7 --- /dev/null +++ b/addons/summer_day/data/blueprint/editable.gd @@ -0,0 +1,25 @@ +tool +extends Resource +class_name SummerDayEditable + + +var priority = 0 +var modifier_layer = 0 + + +func _check_for_use( + event: InputEvent, tool_context: SummerDayToolContext + ) -> bool: # Virtual. + return false + + +func _run(event: InputEvent, tool_context: SummerDayToolContext): # Virtual. + pass + + +func _update_table(table: Image): # Virtual. + pass + + +func get_priority_score() -> int: + return priority * 4 + modifier_layer diff --git a/addons/summer_day/data/blueprint/template_editables/tube.gd b/addons/summer_day/data/blueprint/template_editables/tube.gd new file mode 100644 index 0000000..b415507 --- /dev/null +++ b/addons/summer_day/data/blueprint/template_editables/tube.gd @@ -0,0 +1,3 @@ +tool +extends SummerDayEditable +class_name SummerDayEditableTube diff --git a/addons/summer_day/data/document/document.gd b/addons/summer_day/data/document/document.gd new file mode 100644 index 0000000..387376c --- /dev/null +++ b/addons/summer_day/data/document/document.gd @@ -0,0 +1,13 @@ +tool +extends Resource +class_name SummerDayDocument + + +export(Resource) var scene = _scene_generation() + + +func _scene_generation() -> SummerDayScene: + var _scene = SummerDayScene.new() + _scene.resource_path = "res://production/test/scene_001.tres" + _scene.aspect_ratio = Vector2(12.0, 9.0) + return _scene diff --git a/addons/summer_day/data/scene/scene.gd b/addons/summer_day/data/scene/scene.gd index e2bad2d..bb622eb 100644 --- a/addons/summer_day/data/scene/scene.gd +++ b/addons/summer_day/data/scene/scene.gd @@ -18,7 +18,7 @@ func _ready(): func _set_aspect_ratio(new_aspect_ratio): var handled_aspect_ratio = Vector2() - # Don't let a component drop below 0.01! + # Don't let the components drop below 0.01! if new_aspect_ratio.x <= 0.01: handled_aspect_ratio.x = 0.01 else: diff --git a/addons/summer_day/interface/ITIsWhateitIs.tres b/addons/summer_day/display/ITIsWhateitIs.tres similarity index 100% rename from addons/summer_day/interface/ITIsWhateitIs.tres rename to addons/summer_day/display/ITIsWhateitIs.tres diff --git a/addons/summer_day/interface/display.gd b/addons/summer_day/display/display.gd similarity index 79% rename from addons/summer_day/interface/display.gd rename to addons/summer_day/display/display.gd index 12bda08..5d4e8e5 100644 --- a/addons/summer_day/interface/display.gd +++ b/addons/summer_day/display/display.gd @@ -1,8 +1,8 @@ extends Control -class_name SDDisplay +class_name SummerDayDisplay -export(Animation) var scene = null +export(Resource) var scene = null # Called when the node enters the scene tree for the first time. diff --git a/addons/summer_day/main_screen.gd b/addons/summer_day/main_screen.gd index 1616661..631e028 100644 --- a/addons/summer_day/main_screen.gd +++ b/addons/summer_day/main_screen.gd @@ -1,7 +1,9 @@ +# Right now this script is absolutely obsolete. tool extends Control class_name SummerDayMainScreen func _ready(): - print(get_path()) + #print(get_path()) + pass diff --git a/addons/summer_day/main_screen.tscn b/addons/summer_day/main_screen.tscn index bbc6b9a..56193dd 100644 --- a/addons/summer_day/main_screen.tscn +++ b/addons/summer_day/main_screen.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://addons/summer_day/tool/canvas/canvas.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/summer_day/user_interface/canvas/canvas.tscn" type="PackedScene" id=1] [ext_resource path="res://addons/summer_day/main_screen.gd" type="Script" id=2] [node name="MainScreen" type="Control"] diff --git a/addons/summer_day/summer_day.gd b/addons/summer_day/summer_day.gd index cf91fe5..98b6592 100644 --- a/addons/summer_day/summer_day.gd +++ b/addons/summer_day/summer_day.gd @@ -4,12 +4,14 @@ extends EditorPlugin signal sd_scene_changed(new_scene) const MainScreen = preload("res://addons/summer_day/main_screen.tscn") -const Timeline = preload("res://addons/summer_day/tool/timeline/timeline.tscn") +const Timeline = preload("res://addons/summer_day/user_interface/timeline/timeline.tscn") +const ScenePicker = preload("res://addons/summer_day/user_interface/resource_picker/scene_picker.gd") var Canvas: SummerDayCanvas var main_screen_instance: SummerDayMainScreen var timeline_instance: SummerDayTimeline +var scene_picker_instance: SummerDayScenePicker var tool_context := SummerDayToolContext.new() @@ -30,24 +32,31 @@ func _enter_tree(): # Hide the main panel. Very much required. make_visible(false) + timeline_instance = Timeline.instance() add_control_to_bottom_panel(timeline_instance, "SummerDay Timeline") - add_custom_type("SummerDayScene", "Resource", - load("res://addons/summer_day/data/scene/scene.gd"), + + scene_picker_instance = ScenePicker.new() + add_inspector_plugin(scene_picker_instance) + + + add_custom_type("SummerDayDocument", "Resource", + load("res://addons/summer_day/data/document/document.gd"), get_editor_interface().get_base_control().get_icon("Animation", "EditorIcons")) add_custom_type("SummerDayDisplay", "Control", - load("res://addons/summer_day/interface/display.gd"), + load("res://addons/summer_day/display/display.gd"), get_editor_interface().get_base_control().get_icon("TextureRect", "EditorIcons")) func _exit_tree(): if main_screen_instance: main_screen_instance.queue_free() - remove_custom_type("SummerDayScene") + remove_custom_type("SummerDayDocument") remove_custom_type("SummerDayDisplay") remove_control_from_bottom_panel(timeline_instance) + remove_inspector_plugin(scene_picker_instance) func has_main_screen(): @@ -65,12 +74,12 @@ func make_visible(visible): func handles(object): - if object is SummerDayScene: + if object is SummerDayDocument: return true -func edit(scene): - emit_signal("sd_scene_changed", scene) +func edit(object): + emit_signal("sd_scene_changed", object.scene) func get_plugin_name(): diff --git a/addons/summer_day/tool/canvas/tools/general_use/free_transform.gd b/addons/summer_day/tools/canvas/tools/general_use/free_transform.gd similarity index 100% rename from addons/summer_day/tool/canvas/tools/general_use/free_transform.gd rename to addons/summer_day/tools/canvas/tools/general_use/free_transform.gd diff --git a/addons/summer_day/tool/canvas/tools/general_use/hand.gd b/addons/summer_day/tools/canvas/tools/general_use/hand.gd similarity index 100% rename from addons/summer_day/tool/canvas/tools/general_use/hand.gd rename to addons/summer_day/tools/canvas/tools/general_use/hand.gd diff --git a/addons/summer_day/tool/canvas/tools/general_use/rotation.gd b/addons/summer_day/tools/canvas/tools/general_use/rotation.gd similarity index 100% rename from addons/summer_day/tool/canvas/tools/general_use/rotation.gd rename to addons/summer_day/tools/canvas/tools/general_use/rotation.gd diff --git a/addons/summer_day/tool/canvas/tools/general_use/zoom.gd b/addons/summer_day/tools/canvas/tools/general_use/zoom.gd similarity index 94% rename from addons/summer_day/tool/canvas/tools/general_use/zoom.gd rename to addons/summer_day/tools/canvas/tools/general_use/zoom.gd index 998f391..424afa0 100644 --- a/addons/summer_day/tool/canvas/tools/general_use/zoom.gd +++ b/addons/summer_day/tools/canvas/tools/general_use/zoom.gd @@ -36,10 +36,6 @@ func _run(event: InputEvent, tool_context: SummerDayToolContext): var zoom_strength if event is InputEventMouseButton: - print(event.button_index) - print(event.button_mask) - print(event.factor) - print("\n") zoom_point = event.position zoom_strength = event.factor if event.button_index == BUTTON_WHEEL_DOWN: diff --git a/addons/summer_day/tool/canvas/tools/tool_pool.gd b/addons/summer_day/tools/canvas/tools/tool_pool.gd similarity index 100% rename from addons/summer_day/tool/canvas/tools/tool_pool.gd rename to addons/summer_day/tools/canvas/tools/tool_pool.gd diff --git a/addons/summer_day/tool/tool_system/base_tool.gd b/addons/summer_day/tools/tool_system/base_tool.gd similarity index 100% rename from addons/summer_day/tool/tool_system/base_tool.gd rename to addons/summer_day/tools/tool_system/base_tool.gd diff --git a/addons/summer_day/tool/tool_system/tool_context.gd b/addons/summer_day/tools/tool_system/tool_context.gd similarity index 85% rename from addons/summer_day/tool/tool_system/tool_context.gd rename to addons/summer_day/tools/tool_system/tool_context.gd index 1be5560..fb40c7a 100644 --- a/addons/summer_day/tool/tool_system/tool_context.gd +++ b/addons/summer_day/tools/tool_system/tool_context.gd @@ -4,7 +4,7 @@ class_name SummerDayToolContext var edited_scene: SummerDayScene var canvas_state: SummerDayCanvasState -var local_mouse_position: Vector2 +var position: Vector2 func _on_SummerDay_scene_changed(new_scene): diff --git a/addons/summer_day/tool/tool_system/tool_pool.gd b/addons/summer_day/tools/tool_system/tool_pool.gd similarity index 100% rename from addons/summer_day/tool/tool_system/tool_pool.gd rename to addons/summer_day/tools/tool_system/tool_pool.gd diff --git a/addons/summer_day/tool/canvas/canvas.gd b/addons/summer_day/user_interface/canvas/canvas.gd similarity index 84% rename from addons/summer_day/tool/canvas/canvas.gd rename to addons/summer_day/user_interface/canvas/canvas.gd index a45886c..61d7ac0 100644 --- a/addons/summer_day/tool/canvas/canvas.gd +++ b/addons/summer_day/user_interface/canvas/canvas.gd @@ -16,13 +16,17 @@ func _ready(): func _gui_input(event): + if event.has_method("get_position"): + tool_context.position = canvas_state.view_transform.xform_inv( + event.position + ) tool_pool.run_most_prior(event, tool_context) -# _gui_input() cannot receive screen touch released event so we do this here. +# _gui_input() cannot receive screen touch released event by itself. func _input(event): if event is InputEventScreenTouch and !event.is_pressed(): - tool_pool.run_most_prior(event, tool_context) + _gui_input(event) func _on_SummerDay_scene_changed(new_scene): @@ -48,14 +52,14 @@ func _on_scene_aspect_ratio_changed(new_aspect_ratio): func _on_view_transform_changed(canvas_transform, spatial_transform): var canvas_transform_listeners = get_tree().get_nodes_in_group( - "ListenForCanvasTransform" + "SummerDayCanvasTransform" ) for i in canvas_transform_listeners: if i is Viewport: i.canvas_transform = canvas_transform var spatial_transform_listeners = get_tree().get_nodes_in_group( - "ListenForSpatialTransform" + "SummerDaySpatialTransform" ) for i in spatial_transform_listeners: var basis = Basis( @@ -67,6 +71,6 @@ func _on_view_transform_changed(canvas_transform, spatial_transform): func _on_canvas_polygon_changed(new_polygon): - var listeners = get_tree().get_nodes_in_group("CanvasPolygon") + var listeners = get_tree().get_nodes_in_group("SummerDayCanvasPolygon") for i in listeners: i.polygon = new_polygon diff --git a/addons/summer_day/tool/canvas/canvas.tscn b/addons/summer_day/user_interface/canvas/canvas.tscn similarity index 83% rename from addons/summer_day/tool/canvas/canvas.tscn rename to addons/summer_day/user_interface/canvas/canvas.tscn index 8d8099c..eb4e85d 100644 --- a/addons/summer_day/tool/canvas/canvas.tscn +++ b/addons/summer_day/user_interface/canvas/canvas.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=2] -[ext_resource path="res://addons/summer_day/tool/canvas/canvas.gd" type="Script" id=1] +[ext_resource path="res://addons/summer_day/user_interface/canvas/canvas.gd" type="Script" id=1] [ext_resource path="res://Main.tscn" type="PackedScene" id=2] [sub_resource type="StyleBoxFlat" id=3] @@ -50,7 +50,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="BackgroundLayer" type="Viewport" parent="Render" groups=["ListenForCanvasTransform"]] +[node name="BackgroundLayer" type="Viewport" parent="Render" groups=["SummerDayCanvasTransform"]] size = Vector2( 998, 574 ) size_override_stretch = true transparent_bg = true @@ -59,10 +59,10 @@ usage = 0 render_target_update_mode = 3 gui_disable_input = true -[node name="EmptyCanvasLayer" type="Polygon2D" parent="Render/BackgroundLayer" groups=["CanvasPolygon"]] -polygon = PoolVector2Array( 0, 0, 1.39909, 0, 1.39909, 1, 0, 1 ) +[node name="EmptyCanvasLayer" type="Polygon2D" parent="Render/BackgroundLayer" groups=["SummerDayCanvasPolygon"]] +polygon = PoolVector2Array( 0, 0, 1.77778, 0, 1.77778, 1, 0, 1 ) -[node name="RenderLayer" type="Viewport" parent="Render" groups=["ListenForCanvasTransform"]] +[node name="RenderLayer" type="Viewport" parent="Render" groups=["SummerDayCanvasTransform"]] size = Vector2( 998, 574 ) world = SubResource( 2 ) transparent_bg = true @@ -72,14 +72,14 @@ gui_disable_input = true [node name="Main" parent="Render/RenderLayer" instance=ExtResource( 2 )] -[node name="BorderShadow" type="Polygon2D" parent="Render/RenderLayer" groups=["CanvasPolygon"]] +[node name="BorderShadow" type="Polygon2D" parent="Render/RenderLayer" groups=["SummerDayCanvasPolygon"]] material = SubResource( 5 ) -color = Color( 0.611765, 0.611765, 0.611765, 1 ) +color = Color( 0.337255, 0.337255, 0.337255, 1 ) invert_enable = true invert_border = 1000.0 -polygon = PoolVector2Array( 0, 0, 1.39909, 0, 1.39909, 1, 0, 1 ) +polygon = PoolVector2Array( 0, 0, 1.77778, 0, 1.77778, 1, 0, 1 ) -[node name="ForegroundLayer" type="Viewport" parent="Render" groups=["ListenForCanvasTransform"]] +[node name="ForegroundLayer" type="Viewport" parent="Render" groups=["SummerDayCanvasTransform"]] size = Vector2( 998, 574 ) transparent_bg = true handle_input_locally = false diff --git a/addons/summer_day/tool/canvas/canvas_state.gd b/addons/summer_day/user_interface/canvas/canvas_state.gd similarity index 100% rename from addons/summer_day/tool/canvas/canvas_state.gd rename to addons/summer_day/user_interface/canvas/canvas_state.gd diff --git a/addons/summer_day/tool/canvas/rendering/empty_canvas_layer.gd b/addons/summer_day/user_interface/canvas/rendering/empty_canvas_layer.gd similarity index 100% rename from addons/summer_day/tool/canvas/rendering/empty_canvas_layer.gd rename to addons/summer_day/user_interface/canvas/rendering/empty_canvas_layer.gd diff --git a/addons/summer_day/tool/canvas/rendering/space_camera.gd b/addons/summer_day/user_interface/canvas/rendering/space_camera.gd similarity index 95% rename from addons/summer_day/tool/canvas/rendering/space_camera.gd rename to addons/summer_day/user_interface/canvas/rendering/space_camera.gd index 773f0bf..3fcb49e 100644 --- a/addons/summer_day/tool/canvas/rendering/space_camera.gd +++ b/addons/summer_day/user_interface/canvas/rendering/space_camera.gd @@ -3,7 +3,6 @@ extends Camera func _ready(): - print("HowAboutNow?") _on_view_transform_changed(Transform.IDENTITY) @@ -11,7 +10,6 @@ func _on_view_transform_changed(new_transform: Transform2D): var tran = Transform.IDENTITY tran.origin.y = 0.5 tran = tran.scaled(Vector3(0.2, 0.8, 1.0)) - print(tran) var rid = VisualServer.camera_create() var basis_scale = tran.basis.get_scale() var scale = lerp(basis_scale.x, basis_scale.y, 0.5) diff --git a/addons/summer_day/tool/canvas/rendering/viewport_handler.gd b/addons/summer_day/user_interface/canvas/rendering/viewport_handler.gd similarity index 100% rename from addons/summer_day/tool/canvas/rendering/viewport_handler.gd rename to addons/summer_day/user_interface/canvas/rendering/viewport_handler.gd diff --git a/addons/summer_day/user_interface/resource_picker/scene_picker.gd b/addons/summer_day/user_interface/resource_picker/scene_picker.gd new file mode 100644 index 0000000..3fd6ad8 --- /dev/null +++ b/addons/summer_day/user_interface/resource_picker/scene_picker.gd @@ -0,0 +1,18 @@ +tool +extends EditorInspectorPlugin +class_name SummerDayScenePicker + + +func can_handle(object): + if object is SummerDayDisplay: + return true + else: false + + +func parse_property(object, type, path, hint, hint_text, usage): + if path == "scene": + var picker = EditorResourcePicker.new() + picker.base_type = "SummerDayScene" + picker.editable = true + add_custom_control(picker) + return true diff --git a/addons/summer_day/tool/timeline/timeline.gd b/addons/summer_day/user_interface/timeline/timeline.gd similarity index 100% rename from addons/summer_day/tool/timeline/timeline.gd rename to addons/summer_day/user_interface/timeline/timeline.gd diff --git a/addons/summer_day/tool/timeline/timeline.tscn b/addons/summer_day/user_interface/timeline/timeline.tscn similarity index 84% rename from addons/summer_day/tool/timeline/timeline.tscn rename to addons/summer_day/user_interface/timeline/timeline.tscn index ce19402..4b94016 100644 --- a/addons/summer_day/tool/timeline/timeline.tscn +++ b/addons/summer_day/user_interface/timeline/timeline.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://addons/summer_day/tool/timeline/timeline.gd" type="Script" id=1] +[ext_resource path="res://addons/summer_day/user_interface/timeline/timeline.gd" type="Script" id=1] [node name="Timeline" type="Control"] anchor_right = 1.0 diff --git a/production/ann.tres b/production/ann.tres new file mode 100644 index 0000000..b47eeb6 --- /dev/null +++ b/production/ann.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://addons/summer_day/data/document/document.gd" type="Script" id=1] +[ext_resource path="res://production/test/scene_001.tres" type="Resource" id=2] + +[resource] +script = ExtResource( 1 ) +scene = ExtResource( 2 ) diff --git a/production/blueprints/mannequin/blueprint.gd b/production/blueprints/mannequin/blueprint.gd new file mode 100644 index 0000000..deafbbe --- /dev/null +++ b/production/blueprints/mannequin/blueprint.gd @@ -0,0 +1,7 @@ +tool +extends SummerDayBlueprint + + + +func _setup_editables(): + editables diff --git a/production/test/scene_001.tres b/production/test/scene_001.tres new file mode 100644 index 0000000..ec7cb1d --- /dev/null +++ b/production/test/scene_001.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" load_steps=2 format=2] + +[ext_resource path="res://addons/summer_day/data/scene/scene.gd" type="Script" id=1] + +[resource] +script = ExtResource( 1 ) +aspect_ratio = Vector2( 16, 9 ) diff --git a/project.godot b/project.godot index fe2c751..371fbcf 100644 --- a/project.godot +++ b/project.godot @@ -34,40 +34,60 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://Bullshit/NewTexutre.gd" }, { -"base": "Control", -"class": "SDDisplay", -"language": "GDScript", -"path": "res://addons/summer_day/interface/display.gd" -}, { "base": "ScriptEditor", "class": "ScriptEditorTest", "language": "GDScript", "path": "res://Bullshit/ScriptEditTest.gd" }, { +"base": "Resource", +"class": "SummerDayBlueprint", +"language": "GDScript", +"path": "res://addons/summer_day/data/blueprint/blueprint.gd" +}, { "base": "PanelContainer", "class": "SummerDayCanvas", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/canvas.gd" +"path": "res://addons/summer_day/user_interface/canvas/canvas.gd" }, { "base": "Resource", "class": "SummerDayCanvasState", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/canvas_state.gd" +"path": "res://addons/summer_day/user_interface/canvas/canvas_state.gd" }, { "base": "SummerDayToolPool", "class": "SummerDayCanvasToolPool", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/tools/tool_pool.gd" +"path": "res://addons/summer_day/tools/canvas/tools/tool_pool.gd" +}, { +"base": "Control", +"class": "SummerDayDisplay", +"language": "GDScript", +"path": "res://addons/summer_day/display/display.gd" +}, { +"base": "Resource", +"class": "SummerDayDocument", +"language": "GDScript", +"path": "res://addons/summer_day/data/document/document.gd" +}, { +"base": "Resource", +"class": "SummerDayEditable", +"language": "GDScript", +"path": "res://addons/summer_day/data/blueprint/editable.gd" +}, { +"base": "SummerDayEditable", +"class": "SummerDayEditableTube", +"language": "GDScript", +"path": "res://addons/summer_day/data/blueprint/template_editables/tube.gd" }, { "base": "SummerDayTool", "class": "SummerDayFreeTransformCanvasTool", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/tools/general_use/free_transform.gd" +"path": "res://addons/summer_day/tools/canvas/tools/general_use/free_transform.gd" }, { "base": "SummerDayTool", "class": "SummerDayHandCanvasTool", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/tools/general_use/hand.gd" +"path": "res://addons/summer_day/tools/canvas/tools/general_use/hand.gd" }, { "base": "Control", "class": "SummerDayMainScreen", @@ -82,42 +102,47 @@ _global_script_classes=[ { "base": "SummerDayTool", "class": "SummerDayRotationCanvasTool", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/tools/general_use/rotation.gd" +"path": "res://addons/summer_day/tools/canvas/tools/general_use/rotation.gd" }, { "base": "Resource", "class": "SummerDayScene", "language": "GDScript", "path": "res://addons/summer_day/data/scene/scene.gd" }, { +"base": "EditorInspectorPlugin", +"class": "SummerDayScenePicker", +"language": "GDScript", +"path": "res://addons/summer_day/user_interface/resource_picker/scene_picker.gd" +}, { "base": "Control", "class": "SummerDayTimeline", "language": "GDScript", -"path": "res://addons/summer_day/tool/timeline/timeline.gd" +"path": "res://addons/summer_day/user_interface/timeline/timeline.gd" }, { "base": "Reference", "class": "SummerDayTool", "language": "GDScript", -"path": "res://addons/summer_day/tool/tool_system/base_tool.gd" +"path": "res://addons/summer_day/tools/tool_system/base_tool.gd" }, { "base": "Reference", "class": "SummerDayToolContext", "language": "GDScript", -"path": "res://addons/summer_day/tool/tool_system/tool_context.gd" +"path": "res://addons/summer_day/tools/tool_system/tool_context.gd" }, { "base": "Reference", "class": "SummerDayToolPool", "language": "GDScript", -"path": "res://addons/summer_day/tool/tool_system/tool_pool.gd" +"path": "res://addons/summer_day/tools/tool_system/tool_pool.gd" }, { "base": "Viewport", "class": "SummerDayViewportHandler", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/rendering/viewport_handler.gd" +"path": "res://addons/summer_day/user_interface/canvas/rendering/viewport_handler.gd" }, { "base": "SummerDayTool", "class": "SummerDayZoomCanvasTool", "language": "GDScript", -"path": "res://addons/summer_day/tool/canvas/tools/general_use/zoom.gd" +"path": "res://addons/summer_day/tools/canvas/tools/general_use/zoom.gd" }, { "base": "OH", "class": "VeryWorse", @@ -130,17 +155,22 @@ _global_script_class_icons={ "GitAPI": "", "OH": "", "PremiumTexture": "", -"SDDisplay": "", "ScriptEditorTest": "", +"SummerDayBlueprint": "", "SummerDayCanvas": "", "SummerDayCanvasState": "", "SummerDayCanvasToolPool": "", +"SummerDayDisplay": "", +"SummerDayDocument": "", +"SummerDayEditable": "", +"SummerDayEditableTube": "", "SummerDayFreeTransformCanvasTool": "", "SummerDayHandCanvasTool": "", "SummerDayMainScreen": "", "SummerDayMathHelper": "", "SummerDayRotationCanvasTool": "", "SummerDayScene": "", +"SummerDayScenePicker": "", "SummerDayTimeline": "", "SummerDayTool": "", "SummerDayToolContext": "", @@ -160,10 +190,6 @@ config/icon="res://icon.png" Util="res://addons/summer_day/utilities/math_helper.gd" -[editor_plugins] - -enabled=PoolStringArray( "res://addons/summer_day/plugin.cfg" ) - [gdnative] singletons=[ "res://addons/godot-git-plugin/git_api.gdnlib" ]