Mesh Islands in the wrong domain
Mesh Island is logically a Higher-order domain than Faces, Edges, and Vertices, yet the Mesh Island data exists on the point domain. The Mesh Island node advertizes an Island Count output, but that count is actually stored as a per-vertex Field, rather than as a global Mesh Constant, which it logically is.
Mesh Islands should be a separate domain that you can select anywhere you select a geometry domain, e.g. Capture Attribute, Separate Geometry, etc.
This would allow the deprecation of the Mesh Island node, and the standard would be to use Domain Size to get the Island Count, and Index would be interpreted on the Mesh Island Domain itself.
2 Comments
Mesh islands are not domain in Blender's internal architecture. I assume that to get Mesh Islands as domain in Geometry Nodes, the internal architecture would have to be changed. And I don't see that happening.
If Blender can migrate from 32‑bit to 64‑bit native DNA, overhaul attribute storage, introduce geometry fields, add anonymous attributes, and rework the entire simulation system, then adding a new domain type is not some sacred line that can’t be crossed.
They've already made massive changes to the format going forward, this would be relatively small by comparison.