[Impeller] remove usage of MaxBasisLength in favor of XY variant. (#55670)

MaxBasisXYZ prevents usage of scaling factors less than one since Z is almost always 1.

Fixes https://github.com/flutter/flutter/issues/153451
diff --git a/impeller/entity/geometry/fill_path_geometry.cc b/impeller/entity/geometry/fill_path_geometry.cc
index 209a9d6..7316182 100644
--- a/impeller/entity/geometry/fill_path_geometry.cc
+++ b/impeller/entity/geometry/fill_path_geometry.cc
@@ -37,7 +37,7 @@
   }
 
   VertexBuffer vertex_buffer = renderer.GetTessellator()->TessellateConvex(
-      path_, host_buffer, entity.GetTransform().GetMaxBasisLength());
+      path_, host_buffer, entity.GetTransform().GetMaxBasisLengthXY());
 
   return GeometryResult{
       .type = PrimitiveType::kTriangleStrip,
diff --git a/impeller/entity/geometry/stroke_path_geometry.cc b/impeller/entity/geometry/stroke_path_geometry.cc
index cd188c6..aa06c3a 100644
--- a/impeller/entity/geometry/stroke_path_geometry.cc
+++ b/impeller/entity/geometry/stroke_path_geometry.cc
@@ -581,7 +581,7 @@
   Scalar stroke_width = std::max(stroke_width_, min_size);
 
   auto& host_buffer = renderer.GetTransientsBuffer();
-  auto scale = entity.GetTransform().GetMaxBasisLength();
+  auto scale = entity.GetTransform().GetMaxBasisLengthXY();
 
   PositionWriter position_writer;
   auto polyline = renderer.GetTessellator()->CreateTempPolyline(path_, scale);
diff --git a/impeller/geometry/geometry_unittests.cc b/impeller/geometry/geometry_unittests.cc
index 697471e..cdc4078 100644
--- a/impeller/geometry/geometry_unittests.cc
+++ b/impeller/geometry/geometry_unittests.cc
@@ -330,21 +330,6 @@
   }
 }
 
-TEST(GeometryTest, MatrixGetMaxBasisLength) {
-  {
-    auto m = Matrix::MakeScale({3, 1, 1});
-    ASSERT_EQ(m.GetMaxBasisLength(), 3);
-
-    m = m * Matrix::MakeSkew(0, 4);
-    ASSERT_EQ(m.GetMaxBasisLength(), 5);
-  }
-
-  {
-    auto m = Matrix::MakeScale({-3, 4, 2});
-    ASSERT_EQ(m.GetMaxBasisLength(), 4);
-  }
-}
-
 TEST(GeometryTest, MatrixGetMaxBasisLengthXY) {
   {
     auto m = Matrix::MakeScale({3, 1, 1});
diff --git a/impeller/geometry/matrix.cc b/impeller/geometry/matrix.cc
index 5f1c367..e47dd86 100644
--- a/impeller/geometry/matrix.cc
+++ b/impeller/geometry/matrix.cc
@@ -193,15 +193,6 @@
   return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
 }
 
-Scalar Matrix::GetMaxBasisLength() const {
-  Scalar max = 0;
-  for (int i = 0; i < 3; i++) {
-    max = std::max(max,
-                   e[i][0] * e[i][0] + e[i][1] * e[i][1] + e[i][2] * e[i][2]);
-  }
-  return std::sqrt(max);
-}
-
 /*
  *  Adapted for Impeller from Graphics Gems:
  *  http://www.realtimerendering.com/resources/GraphicsGems/gemsii/unmatrix.c
diff --git a/impeller/geometry/matrix.h b/impeller/geometry/matrix.h
index 3f99607..1726c30 100644
--- a/impeller/geometry/matrix.h
+++ b/impeller/geometry/matrix.h
@@ -295,8 +295,6 @@
 
   Scalar GetDeterminant() const;
 
-  Scalar GetMaxBasisLength() const;
-
   constexpr Scalar GetMaxBasisLengthXY() const {
     // The full basis computation requires computing the squared scaling factor
     // for translate/scale only matrices. This substantially limits the range of