commit 7b995cb665238b4cd65050777c8d63d36a5b8b8e
parent 756ab6e2777342468a076de70cf0dccd0ab361fb
Author: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Date: Sun, 20 Sep 2026 16:52:49 -0300
appicon: record the compiler crash rather than guard against it
A first guess at the trigger would have refused a manifest a shipping app
compiles. The shapes that fail and the ones that do not are written down
instead, since a rule that cannot be defended is worse than none.
Diffstat:
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/appicon/appicon.go b/appicon/appicon.go
@@ -9,6 +9,21 @@
//
// Nothing here compiles a bundle. That is actool's work, and it runs only on
// macOS; a bundle written by this package is the input it takes.
+//
+// # A crash worth knowing about
+//
+// actool from Xcode 26.6 crashes, rather than reporting a problem, on some
+// groups that specialise translucency. A group holding only a shadow and
+// translucency specialised for the default appearance and for tinted brings
+// it down with an exception from inside its own asset selection. The same
+// group compiles once it also carries lighting, a blend mode, or a
+// translucency for dark, and so does the equivalent group taken from a
+// shipping app.
+//
+// The trigger is not fully characterised, so this package writes what it is
+// given and leaves the judgement to the compiler. A bundle that fails to
+// compile with an exception rather than an error is worth reshaping before
+// it is worth debugging.
package appicon
import (