▸case-01 I wrote a Godot script where `GPUParticles2D.amount` is modified dynamically while `emitting` is set to `true` during gameplay to increase spark density. Review this snippet for Godot particle bugs and format any findings with an identifier, the problematic line, and the required fix:
```gdscript
func boost_sparks():
$Sparks.emitting = true
$Sparks.amount = 100
``` | fail→fail | 10,988 | 6,731 | -39% | 1 | 1 | 0% | 1,892 | 1,222 | -35% | 0 | 0 | — |
▸case-02 Audit this Godot GPUParticles3D setup script where properties are set statically on startup before emitting is enabled:
```gdscript
func _ready():
var mat = ParticleProcessMaterial.new()
mat.direction = Vector3(0, 1, 0)
mat.spread = 45.0
mat.initial_velocity_min = 5.0
mat.initial_velocity_max = 10.0
$GPUParticles3D.process_material = mat
$GPUParticles3D.emitting = true
```
Provide a review report on this code. | fail→fail | 14,279 | 13,166 | -8% | 1 | 1 | 0% | 2,486 | 2,541 | +2% | 0 | 0 | — |
▸case-03 Check this Godot sub-emitter setup code where a sub-emitter node is assigned to `sub_emitter` on the process material, but the particles never spawn on collision or death. Cite the issue ID if applicable, show the offending line, and give the fix:
```gdscript
func setup_sparks():
var mat = $MainParticles.process_material as ParticleProcessMaterial
mat.sub_emitter_target_node = NodePath("../SubParticles")
$MainParticles.emitting = true
``` | pass→pass | 12,757 | 8,568 | -33% | 1 | 1 | 0% | 2,487 | 1,981 | -20% | 0 | 0 | — |
▸case-04 Audit this GPUParticles3D trail configuration code where `trail_enabled` is set to true on `ParticleProcessMaterial`, but trails fail to render visually in-game:
```gdscript
func _ready():
var mat = $GPUParticles3D.process_material as ParticleProcessMaterial
mat.trail_enabled = true
mat.trail_lifetime = 0.5
$GPUParticles3D.emitting = true
```
Identify the bug, quote the offending code, and provide the fix. | pass→pass | 9,230 | 5,545 | -40% | 1 | 1 | 0% | 1,920 | 1,462 | -24% | 0 | 0 | — |
▸case-05 Review this Godot 3D particle collision setup where particles pass straight through the collision box:
```gdscript
func _ready():
var collider = GPUParticlesCollisionBox3D.new()
collider.size = Vector3.ZERO
add_child(collider)
```
Provide the review output citing the gotcha ID, the problematic code, and the resolution. | pass→pass | 5,204 | 6,295 | +21% | 1 | 1 | 0% | 1,044 | 1,544 | +48% | 0 | 0 | — |
▸case-15 Audit this burst sub-emitter process material setup:
```gdscript
func setup_burst():
var mat = $MainParticles.process_material as ParticleProcessMaterial
mat.sub_emitter_mode = ParticleProcessMaterial.SUB_EMITTER_AT_END
mat.sub_emitter_frequency = 100.0
$MainParticles.emitting = true
```
Review for gotchas, citing gotcha ID, code, and resolution. | pass→pass | 13,212 | 10,455 | -21% | 1 | 1 | 0% | 2,495 | 2,330 | -7% | 0 | 0 | — |
▸case-06 Analyze this CPUParticles2D code block that attempts to configure vector field acceleration and sub-emitters:
```gdscript
func setup_cpu_dust():
$CPUParticles2D.sub_emitter = NodePath("../Other")
```
Review this snippet and present any findings with gotcha identifier, offending code, and fix. | pass→pass | 8,331 | 5,793 | -30% | 1 | 1 | 0% | 1,639 | 1,414 | -14% | 0 | 0 | — |
▸case-07 Review this Godot particle shader code snippet for potential standard compliance issues:
```godot-shader
shader_type particles;
void process() {
VELOCITY.y += 9.8 * DELTA;
}
```
Audit the snippet, list any gotcha IDs hit, show the offending line, and give the fix. | pass→pass | 12,612 | 9,421 | -25% | 1 | 1 | 0% | 2,070 | 1,795 | -13% | 0 | 0 | — |
▸case-08 Review this Godot script meant to replay an explosion particle effect when triggered repeatedly:
```gdscript
func trigger_explosion():
$ExplosionParticles.one_shot = true
$ExplosionParticles.emitting = true
```
Identify why subsequent calls fail to play the effect, show the offending code, and supply the fix. | fail→pass | 7,385 | 6,606 | -11% | 1 | 1 | 0% | 1,245 | 1,415 | +14% | 0 | 0 | — |
▸case-09 Audit this GPUParticles2D node script where `draw_passes` and `process_material` interact:
```gdscript
func setup_particles():
$GPUParticles2D.process_material = preload("res://fire.tres")
$GPUParticles2D.material = preload("res://canvas_override.tres")
```
Highlight potential gotchas, citing gotcha ID, code hit, and resolution. | pass→pass | 14,040 | 10,514 | -25% | 1 | 1 | 0% | 2,693 | 2,030 | -25% | 0 | 0 | — |
▸case-16 Review this complex GPUParticles3D process material script and check if detailed Godot C++ / engine API specifications are required for `ParticleProcessMaterial.emission_shape_offset`:
```gdscript
func _ready():
var mat = $GPUParticles3D.process_material as ParticleProcessMaterial
mat.emission_shape = ParticleProcessMaterial.EMISSION_SHAPE_BOX
mat.emission_box_extents = Vector3(1, 1, 1)
```
Audit the code for gotchas, and delegate specific API lookup if required. | fail→fail | 13,173 | 13,074 | -1% | 1 | 1 | 0% | 2,237 | 2,534 | +13% | 0 | 0 | — |
▸case-10 Review this Godot CPUParticles3D initialization snippet:
```gdscript
func _ready():
$CPUParticles3D.amount = 30
$CPUParticles3D.lifetime = 1.5
$CPUParticles3D.direction = Vector3(0, 1, 0)
$CPUParticles3D.spread = 15.0
$CPUParticles3D.gravity = Vector3(0, -9.8, 0)
$CPUParticles3D.emitting = true
```
Provide a full review report. | fail→fail | 14,418 | 10,836 | -25% | 1 | 1 | 0% | 2,434 | 2,112 | -13% | 0 | 0 | — |
▸case-11 Audit this script that instances multiple spell effects in Godot:
```gdscript
func spawn_spell(pos: Vector3):
var p = spell_scene.instantiate()
p.position = pos
p.get_node("GPUParticles3D").process_material.color = Color.RED
add_child(p)
```
Point out any particle gotchas, include gotcha ID, exact offending line, and fix. | pass→pass | 18,035 | 9,062 | -50% | 1 | 1 | 0% | 2,903 | 1,825 | -37% | 0 | 0 | — |
▸case-12 Review this snippet controlling particle visibility during cutscenes:
```gdscript
func hide_particles():
$GPUParticles3D.visible = false
```
Check for gotchas regarding visibility vs emission state in Godot particles, show offending line, and offer fix. | pass→pass | 8,345 | 7,358 | -12% | 1 | 1 | 0% | 1,238 | 1,354 | +9% | 0 | 0 | — |
▸case-13 Audit this local coordinate particle configuration for a projectile trail:
```gdscript
func setup_bullet_trail():
var mat = $GPUParticles3D.process_material as ParticleProcessMaterial
$GPUParticles3D.local_coords = true
$GPUParticles3D.emitting = true
```
Identify the gotcha for dynamic bullet trails, quote offending line, and supply the fix. | pass→pass | 3,825 | 3,525 | -8% | 1 | 1 | 0% | 672 | 849 | +26% | 0 | 0 | — |
▸case-14 Review this GPUParticlesCollision3D mask setup script:
```gdscript
func setup_collision():
$GPUParticlesCollisionBox3D.cull_mask = 0
```
Audit against particle gotchas, citing ID, offending line, and fix. | pass→pass | 11,674 | 7,311 | -37% | 1 | 1 | 0% | 2,025 | 1,451 | -28% | 0 | 0 | — |
▸case-17 Perform a review on this clean Godot particle shader:
```godot-shader
shader_type particles;
void start() {
VELOCITY = vec3(0.0, 10.0, 0.0);
}
void process() {
VELOCITY += vec3(0.0, -9.8, 0.0) * DELTA;
}
```
Provide review results according to standard particle gotcha verification. | fail→fail | 16,278 | 10,206 | -37% | 1 | 1 | 0% | 2,605 | 2,108 | -19% | 0 | 0 | — |
▸case-18 Audit this particle attractor node script:
```gdscript
func setup_attractor():
var attractor = GPUParticlesAttractorSphere3D.new()
attractor.radius = -5.0
add_child(attractor)
```
Identify the gotcha, show offending line, and give the fix. | pass→pass | 5,055 | 6,253 | +24% | 1 | 1 | 0% | 799 | 1,229 | +54% | 0 | 0 | — |
▸case-19 Review this runtime script adjusting particle speed scale:
```gdscript
func reverse_particles():
$GPUParticles2D.speed_scale = -1.0
```
Audit against gotchas, citing ID, code, and fix. | pass→pass | 11,537 | 9,771 | -15% | 1 | 1 | 0% | 1,637 | 1,652 | +1% | 0 | 0 | — |
▸case-20 Audit this standard 2D CanvasItem water shader in Godot 4 for performance and correctness:
```godot-shader
shader_type canvas_item;
uniform sampler2D noise_tex : repeat_enable;
void fragment() {
vec2 uv = UV + vec2(TIME * 0.1, 0.0);
COLOR = texture(TEXTURE, uv) * texture(noise_tex, uv);
}
```
Provide a technical review of this fragment shader. | pass→pass | 15,834 | 14,410 | -9% | 1 | 1 | 0% | 2,511 | 2,546 | +1% | 0 | 0 | — |
▸case-21 Review this GDScript bullet spawner class for object pooling bugs and memory leaks in Godot 4:
```gdscript
extends Node2D
@export var bullet_scene: PackedScene
var pool: Array = []
func get_bullet() -> Node2D:
if pool.is_empty():
return bullet_scene.instantiate()
return pool.pop_back()
func recycle_bullet(b: Node2D):
b.get_parent().remove_child(b)
pool.append(b)
```
Provide code quality feedback on this pooling pattern. | pass→fail | 16,984 | 15,111 | -11% | 1 | 1 | 0% | 2,841 | 2,788 | -2% | 0 | 0 | — |
▸case-22 Review this Godot 4 AnimationTree state machine configuration script for character locomotion:
```gdscript
func update_animation_tree(velocity: Vector2):
var playback = $AnimationTree.get("parameters/playback")
if velocity.length() > 0.1:
playback.travel("Walk")
else:
playback.travel("Idle")
```
Provide code review feedback on this animation blend state transition. | pass→fail | 12,120 | 8,543 | -30% | 1 | 1 | 0% | 2,164 | 1,784 | -18% | 0 | 0 | — |