xiaohongshu
xiaohongshu
godot-clean-conflicts
Use when Godot code has operations that conflict with each other, creating undefined behavior. Detects same property set in multiple places (_ready, _process, code + editor), same signal connected multiple times, conflicting physics modes, competing animations. Automatically resolves conflicts wi...
Full skill instructions
One source of truth per property. Conflicting operations create undefined behavior and debugging nightmares.
Finds patterns like:
# player.gd
func _ready():
position = Vector2(100, 100) # Code sets position
# BUT: .tscn also has position = Vector2(200, 200)
# CONFLICT: Which position wins?
func _process(delta):
rotation += delta # Animation system ALSO modifying rotation
# CONFLICT: Animation vs code control
Resolves to clear ownership:
# player.gd
# Position is set in .tscn (editor owns position)
# Rotation is controlled by animation (animation owns rotation)
func _process(delta):
# Rotation conflict removed
pass
Identifies:
Properties have wrong values and you don't know why.
Sometimes works, sometimes doesn't (timing-dependent).
Signal fires twice, actions happen multiple times.
Code tries to control physics body directly.
Before (Conflict):
# enemy.gd
func _ready():
position = Vector2(500, 300) # Code says here
# enemy.tscn
[node name="Enemy" type="CharacterBody2D"]
position = Vector2(100, 100) # Editor says here
# RESULT: Confusing! Editor shows one place, game uses another
After (Resolved - Editor Wins):
# enemy.gd
func _ready():
# Position is set in scene file for editor visibility
pass
# enemy.tscn
[node name="Enemy" type="CharacterBody2D"]
position = Vector2(500, 300) # Updated to match intended position
# RESULT: What You See Is What You Get
Before (Conflict):
# ui.gd
func _ready():
button.pressed.connect(_on_button_pressed)
func setup_ui():
button.pressed.connect(_on_button_pressed) # CONNECTED AGAIN!
# RESULT: _on_button_pressed fires TWICE per click
After (Resolved):
# ui.gd
func _ready():
if not button.pressed.is_connected(_on_button_pressed):
button.pressed.connect(_on_button_pressed)
func setup_ui():
# Connection already exists, skip
pass
# RESULT: Fires exactly once per click
Before (Conflict):
# player.gd
func _process(delta):
sprite.rotation += delta * rotation_speed # Code controls rotation
# player.tscn has AnimationPlayer controlling sprite.rotation
# RESULT: Jittery rotation, both systems fighting
After (Resolved - Animation Wins):
# player.gd
func _process(delta):
# Rotation is controlled by animation system
# Code can trigger animations: animation_player.play("rotate")
pass
# AnimationPlayer has full control of sprite.rotation
# RESULT: Smooth animation, clear ownership
Before (Conflict):
# enemy.gd
extends RigidBody2D
func _physics_process(delta):
position = target_position # CONFLICT with physics engine!
# Physics engine wants to control position
# Code also tries to control position
# RESULT: Jittery movement, physics fighting code
After (Resolved - Use Correct Body Type):
# enemy.gd
extends CharacterBody2D # Changed to CharacterBody for code control
func _physics_process(delta):
position = target_position # Now appropriate for CharacterBody
# CharacterBody2D is designed for code-controlled movement
# RESULT: Smooth movement, no conflict
Alternative Resolution (Keep RigidBody):
# enemy.gd
extends RigidBody2D
func _physics_process(delta):
# Use forces instead of direct position control
apply_force((target_position - position) * force_strength)
# Work WITH physics engine, not against it
# RESULT: Realistic physics-based movement
Move code-defined values to .tscn for editor visibility.
Remove editor values when code needs full control.
Code triggers animations, doesn't modify properties directly.
Use forces/impulses instead of direct property control.
Establish clear pattern: editor for initial, code for changes.
Detects conflict severity:
Prioritizes resolution:
Works with:
Don't "fix" if:
Not all conflicts are bugs - some are architectural patterns.
| Conflict Type | Symptom | Resolution |
|---|---|---|
| Position in _ready + .tscn | Wrong position in game | Editor wins (move to .tscn) |
| Duplicate signal connection | Event fires multiple times | Check is_connected() first |
| Animation + code rotation | Jittery animation | Animation wins (remove code) |
| RigidBody position control | Physics glitches | Use forces instead |
| _process + _physics_process | Inconsistent behavior | Choose one based on need |
For each resolution, adds comments like:
# Position is controlled by .tscn (editor-visible)
# Rotation is controlled by AnimationPlayer "idle"
# Scale is controlled by code (dynamic resizing)
Clear ownership = clear code.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience