The graph of ${(x^2 + y^2 - 1)}^3 = x^2 y^3$ is a heart-shaped curve, shown in the figure below.
[asy]
  import graph;
  unitsize(10);
  
  real f(real x)
  {
    return sqrt(cbrt(x^4) - 4 x^2 + 4);
  }
  
  real g(real x)
  {
    return (cbrt(x^2) + f(x))/2;
  }
  
  real h(real x)
  {
    return (cbrt(x^2) - f(x)) / 2;
  }
    
  real xmax = 1.139028;
  
  draw(graph(g, -xmax, xmax) -- reverse(graph(h, -xmax, xmax)) -- cycle);
  
  xaxis("$x$", -1.5, 1.5, above = true);
  yaxis("$y$", -1.5, 1.5, above = true);
[/asy]
For how many ordered pairs of integers $(x, y)$ is the point $(x, y)$ inside or on this curve?
To determine the number of ordered pairs of integers \((x, y)\) that lie inside or on the curve defined by the equation \((x^2 + y^2 - 1)^3 = x^2 y^3\), we need to check the inequality \((x^2 + y^2 - 1)^3 \le x^2 y^3\) for integer values of \(x\) and \(y\).

1. **Case \(x = 0\):**
   \[
   (y^2 - 1)^3 \le 0
   \]
   This inequality holds when \(y^2 - 1 \le 0\), which simplifies to:
   \[
   y^2 \le 1 \implies y = -1, 0, 1
   \]
   Thus, the valid pairs are \((0, -1)\), \((0, 0)\), and \((0, 1)\).

2. **Case \(x = 1\):**
   \[
   (1 + y^2 - 1)^3 \le y^3 \implies y^6 \le y^3
   \]
   This inequality holds when \(y^3(y^3 - 1) \le 0\), which simplifies to:
   \[
   y^3 \le 1 \implies y = 0, 1
   \]
   Thus, the valid pairs are \((1, 0)\) and \((1, 1)\).

3. **Case \(x = -1\):**
   \[
   (1 + y^2 - 1)^3 \le y^3 \implies y^6 \le y^3
   \]
   This inequality holds when \(y^3(y^3 - 1) \le 0\), which simplifies to:
   \[
   y^3 \le 1 \implies y = 0, 1
   \]
   Thus, the valid pairs are \((-1, 0)\) and \((-1, 1)\).

4. **Case \(x = 2\):**
   \[
   (4 + y^2 - 1)^3 \le 4y^3 \implies (3 + y^2)^3 \le 4y^3
   \]
   To check if this inequality holds, we can test the weaker inequality:
   \[
   3 + y^2 \le 2y
   \]
   Solving \(3 + y^2 \le 2y\):
   \[
   y^2 - 2y + 3 \le 0
   \]
   The quadratic equation \(y^2 - 2y + 3 = 0\) has no real roots, so the inequality does not hold for any integer \(y\). Thus, there are no valid pairs for \(x = 2\).

5. **Case \(x = -2\):**
   \[
   (4 + y^2 - 1)^3 \le 4y^3 \implies (3 + y^2)^3 \le 4y^3
   \]
   Similar to the case \(x = 2\), we test the weaker inequality:
   \[
   3 + y^2 \le 2y
   \]
   Solving \(3 + y^2 \le 2y\):
   \[
   y^2 - 2y + 3 \le 0
   \]
   The quadratic equation \(y^2 - 2y + 3 = 0\) has no real roots, so the inequality does not hold for any integer \(y\). Thus, there are no valid pairs for \(x = -2\).

Combining all the valid pairs, we have:
\[
(0, -1), (0, 0), (0, 1), (1, 0), (1, 1), (-1, 0), (-1, 1)
\]

The final answer is \(\boxed{7}\).