mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
66b6215fdd
The goal was a single flat translucent slab. Because the chase camera sits behind the goal line at kickoff it rendered as a large blue rectangle across the lower screen, and the hull beside the mouth was translucent field panel, so the pocket behind it showed straight through the wall and the net appeared a second time alongside the frame. The boundary now carries an opaque bulkhead around each mouth, which occludes properly. On top of that the goal becomes a pocket sunk into the wall: a dark machined bezel lining the opening, a thin team-coloured emissive rim flush with the wall face, and netting from a single box viewed inside-out, giving a five-sided pocket instead of a flat panel across the back. The net is cut with discard rather than alpha blending so it still writes depth and sorts against the frame and the containment field like solid geometry; a blended net would join the transparent queue and sort per object against the boundary shell, which is the artefact this whole pass removed. goal.tscn drops from 18 node/sub-resource blocks to 3 — it is now just the Area3D, its CollisionShape3D and the script. All geometry is built in code from two loops, and the mouth is measured off the collision shape rather than restated, so the frame cannot drift from the volume that actually scores. The sensor, its collision shape and the goal_scored signal are unchanged, and visuals are skipped under --headless.