Treat all Constraints and ClippingShapes differently than children when propagating collapse

Decided to go with the `is` check because it seems like all types of Constraints or ClippingShapes should follow this behavior now and in the future.

Diffs=
16cf8082f Treat Constraints, ClippingShapes and DrawRules as special Solo child types (#5897)

Co-authored-by: Philip Chung <philterdesign@gmail.com>
diff --git a/.rive_head b/.rive_head
index d20bffc..216f57b 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-e1b9d360b4ab7a2620f888cb9b4497d253e1da80
+16cf8082fd9a66014305994c736d98cc12d96c73
diff --git a/src/solo.cpp b/src/solo.cpp
index fc052f2..c958620 100644
--- a/src/solo.cpp
+++ b/src/solo.cpp
@@ -13,12 +13,10 @@
         // Some child components shouldn't be considered as part of the solo set
         // as they are more aking to properties of the solo itself. For those
         // components, simply pass on the collapse value of the solo itself.
-        switch (child->coreType())
+        if (child->is<Constraint>() || child->is<ClippingShape>())
         {
-            case ConstraintBase::typeKey:
-            case ClippingShapeBase::typeKey:
-                child->collapse(collapse);
-                continue;
+            child->collapse(collapse);
+            continue;
         }
 
         // This child is part of the solo set so only make it active if it's the