Smoke: the silhouette may be several contours, all before the kit's lines

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
soul 2026-10-22 16:02:53 +02:00
commit 5bb4ad5f0f

View file

@ -373,8 +373,10 @@ def one_hull(scene, number, fixture, ship_id, extent, length, rows, body, palett
# Schematic lines: Build's, else hers, and never two of hers.
packaged = ship_lines(ship_cc)
require(packaged and packaged[0][0] == "silhouette" and packaged[0][5] is True, f"The first line is not the silhouette: {packaged[:1]}")
kit = packaged[1:]
require(all(row[0] in hull_source.KIT_LAYERS and row[3] is None and row[4] is None and row[1] == "" for row in kit),
kit = [row for row in packaged if row[0] != "silhouette"]
drawn = [row[0] for row in packaged]
require(drawn[:len(packaged) - len(kit)] == ["silhouette"] * (len(packaged) - len(kit)), "The silhouette contours are not first")
require(all(row[3] is None and row[4] is None and row[1] == "" for row in packaged),
"A kit line row is not shaped as Package writes it")
require(bool(kit) == (fixture == "zh-ammo-tender"), f"The kit drew {len(kit)} lines for {fixture}")
require(all(approx(row[6], hull_source.LINE_STYLE[row[0]]) for row in packaged), "A line lost its style")