diff --git a/content/props/end_table.prop b/content/props/end_table.prop index a9d5388..ea23fac 100644 --- a/content/props/end_table.prop +++ b/content/props/end_table.prop @@ -14,283 +14,27 @@ }, "metadata": { "created_at": "2026-10-09T19:39:33", - "modified_at": "2026-10-09T19:39:33" + "modified_at": "2026-10-10T00:13:18" }, "shapes": [ { "shape_type": "polygon", "points": [ { - "x": -104, - "y": -110 + "x": -98, + "y": -100 }, { - "x": -83, - "y": -110 + "x": 98, + "y": -100 }, { - "x": -83, - "y": 132 + "x": 98, + "y": -25 }, { - "x": -104, - "y": 132 - } - ], - "fill_color": "#AC957EFF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": 23, - "y": -142 - }, - { - "x": 44, - "y": -142 - }, - { - "x": 44, - "y": 105 - }, - { - "x": 23, - "y": 105 - } - ], - "fill_color": "#A88B71FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -100, - "y": -12 - }, - { - "x": 32, - "y": -42 - }, - { - "x": 113, - "y": -9 - }, - { - "x": -20, - "y": 23 - } - ], - "fill_color": "#AF907AFF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -100, - "y": 69 - }, - { - "x": 32, - "y": 39 - }, - { - "x": 113, - "y": 72 - }, - { - "x": -20, - "y": 104 - } - ], - "fill_color": "#C0A184FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -100, - "y": 69 - }, - { - "x": -20, - "y": 104 - }, - { - "x": -20, - "y": 119 - }, - { - "x": -100, - "y": 84 - } - ], - "fill_color": "#D9C4A6FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -20, - "y": 104 - }, - { - "x": 113, - "y": 72 - }, - { - "x": 113, - "y": 87 - }, - { - "x": -20, - "y": 119 - } - ], - "fill_color": "#EBD8B5FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -100, - "y": -12 - }, - { - "x": -20, - "y": 23 - }, - { - "x": -20, - "y": 38 - }, - { - "x": -100, - "y": 3 - } - ], - "fill_color": "#D9C4A6FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -20, - "y": 23 - }, - { - "x": 113, - "y": -9 - }, - { - "x": 113, - "y": 6 - }, - { - "x": -20, - "y": 38 - } - ], - "fill_color": "#EBD8B5FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -100, - "y": -105 - }, - { - "x": -20, - "y": -73 - }, - { - "x": -20, - "y": -13 - }, - { - "x": -100, - "y": -46 + "x": -98, + "y": -25 } ], "fill_color": "#B49A82FF", @@ -309,20 +53,20 @@ "shape_type": "polygon", "points": [ { - "x": -20, - "y": -73 + "x": -83, + "y": -84 }, { - "x": 113, - "y": -105 + "x": 83, + "y": -84 }, { - "x": 113, - "y": -47 + "x": 83, + "y": -33 }, { - "x": -20, - "y": -13 + "x": -83, + "y": -33 } ], "fill_color": "#347E91FF", @@ -341,25 +85,25 @@ "shape_type": "polygon", "points": [ { - "x": -12, - "y": -66 + "x": -76, + "y": -77 }, { - "x": 105, - "y": -94 + "x": 76, + "y": -77 }, { - "x": 105, - "y": -53 + "x": 76, + "y": -40 }, { - "x": -12, - "y": -24 + "x": -76, + "y": -40 } ], "fill_color": "#B3D1E4FF", "outline_color": "#30213DFF", - "outline_width": 2.5, + "outline_width": 2, "closed": true, "vertex_flags": [ 0, @@ -373,20 +117,20 @@ "shape_type": "polygon", "points": [ { - "x": -12, - "y": -66 + "x": -73, + "y": -74 }, { - "x": -6, - "y": -60 + "x": 73, + "y": -74 }, { - "x": 99, - "y": -85 + "x": 73, + "y": -69 }, { - "x": 105, - "y": -94 + "x": -73, + "y": -69 } ], "fill_color": "#E9F6F9FF", @@ -405,20 +149,20 @@ "shape_type": "polygon", "points": [ { - "x": -12, - "y": -24 + "x": -73, + "y": -47 }, { - "x": 105, - "y": -53 + "x": 73, + "y": -47 }, { - "x": 99, - "y": -59 + "x": 73, + "y": -42 }, { - "x": -6, - "y": -34 + "x": -73, + "y": -42 } ], "fill_color": "#65ADBDFF", @@ -437,28 +181,148 @@ "shape_type": "polygon", "points": [ { - "x": -32, - "y": -76 + "x": -96, + "y": -12 }, { - "x": -18, - "y": -70 + "x": 96, + "y": -12 }, { - "x": -18, + "x": 96, + "y": 4 + }, + { + "x": -96, + "y": 4 + } + ], + "fill_color": "#EBD8B5FF", + "outline_color": "#30213DFF", + "outline_width": 3, + "closed": true, + "vertex_flags": [ + 0, + 0, + 0, + 0 + ], + "reshaped": true + }, + { + "shape_type": "polygon", + "points": [ + { + "x": -92, + "y": -10 + }, + { + "x": 92, + "y": -10 + }, + { + "x": 92, + "y": -5 + }, + { + "x": -92, + "y": -5 + } + ], + "fill_color": "#FFF0CEFF", + "outline_color": "#FFF0CEFF", + "outline_width": 0, + "closed": true, + "vertex_flags": [ + 0, + 0, + 0, + 0 + ], + "reshaped": true + }, + { + "shape_type": "polygon", + "points": [ + { + "x": -96, + "y": 94 + }, + { + "x": 96, + "y": 94 + }, + { + "x": 96, + "y": 110 + }, + { + "x": -96, + "y": 110 + } + ], + "fill_color": "#EBD8B5FF", + "outline_color": "#30213DFF", + "outline_width": 3, + "closed": true, + "vertex_flags": [ + 0, + 0, + 0, + 0 + ], + "reshaped": true + }, + { + "shape_type": "polygon", + "points": [ + { + "x": -92, + "y": 96 + }, + { + "x": 92, + "y": 96 + }, + { + "x": 92, + "y": 101 + }, + { + "x": -92, + "y": 101 + } + ], + "fill_color": "#FFF0CEFF", + "outline_color": "#FFF0CEFF", + "outline_width": 0, + "closed": true, + "vertex_flags": [ + 0, + 0, + 0, + 0 + ], + "reshaped": true + }, + { + "shape_type": "polygon", + "points": [ + { + "x": -102, + "y": -108 + }, + { + "x": -82, + "y": -108 + }, + { + "x": -82, "y": 160 }, { - "x": -32, - "y": 166 - }, - { - "x": -48, - "y": 159 - }, - { - "x": -48, - "y": -82 + "x": -102, + "y": 160 } ], "fill_color": "#E5CDA9FF", @@ -466,8 +330,6 @@ "outline_width": 3, "closed": true, "vertex_flags": [ - 0, - 0, 0, 0, 0, @@ -479,158 +341,20 @@ "shape_type": "polygon", "points": [ { - "x": -48, - "y": -82 - }, - { - "x": -32, - "y": -76 - }, - { - "x": -32, - "y": 166 - }, - { - "x": -48, - "y": 159 - } - ], - "fill_color": "#B39B81FF", - "outline_color": "#30213DFF", - "outline_width": 2, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -28, - "y": -67 - }, - { - "x": -22, - "y": -69 - }, - { - "x": -22, - "y": 154 - }, - { - "x": -28, - "y": 156 - } - ], - "fill_color": "#FFF0CEFF", - "outline_color": "#FFF0CEFF", - "outline_width": 0, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": 105, - "y": -107 - }, - { - "x": 123, - "y": -111 - }, - { - "x": 123, - "y": 132 - }, - { - "x": 106, - "y": 138 - }, - { - "x": 96, - "y": 133 - }, - { - "x": 96, - "y": -104 - } - ], - "fill_color": "#DEC7A7FF", - "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": 96, - "y": -104 - }, - { - "x": 106, - "y": -107 - }, - { - "x": 106, - "y": 138 - }, - { - "x": 96, - "y": 133 - } - ], - "fill_color": "#A98E79FF", - "outline_color": "#30213DFF", - "outline_width": 2, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": 112, - "y": -99 - }, - { - "x": 117, + "x": -98, "y": -100 }, { - "x": 117, - "y": 127 + "x": -93, + "y": -100 }, { - "x": 112, - "y": 129 + "x": -93, + "y": 154 + }, + { + "x": -98, + "y": 154 } ], "fill_color": "#FFF0CEFF", @@ -649,23 +373,23 @@ "shape_type": "polygon", "points": [ { - "x": -115, - "y": -125 - }, - { - "x": -28, - "y": -89 - }, - { - "x": -28, - "y": -72 - }, - { - "x": -115, + "x": 82, "y": -108 + }, + { + "x": 102, + "y": -108 + }, + { + "x": 102, + "y": 160 + }, + { + "x": 82, + "y": 160 } ], - "fill_color": "#D83751FF", + "fill_color": "#E5CDA9FF", "outline_color": "#30213DFF", "outline_width": 3, "closed": true, @@ -681,56 +405,56 @@ "shape_type": "polygon", "points": [ { - "x": -28, - "y": -89 + "x": 86, + "y": -100 }, { - "x": 131, - "y": -126 + "x": 91, + "y": -100 }, { - "x": 131, - "y": -109 + "x": 91, + "y": 154 }, { - "x": -28, - "y": -72 + "x": 86, + "y": 154 + } + ], + "fill_color": "#FFF0CEFF", + "outline_color": "#FFF0CEFF", + "outline_width": 0, + "closed": true, + "vertex_flags": [ + 0, + 0, + 0, + 0 + ], + "reshaped": true + }, + { + "shape_type": "polygon", + "points": [ + { + "x": -116, + "y": -124 + }, + { + "x": 116, + "y": -124 + }, + { + "x": 116, + "y": -104 + }, + { + "x": -116, + "y": -104 } ], "fill_color": "#E72F4AFF", "outline_color": "#30213DFF", - "outline_width": 3, - "closed": true, - "vertex_flags": [ - 0, - 0, - 0, - 0 - ], - "reshaped": true - }, - { - "shape_type": "polygon", - "points": [ - { - "x": -115, - "y": -125 - }, - { - "x": 42, - "y": -158 - }, - { - "x": 131, - "y": -126 - }, - { - "x": -28, - "y": -89 - } - ], - "fill_color": "#CDBEA7FF", - "outline_color": "#30213DFF", "outline_width": 4, "closed": true, "vertex_flags": [ @@ -745,25 +469,25 @@ "shape_type": "polygon", "points": [ { - "x": -104, - "y": -125 + "x": -112, + "y": -124 }, { - "x": 41, - "y": -151 + "x": 112, + "y": -124 }, { - "x": 118, - "y": -126 + "x": 112, + "y": -117 }, { - "x": -27, - "y": -96 + "x": -112, + "y": -117 } ], "fill_color": "#DFD0B9FF", - "outline_color": "#DFD0B9FF", - "outline_width": 0, + "outline_color": "#30213DFF", + "outline_width": 2, "closed": true, "vertex_flags": [ 0, @@ -777,100 +501,100 @@ "shape_type": "polygon", "points": [ { - "x": 57.0, - "y": -56.0 + "x": 9.0, + "y": -58.0 }, { - "x": 56.693, - "y": -53.671 + "x": 8.693, + "y": -55.671 }, { - "x": 55.794, - "y": -51.5 + "x": 7.794, + "y": -53.5 }, { - "x": 54.364, - "y": -49.636 + "x": 6.364, + "y": -51.636 }, { - "x": 52.5, - "y": -48.206 + "x": 4.5, + "y": -50.206 }, { - "x": 50.329, - "y": -47.307 + "x": 2.329, + "y": -49.307 }, { - "x": 48.0, - "y": -47.0 + "x": 0.0, + "y": -49.0 }, { - "x": 45.671, - "y": -47.307 + "x": -2.329, + "y": -49.307 }, { - "x": 43.5, - "y": -48.206 + "x": -4.5, + "y": -50.206 }, { - "x": 41.636, - "y": -49.636 + "x": -6.364, + "y": -51.636 }, { - "x": 40.206, - "y": -51.5 + "x": -7.794, + "y": -53.5 }, { - "x": 39.307, - "y": -53.671 + "x": -8.693, + "y": -55.671 }, { - "x": 39.0, - "y": -56.0 + "x": -9.0, + "y": -58.0 }, { - "x": 39.307, - "y": -58.329 + "x": -8.693, + "y": -60.329 }, { - "x": 40.206, - "y": -60.5 + "x": -7.794, + "y": -62.5 }, { - "x": 41.636, - "y": -62.364 + "x": -6.364, + "y": -64.364 }, { - "x": 43.5, - "y": -63.794 + "x": -4.5, + "y": -65.794 }, { - "x": 45.671, - "y": -64.693 + "x": -2.329, + "y": -66.693 }, { - "x": 48.0, - "y": -65.0 + "x": -0.0, + "y": -67.0 }, { - "x": 50.329, - "y": -64.693 + "x": 2.329, + "y": -66.693 }, { - "x": 52.5, - "y": -63.794 + "x": 4.5, + "y": -65.794 }, { - "x": 54.364, - "y": -62.364 + "x": 6.364, + "y": -64.364 }, { - "x": 55.794, - "y": -60.5 + "x": 7.794, + "y": -62.5 }, { - "x": 56.693, - "y": -58.329 + "x": 8.693, + "y": -60.329 } ], "fill_color": "#D72E4CFF", @@ -909,100 +633,68 @@ "shape_type": "polygon", "points": [ { - "x": 48.0, - "y": -59.0 + "x": 0.0, + "y": -61.0 }, { - "x": 47.898, - "y": -58.224 + "x": -0.228, + "y": -59.852 }, { - "x": 47.598, - "y": -57.5 + "x": -0.879, + "y": -58.879 }, { - "x": 47.121, - "y": -56.879 + "x": -1.852, + "y": -58.228 }, { - "x": 46.5, - "y": -56.402 + "x": -3.0, + "y": -58.0 }, { - "x": 45.776, - "y": -56.102 + "x": -4.148, + "y": -58.228 }, { - "x": 45.0, - "y": -56.0 + "x": -5.121, + "y": -58.879 }, { - "x": 44.224, - "y": -56.102 + "x": -5.772, + "y": -59.852 }, { - "x": 43.5, - "y": -56.402 + "x": -6.0, + "y": -61.0 }, { - "x": 42.879, - "y": -56.879 + "x": -5.772, + "y": -62.148 }, { - "x": 42.402, - "y": -57.5 + "x": -5.121, + "y": -63.121 }, { - "x": 42.102, - "y": -58.224 + "x": -4.148, + "y": -63.772 }, { - "x": 42.0, - "y": -59.0 + "x": -3.0, + "y": -64.0 }, { - "x": 42.102, - "y": -59.776 + "x": -1.852, + "y": -63.772 }, { - "x": 42.402, - "y": -60.5 + "x": -0.879, + "y": -63.121 }, { - "x": 42.879, - "y": -61.121 - }, - { - "x": 43.5, - "y": -61.598 - }, - { - "x": 44.224, - "y": -61.898 - }, - { - "x": 45.0, - "y": -62.0 - }, - { - "x": 45.776, - "y": -61.898 - }, - { - "x": 46.5, - "y": -61.598 - }, - { - "x": 47.121, - "y": -61.121 - }, - { - "x": 47.598, - "y": -60.5 - }, - { - "x": 47.898, - "y": -59.776 + "x": -0.228, + "y": -62.148 } ], "fill_color": "#FFE3DBFF", @@ -1025,14 +717,6 @@ 0, 0, 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, 0 ], "reshaped": true diff --git a/scripts/characters/stickman/stickman_prop_interactor.gd b/scripts/characters/stickman/stickman_prop_interactor.gd index 6d46629..fea95ff 100644 --- a/scripts/characters/stickman/stickman_prop_interactor.gd +++ b/scripts/characters/stickman/stickman_prop_interactor.gd @@ -33,7 +33,8 @@ const THROW_SPIN_SPEED: float = 2.4 const THROW_TRAJECTORY_SEGMENTS: int = 24 const THROW_HEAD_CLEARANCE: float = 36.0 const THROW_REACH_MARGIN: float = 8.0 -const PROP_TRACE_ENABLED: bool = true +## Set true temporarily when diagnosing prop interaction flow. +const PROP_TRACE_ENABLED: bool = false signal action_completed signal prop_event(event_type: String, prop: PropBlock, reason: String) diff --git a/scripts/editors/stage/sandbox_stage.gd b/scripts/editors/stage/sandbox_stage.gd index bd041fa..0036ff2 100644 --- a/scripts/editors/stage/sandbox_stage.gd +++ b/scripts/editors/stage/sandbox_stage.gd @@ -117,7 +117,8 @@ const RECENT_SCENE_LIMIT: int = STAGE_DOCUMENT_CONTROLLER_SCRIPT.RECENT_LIMIT const DEFAULT_SCENE_NAME: String = "Untitled" const DEFAULT_CAMERA_POSITION: Vector2 = Vector2(0.0, -400.0) const DEFAULT_CAMERA_ZOOM: float = 0.5 -const PROP_SCALE_TRACE_ENABLED: bool = true +## Set true temporarily when diagnosing prop interaction flow in the stage. +const PROP_TRACE_ENABLED: bool = false ## Director action-popup item ids (Phase 3a). const ACT_WALK := 0 @@ -1229,7 +1230,8 @@ func _physics_process(delta: float) -> void: if current_mode == StageMode.PLAY or _run_state != RunState.STOPPED: _restore_frames_left = 0 else: - print("[PropTrace] stage deferred_authored_restore remaining=%d mode=%s run_state=%s" % [_restore_frames_left, StageMode.keys()[int(current_mode)], RunState.keys()[int(_run_state)]]) + if PROP_TRACE_ENABLED: + print("[PropTrace] stage deferred_authored_restore remaining=%d mode=%s run_state=%s" % [_restore_frames_left, StageMode.keys()[int(current_mode)], RunState.keys()[int(_run_state)]]) _restore_frames_left -= 1 _restore_authored_state() _trace_changed_prop_scales() @@ -1698,7 +1700,8 @@ func _resume_run() -> void: func _reset_run() -> void: - print("[PropTrace] stage reset_run mode=%s run_state=%s" % [StageMode.keys()[int(current_mode)], RunState.keys()[int(_run_state)]]) + if PROP_TRACE_ENABLED: + print("[PropTrace] stage reset_run mode=%s run_state=%s" % [StageMode.keys()[int(current_mode)], RunState.keys()[int(_run_state)]]) _run_session.begin_reset() _run_session.reset_world(_world_children_selectable(), StageMode.keys()[int(current_mode)], _camera.zoom) _reconcile_prop_contacts() diff --git a/scripts/editors/stage/stage_run_session.gd b/scripts/editors/stage/stage_run_session.gd index 2c679f3..9ea8f98 100644 --- a/scripts/editors/stage/stage_run_session.gd +++ b/scripts/editors/stage/stage_run_session.gd @@ -8,7 +8,8 @@ const PROP_STAGE_ROLES := preload("res://scripts/props/prop_stage_roles.gd") const STATE_STOPPED: int = 0 const STATE_RUNNING: int = 1 const STATE_PAUSED: int = 2 -const PROP_SCALE_TRACE_ENABLED: bool = true +## Set true temporarily when diagnosing authored/play prop scale transfer. +const PROP_SCALE_TRACE_ENABLED: bool = false var run_state: int = STATE_STOPPED var elapsed_seconds: float = 0.0