No description
  • GDScript 96.3%
  • GDShader 2%
  • Shell 0.8%
  • Python 0.6%
  • HTML 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Loïc Wisniewski 12bd5eb7bf Clip the cooldown fill with Geometry2D, not by hand
Every cooling vessel logged "Invalid polygon data, triangulation failed"
once per frame, for as long as its cooldown ran - 16 of them in a single
test_laser_vessel run. The fill was drawn anyway, so nothing looked wrong,
but it buried real errors in test logs.

_filled_hull cut each hull edge against the fill line itself, which is
Sutherland-Hodgman, and Sutherland-Hodgman is only sound for a CONVEX
subject. Hulls are not: the gas bomber has a tail notch and the distorder a
waist. On those it stitched the pieces back together with a zero-width
bridge, and a polygon with a zero-width bridge is not one the triangulator
accepts.

Geometry2D.intersect_polygons does the clipping properly and returns a list
of polygons, which is also the truer answer - a notched hull genuinely fills
as two puddles until the level rises past the notch. A weld-and-area guard
stays in front of the renderer for repeated vertices and slivers.

Zero triangulation errors across the vessel tests now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 23:30:05 +02:00
android Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
buildings #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
controllers #90: give the laser an ignition instead of a blink 2026-08-22 23:29:55 +02:00
core #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
enemies Implement #85, #86, #87 and #88 2026-08-22 02:20:12 +02:00
fonts Skill tree, node-based building animation, bigger UI, and a 19x faster test suite 2026-08-11 15:00:41 +02:00
logistics #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
planets #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
PlanetSetups #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
resources #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
shaders #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
shots Remove the one-way ore API superseded by the transfer menu 2026-08-12 13:07:52 +02:00
surface #91: keep the gas source behind the fleet 2026-08-22 23:29:21 +02:00
tests Clip the cooldown fill with Geometry2D, not by hand 2026-08-22 23:30:05 +02:00
ui #92: shrink the confirm popup to the window it is in 2026-08-22 23:29:44 +02:00
vessels Clip the cooldown fill with Geometry2D, not by hand 2026-08-22 23:30:05 +02:00
vfx #90: give the laser an ignition instead of a blink 2026-08-22 23:29:55 +02:00
world #93: drive the research menu with a mouse, and close the hole under it 2026-08-22 23:29:34 +02:00
.gitignore Add a WSL path to the test runner 2026-08-22 14:40:44 +02:00
export_presets.cfg Fix the web build: a wasm trap on integer % 0, and buttons that never fired 2026-08-19 01:08:09 +02:00
icon.svg Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
icon.svg.import Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
project.godot #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ui_theme.tres Skill tree, node-based building animation, bigger UI, and a 19x faster test suite 2026-08-11 15:00:41 +02:00
web_shell.html Fix the web build: a wasm trap on integer % 0, and buttons that never fired 2026-08-19 01:08:09 +02:00